Query build extended range example


static void testExtendedQuery(Args _args)
{
    Query                   q   = new Query();
    QueryBuildDataSource    qbds= q.addDataSource(tableNum(UtilElements));
    QueryRun                qr;
    str                     extRange;
    UtilElements            utilElements;

    extRange = strFmt("(((%1.%2=%3) || (%1.%2=%4)) && (%1.%5 LIKE \"%6\"))",
            qbds.name(), fieldStr(UtilElements, recordType),
            enum2int(utilElementType::OutputTool), enum2int(utilElementType::ActionTool), 
            fieldStr(UtilElements, name), 'RetailLabel*');
    
    qbds.addRange(fieldNum(UtilElements, recordType)).value(extRange);

    qr = new QueryRun(q);
    while (qr.next())
    {
        utilElements = qr.get(tableNum(UtilElements));
    }
}
Resulting query:
SELECT * FROM UtilElements(UtilElements_1)
    WHERE (((((UtilElements_1.recordType=2) || (UtilElements_1.recordType=3))
           && (UtilElements_1.name LIKE "RetailLabel*")))

Search

About

DaxOnline.org is free platform that allows you to quickly store and reuse snippets, notes, articles related to Dynamics AX.

Authors are allowed to set their own AdSense units.
Join us.

Blog Tags