Below is an example for how to create a x++ query in AX.
Static void TestQuery(Args _Args)
{
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildDataSource queryBuildDataSource1;
QueryBuildRange queryBuildRange;
QueryRun queryRun;
CustTable custTable;
DirPartyTable DirPartyTable;
;
query=new query(); //Initialize Query
queryBuildDataSource=query.addDataSource(tableNum(CustTable)); //Add Query
queryBuildDataSource.addSortField(fieldNum(custTable,AccountNum),SortOrder::Descending); //Add sorting
queryBuildRange=queryBuildDataSource.addRange(fieldNum(CustTable,AccountNum)); // Add Range
queryBuildRange.value(queryValue('11')+('*')); // Add Query Value
queryBuildRange=queryBuildDataSource.addRange(FieldNum(CustTable,AccountNum));
queryBuildRange.value(queryValue('22')+('*'));
//queryBuildDataSource1=queryBuildDataSource.addDataSource(tableNum(CustTrans)); //Add other Data Source for Joining
//queryBuildDataSource1.relations(true);// Enable Relation
// queryBuildDataSource1.joinMode(JoinMode::InnerJoin);//Define Join Mode
queryRun= new QueryRun(query); //Pass query to run it
while(queryRun.next())
{
custTable=queryRun.get(tableNum(CustTable));
print(strFmt("Customer Name, Account num and Currency are %1 , %2 and %3",DirPartyTable::findRec(CustTable.Party).Name,CustTable.AccountNum,CustTable.Currency));
pause;
}
}
Static void TestQuery(Args _Args)
{
Query query;
QueryBuildDataSource queryBuildDataSource;
QueryBuildDataSource queryBuildDataSource1;
QueryBuildRange queryBuildRange;
QueryRun queryRun;
CustTable custTable;
DirPartyTable DirPartyTable;
;
query=new query(); //Initialize Query
queryBuildDataSource=query.addDataSource(tableNum(CustTable)); //Add Query
queryBuildDataSource.addSortField(fieldNum(custTable,AccountNum),SortOrder::Descending); //Add sorting
queryBuildRange=queryBuildDataSource.addRange(fieldNum(CustTable,AccountNum)); // Add Range
queryBuildRange.value(queryValue('11')+('*')); // Add Query Value
queryBuildRange=queryBuildDataSource.addRange(FieldNum(CustTable,AccountNum));
queryBuildRange.value(queryValue('22')+('*'));
//queryBuildDataSource1=queryBuildDataSource.addDataSource(tableNum(CustTrans)); //Add other Data Source for Joining
//queryBuildDataSource1.relations(true);// Enable Relation
// queryBuildDataSource1.joinMode(JoinMode::InnerJoin);//Define Join Mode
queryRun= new QueryRun(query); //Pass query to run it
while(queryRun.next())
{
custTable=queryRun.get(tableNum(CustTable));
print(strFmt("Customer Name, Account num and Currency are %1 , %2 and %3",DirPartyTable::findRec(CustTable.Party).Name,CustTable.AccountNum,CustTable.Currency));
pause;
}
}
Hi! Thanks for the great information you havr provided! You have touched on crucuial points!
ReplyDeleteon the site pozyczki-24.pl