How to Execute a Modelled Query
In AX in the AOT there is a Queries node. Within the Queries node are many different queries used primarily by services, reports, and list pages. The queries are modelled queries becaues they have been defined/designed previously and are now saved in the AOT. They are not dynamically built and executed at run-time. The modelled queries differ from a table in that you cannot right-click on them in the AOT, choose Open and have AX execute and return the results of the query. Instead, you can call them programmatically to see their results. Below is an example of how to execute a modelled query to see what it is returning. In my example I will execute the Cust query and retrieve the CustTrans and CustTable records.
static
void executingAModelledQuery(Args _args)
{
QueryRun queryRun;
CustTable custTable;
CustTrans custTrans;
queryRun = new QueryRun(queryStr(Cust));
while(queryRun.next())
{
custTable = queryRun.get(tableNum(CustTable));
custTrans = queryRun.get(tableNum(CustTrans));
print custTable.RecId;
print custTrans.RecId;
}
pause;
}
Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.
Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.