x++ code to Insert Data into Table directly from Query in ax 2012


Hello Guys,the below is the process to insert data into table directly from query.

    TestTable   testTable;
    Query         query;
    QueryBuildDataSource    qbds;
    QueryBuildFieldList     qbdfieldList_customer;
    QueryBuildRange         qbr;
    Map                               fieldMappig;

    delete_from testTable;

    query = new Query();
    qbds = query.addDataSource(tableNum(CustTable));
    qbr = qbds.addRange(fieldNum(CustTable,Currency));
    qbr.value('AUD');

    qbdfieldList_customer = qbds.fields();
    qbdfieldList_customer.addField(fieldNum(CustTable,Currency));
    qbdfieldList_customer.addField(fieldNum(CustTable,AccountNum));
    qbdfieldList_customer.addField(fieldNum(CustTable,CustGroup));
    qbdfieldList_customer.dynamic(QueryFieldListDynamic::No);

    fieldMappig = new Map(Types::String,Types::Container);
    fieldMappig.insert(fieldStr(TestTable,customercurrency),    [qbds.uniqueId(),fieldStr(CustTable,Currency)]);
    fieldMappig.insert(fieldStr(TestTable,customeraccountnum),[qbds.uniqueId(),fieldStr(CustTable,AccountNum)]);
    fieldMappig.insert(fieldStr(TestTable,customerGroup),[qbds.uniqueId(),fieldStr(CustTable,CustGroup)]);

    query::insert_recordset(testTable,fieldMappig,query);

Thanks.



Comments

Popular posts from this blog

x++ code to add hyperlink to a field in D365FO

x++ code to get Vendor Email Address based on Purpose in Dynamics 365 for Operations

x++ code to get Customer Address based on purpose in ax 2012