X++ :19- Insert, Update, Delete Nasıl Kullanılır?
Bu yazıda X++ DataManupulation nasıl yapılır anlatmaya çalışacağım. Veri oluşturma güncelleme ve silme işlemleri ERP için en temel fonksiyonalardır. X++ ile nasıl yapılır bir örnek yapalım. Önceki yazılarımda kullandığım FDBookTable’ı kullanacağım.
class FDDataManupulation
{
public static void main(Args _args)
{
FDBookTable bookTable;
FDBookTable bookTableUp;
;
bookTable.clear(); // TableBuffer’ı temizliyoruz.
bookTable.BookId = “B005″;
bookTable.BookName = “Book 1″;
bookTable.insert(); // Yeni kayıt oluşturma
bookTable.clear();
bookTable.BookId = “B006″;
bookTable.BookName = “Book 2″;
if(bookTable.validateWrite()) // Kodla insert yaptığınızda validasyon çalışmaz bu yüzden koda eklemek gerekiyor.
{
bookTable.insert();
}
// Güncelleme yapalım. Öncelikle güncellemek istediğimiz kaydı seçmeliyiz ve Transaction bloğu oluşturmalıyız. Bunun sebebi eğer güncelleme sırasında bir hata olursa geri alma yapabilmektir.
ttsbegin;
select forupdate bookTableUp
where bookTableUp.BookId == “B006″;
bookTableUp.BookName = “Book 3″;
bookTableUp.update(); // Tek bir satır günceller
ttscommit;
ttsbegin;
while select forupdate bookTableUp
where bookTableUp.BookId == “B006″
{
bookTableUp.updare(); // Yine tek bir satır günceller ama eğer sorgudan daha çok kayıt gelseydi mesela kapak tipine göre filtre verseydim gelen tüm kayıtları güncellerdi.
}
ttscommit;
// Kayıt silme
delete_from
where bookTableUp.BookId == “B006″; En temel kullanımı budur ama Delete metoduyla da silebilirsiniz.
while select forupdate bookTableUp
where bookTableUp.BookId == “B006″
{
bookTableUp.delete(); // Kaydı siler
}
}
}
Bu yazıda temel Insert Update Delete nasıl yapılır anlatmaya çalıştım. Performans açısından bunları doğru yapmak çok önemli. Birde bunları Bulk halinde yapabilmeniz mümkün onları da ayrıca anlatacağım.
Selamlar.
www.fatihdemirci.net
TAGs: X++,Insert,Update,Delete, Azure, Azure DevOps, Microsoft Dynamics 365, MsDyn365FO, MsDyn365CE, MsDyn365