Um in einem Query nach einer Finanzdimension sortieren zu können, ist die Methode SysQuery::addOrderByDimensionAttribute() zu verwenden.
Das folgende Beispiel soll dies veranschaulichen. In diesem Job werden alle Debitoren ausgegeben und dabei nach der Dimension CostCenter sortiert.
static void sortByDimension(Args _args) { Query query; QueryRun queryRun; QueryBuildDataSource qbds; CustTable custTable; DimensionComponent dimensionComponent; DimensionValue dimensionValue; #define.CostCenterDimensionName("CostCenter"); query = new Query(); qbds = query.addDataSource(tableNum(CustTable)); SysQuery::addOrderByDimensionAttribute(query, qbds.name(), fieldId2name(tableNum(CustTable), fieldNum(CustTable, DefaultDimension)), DimensionComponent::DimensionAttribute, SortOrder::Ascending, #CostCenterDimensionName); queryRun = new QueryRun(query); while(queryRun.next()) { custTable = queryRun.get(tableNum(CustTable)); // Get dimension value dimensionValue = (select firstonly DisplayValue from defaultDimensionView where defaultDimensionView.Name == #CostCenterDimensionName && defaultDimensionView.DefaultDimension == custTable.DefaultDimension).DisplayValue; info(strFmt("%1 %2", custTable.AccountNum, dimensionValue)); } }
Um in einem Query nach einer Finanzdimension sortieren zu können, ist die Methode SysQuery::addOrderByDimensionAttribute() zu verwenden.
Das folgende Beispiel soll dies veranschaulichen. In diesem Job werden alle Debitoren ausgegeben und dabei nach der Dimension CostCenter sortiert.