8 Eylül 2014 Pazartesi

Axapta Insert, Delete, Update İşlemleri

Dynamics Ax üzerinde tablolardaki verilere bazen kod üzerinden ekleme(insert), silme(delete), güncelleme(update) gibi işlemler yapmak gerekir. Bunun için X++ dilinde bazı yapılar mevcut bu yapılardan biraz bahsetmeye çalışacağım.
Bu işlemleri job,class, form, datasource, tablo method gibi bir çok yerde kullanabilirsiniz. Her işlem methodunun birde do yazılarak kullanılabilir hali(doinsert(),dodetele(),doupdate() gibi) mevcuttur. Do ile kullanılan işlemler de bir sonraki işlem tetiklenmez. Yani bazı durumlarda bir tabloya bir kayıt eklendiğinde onun tetiklenmesiyle başka tablolara da kayıtlar atılabilecek bir yapı olabilir veya tablo altındaki insert methodu override edilerek altına başka bir işlem eklenmiş olabilir. DoInsert ile yapılan işlemde bu işlemler gerçekleştirilmeyecektir.

**Bu işlemleri yaparken direk veriye müdahele edileceğinden dikkatli olmak gereklidir. Dikkat edilmediği taktirde Axapta üzerindeki canlı datada sorunlara yol açabilir. Ayrıca Do methodları bilinçli kullanılmadığı durumlarda veri tutarsızlığına yol açabilirler.
Bu işlemler yapılırken mutlaka transactions( ttsBegin – ttsCommit) arasına yazılmalıdır.
İnsert işlemi;
Tablolara kayıt eklemek için insert methodu kullanılır. Alanlara istenilen değerler atandıktan sonra insert methodu ile işlem tamamlanır.
?
1
2
3
4
5
6
7
8
ttsBegin;
 
tabloAdi.alanAdi1 = atanacakDeger1;
tabloAdi.alanAdi2 = atanacakDeger2;
tabloAdi.alanAdi3 = atanacakDeger3;
tabloAdi.insert();
 
ttsCommit;
Örn :
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static void TestTableInsert(Args _args)
{
    CustTable  custTable;
 
    ttsBegin;
 
    custTable.AccountNum = "M000025";
    custTable.Currency   = "TL";
    custTable.CustGroup  = "01";
    custTable.InvoiceAddress = InvoiceOrderAccount::InvoiceAccount;
    custTable.insert();
 
    ttsCommit;
}

Hiç yorum yok:

Yorum Gönder