Query To Get Sub Category from giving a Category Name in Ax 2012:

This is how you can get a subcategory from a CategoryId in ax 2012.


    QueryBuildDataSource    qbds,qbds1,qbds2,qbds3;
    QueryBuildRange         qbr1;
    Query                          query;
    SysTableLookup          sysTableLookup;

    ;

    sysTableLookup = SysTableLookup::newParameters(tableNum(trvSharedSubCategory), this);
    sysTableLookup.addLookupField(fieldNum(trvSharedSubCategory,Name));
    query = new Query();
    qbds = query.addDataSource(tableNum(trvSharedSubCategory));
    qbds1 = qbds.addDataSource(tableNum(trvExpSubCategory));
    qbds1.relations(true);
            qbds1.addLink(fieldNum(trvSharedSubCategory,RecId),fieldNum(TrvExpSubCategory,TrvSharedSu    bCategory));
    qbds1.joinMode(JoinMode::InnerJoin);

    qbds2 = qbds1.addDataSource(tableNum(trvCostType));
    qbds2.relations(true);
    qbds2.addLink(fieldNum(TrvExpSubCategory,CostType),fieldNum(trvCostType,CostType));
    qbds2.joinMode(JoinMode::OuterJoin);

    qbds3 = qbds2.addDataSource(tableNum(categoryTable));
    qbds3.relations(true);
    qbds3.addLink(FieldNum(trvCostType,COStType),fieldNum(categoryTable,categoryId));
    qbds3.joinMode(JoinMode::InnerJoin);

    qbds3.addRange(fieldNum(CategoryTable,CategoryId)).value(<CategoryId>);

    sysTableLookup.parmQuery(query);

    sysTableLookup.performFormLookup();



In <CategoryId> you can add category name.



Comments