Thursday, July 2, 2009

AX: Example using "intertable" relations

Query q = new Query();
QueryBuildDataSource qbr1, qbr2, qbr3;
;
qbr1 = q.addDataSource(tablenum(ProjCategory));
qbr1.orderMode(OrderMode::GroupBy);
qbr1.addSortField(fieldNum(ProjCategory,CategoryId));
...
qbr2 = qbr1.addDataSource(tableNum(ProjValEmplCategorySetUp),
'ProjValEmplCategorySetUp1');
qbr2.addRange(fieldNum(ProjValEmplCategorySetUp,CategoryId)).value(
strFmt('(%1) (%2)',fieldStr(ProjValEmplCategorySetUp,CategoryId),
fieldStr(ProjValEmplCategorySetUp,groupId)));
qbr3 = qbr2.addDataSource(tableNum(ProjValEmplCategorySetUp),
'ProjValEmplCategorySetUp2');
qbr3.addRange(fieldNum(ProjValEmplCategorySetUp,CategoryId)).value(
strFmt('(%1 == %4.%3) && (((%1 == %5.%1) && (%1)) ((%2 == %5.%2) && (%2)))',
fieldStr(ProjValEmplCategorySetUp,CategoryId),
fieldStr(ProjValEmplCategorySetUp,GroupId),
fieldStr(ProjCategory,CategoryId),
qbr1.name(),
qbr2.name()));

No comments:

Post a Comment