query::insert_recordset nasıl kullanılır?
Merhaba,
Bu yazıda X++ da sık kullandığımız toplu SQL işlemlerinden biri olan Insert_RecordSet fonksiyonunu Query ile nasıl kullanırız bir örnekle anlatmaya çalışacağım.
DmrBillsIncomingHeader tablosunda bulunan tüm kayıtların iki alanını DmrBillsIncominTest tablosuna insert etmek istiyorum. Bir Query oluşturmalı ve DmrBillsIncomingHeader tablosunu sorgulamalıyım.
Ayrıca hangi alanları insert etmek istiyorsam onları Map kullanarak işaretlemeliyim. Klasik yöntemle aşağıdaki gibi yazmalıydım.
insert_recordset billsIncominTest (BillsIncomingId, Description ) select BillsIncomingId, Description from DmrBillsIncomingHeader ;
Şimdi bunu Query ile yazalım.
internal final class DmrFDJobQueryInsertRecordList { public static void main(Args _args) { DmrBillsIncominTest billsIncominTest; Map fieldMap; Query q; QueryBuildDataSource qbdsBillsIncomingHeader; QueryBuildFieldList flBills; delete_from billsIncominTest; q = new Query(); qbdsBillsIncomingHeader = q.addDataSource(tableNum(DmrBillsIncomingHeader)); flBills = qbdsBillsIncomingHeader.fields(); flBills.addField(fieldNum(DmrBillsIncomingHeader, BillsIncomingId)); flBills.addField(fieldNum(DmrBillsIncomingHeader, Description)); fieldMap = new Map(Types::String, Types::Container); fieldMap.insert( fieldStr(DmrBillsIncominTest, BillsIncomingId), [qbdsBillsIncomingHeader.uniqueId(), fieldStr(DmrBillsIncomingHeader, BillsIncomingId)]); fieldMap.insert(fieldStr(DmrBillsIncominTest, Description), [qbdsBillsIncomingHeader.uniqueId(), fieldStr(DmrBillsIncomingHeader, Description)]); query::insert_recordset(billsIncominTest, fieldMap, q); } }
Selamlar.
www.fatihdemirci.net
TAGs: Dynamics 365 Finance and Operations, MsDyn365FO,insert_recordset , Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365, Dynamics 365 ERP, X++