AX 2012 Table Lookup - systablelookup/sysmultitablelookup

multi table lookup

public void lookup()
{
    Query query = new Query();
    QueryBuildDataSource qbds1;
    QueryBuildDataSource qbds2;

    SysMultiTableLookup sysTableLookUp; 

    qbds1 = query.addDataSource(tableNum(VendTable));
    qbds1.addRange(fieldNum(VendTable,isMill)).value(SysQuery::value(NoYes::Yes));

    qbds2 = qbds1.addDataSource(tableNum(DirPartyTable));
    qbds2.joinMode(JoinMode::InnerJoin);
    qbds2.addLink(fieldNum(VendTable,Party),fieldNum(DirPartyTable,RecId));
      
    sysTableLookup  = SysMultiTableLookup::newParameters(this, query);
        
    sysTableLookUp.addLookupfield(fieldNum(VendTable,AccountNum),true);
    sysTableLookUp.addLookupfield(fieldNum(DirPartyTable,Name),2); 
    
    sysTableLookUp.performFormLookup();
}

single table lookup

private void LookupFactory(FormStringControl _control)
 {
    Query query = new Query();
    QueryBuildDataSource qbds;

    SysTableLookup sysTableLookUp = SysTableLookup::newParameters(tableNum(VendTable), _control, true);

    qbds = query.addDataSource(tableNum(VendTable));
    qbds.addRange(fieldNum(VendTable,isFactory)).value(SysQuery::value(NoYes::Yes));


    sysTableLookUp.addLookupfield(fieldNum(VendTable,AccountNum),true);
    sysTableLookUp.addLookupMethod(tableMethodStr(VendTable,Name));

    sysTableLookUp.parmQuery(query);
    sysTableLookUp.performFormLookup();
 }

get vendor name

static void lyc_QueryVendName(Args _args)
{
    VendTable vendTable;
    DirPartyTable dirpartyTable;
    Query query = new Query();
    QueryBuildDataSource qbds1;
    QueryBuildDataSource qbds2;
    QueryRun queryRun;
/*
    while select dirpartyTable join vendTable where dirpartyTable.RecId== vendTable.Party && vendTable.AccountNum == "V00325"
    {
        info(strFmt("%1 , %2", vendTable.AccountNum, dirpartyTable.Name));
    }
*/
    qbds1 = query.addDataSource(tableNum(VendTable));
    //qbds1.addRange(fieldNum(VendTable,isMill)).value(SysQuery::value(NoYes::Yes));
    qbds1.addRange(fieldNum(vendTable,AccountNum)).value("V00325");

    qbds2 = qbds1.addDataSource(tableNum(DirPartyTable));
    qbds2.joinMode(JoinMode::InnerJoin);
    qbds2.addLink(fieldNum(VendTable,Party),fieldNum(DirPartyTable,RecId));
    
    queryrun = new QueryRun(query);
    
    while(queryRun.next())
    {
        vendTable = queryRun.get(tableNum(VendTable));
        dirpartyTable = queryRun.get(tableNum(DirPartyTable));
        info(strFmt("%1 , %2", vendTable.AccountNum, dirpartyTable.Name));
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容