Axguru_DYNAMICS365
// method for inserting data into test table with insert recordset private void insertDataintoTestTable() { Testtable table; Query query = new Query(queryStr(TestQuery)); QueryBuildDataSource qbds; QueryBuildFieldList qbdsFldList; Map fieldMapping = new Map(Types::String, Types::Container); // clearing all fields in query query.clearAllFields(); // getting the Inventtable datasource qbds = query.dataSourceTable(tableNum(InventTable)); // setting the property for selecting the required fields qbdsFldList = qbds.fields(); qbdsFldList.clearFieldList(); qbdsFldList.dynamic(QueryFieldListDynamic::No); // adding the fields to list qbdsFldList.addField(fieldNum(InventTable,ItemId)); qbdsFldList.addField(fieldNum(InventTable,CostGroupId)); qbdsFldList.addField(fieldNum(InventTable,BOMUnitId)); // getting the Custtable datasource qbds = query.dataSourceTable(tableNum(Custtable)); // setting the property for selecting the required fields qbdsFldList = qbds.fields(); qbdsFldList.clearFieldList(); qbdsFldList.dynamic(QueryFieldListDynamic::No); // adding the fields to list qbdsFldList.addField(fieldNum(Custtable,AccountNum)); qbdsFldList.addField(fieldNum(Custtable,CustGroup)); // map the query fields to table fields fieldMapping.insert(fieldStr(Testtable,ItemId),[qbds.uniqueId(),fieldStr(InventTable,ItemId)]); fieldMapping.insert(fieldStr(Testtable,CostGroupId),[qbds.uniqueId(),fieldStr(InventTable,CostGroupId)]); fieldMapping.insert(fieldStr(Testtable,BOMUnitId),[qbds.uniqueId(),fieldStr(InventTable,BOMUnitId)]); fieldMapping.insert(fieldStr(Testtable,AccountNum),[qbds.uniqueId(),fieldStr(Custtable,AccountNum)]); fieldMapping.insert(fieldStr(Testtable,CustGroup),[qbds.uniqueId(),fieldStr(Custtable,CustGroup)]); // add ranges to the query query.dataSourceTable(tableNum(InventTable)).addRange(fieldNum(InventTable, ItemId)).value('A0001'); // reqiures three arguments described above ttsbegin; Query::insert_recordset(table,fieldMapping,query); ttscommit; }