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;
}