Dynamics AX Blog - Beiträge vom Mai 2012 - Seite 2
AX 2012: Datensätze mit einer bestimmten Dimension ausgeben
08.05.2012Microsoft Dynamics AX (Axapta)
|
AX 2012: ID, LegacyID und Origin
08.05.2012Microsoft Dynamics AX (Axapta)
Ein Must-Read zu dem Thema ist freilich: http://blogs.msdn.com/b/mfp/archive/2011/07/11/the-solution-to-the-element-id-problem.aspx
| ||||||
|
|
|
|
|
|

Der folgende Job listet alle Debitoren auf, bei welchen in der Dimension CustomerGroup der Wert 80 eingetragen ist.
Der interessante Teil des Jobs ist die Methode addDimensionAttributeRange der Klasse SysQuery, da diese sich um das Verknüpfen der benötigten Datenquellen kümmert.
{
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
QueryRun queryRun;
CustTable custTable;
query = new Query();
queryBuildDataSource = query.addDataSource(tableNum(CustTable));
queryBuildRange = SysQuery::addDimensionAttributeRange( query,
queryBuildDataSource.name(),
"DefaultDimension",
DimensionComponent::DimensionAttribute,
queryValue("80"),
"CustomerGroup");
queryRun = new QueryRun(query);
while(queryRun.next())
{
custTable = queryRun.get(tableNum(CustTable));
info(custTable.name());
}
}
Die Klasse SysQuery stellt übrigens zahlreiche weitere ähnliche Funktionen zur Verfügung, um mit Dimensionswerten zu arbeiten.