Nis 13, 2014 - Tablolar (Tables)    Yorum Yok

Tablolara Delete Action Ekleme

Delete Actionların amacı birbirine bağlı tablolarda ana tablodan veri silindiğinde ona bağlı detay tablodaki satırların gereksiz yere kalması veya detay satırların silinmeden ana veri tablosundan kayıt silmenin engellemesidir. Bu şekilde artık(gereksiz) veri kalmaması hedeflenir.

3 tane Delete Action Tipi vardır;

-          Cascade
-          Restricted
-          Cascade+Restricted

Cascade :

Ana tablodan form veya kod yoluyla(X++) veri silindiğinde ona bağlı detay tablosundaki satırlarda otomatik olarak silinir.

Restricted :

Ana tablodan bir veri silinebilmesi için detay tabloda hiçbir satır olmaması gereklidir. Eğer detay tablonun satırlarında bağlı bir veri varsa sistem ana veriyi silmeye izin vermeyecek ve hata mesajı verecektir. Ancak bu durum sadece form üzerinden yapıldığında bu şekilde çalışır. Eğer kodla(X++) bir silme işlemi yaparsanız detay veri kontrolü yapmadan ana veri satırını silecektir ve detay tablodaki satırlar kalacaktır. Ancak bu kontrolü validateDelete() metoduyla yapabilirsiniz. Kodla silme işlemi yaparken delete() metodundan önce validateDelete() metodunu kontrol edersiniz size detay tabloda satır olup olmadığı bilgisini dönecektir.

Cascade+Restricted :

Form üzerinden veri silerken çalışma mantığı Restricted gibidir. Ana tabloya bağlı detay tablo satırlarda veri varsa silmez ve hata fırlatır. Restricted farkı ise kod üzerinden veri silerken ortaya çıkar. Kodla veri silerkende Cascade gibi davranarak Ana tabloya bağlı detay tablodaki satırları hata vermeden siler sonrada ana tablodaki veri satırını silerek işlemi sonlandırır.

Tabloya Delete Action eklemek için ise

- AOT yapısından (CTRL + D) Data Dictionary kısmından tablo düğümü açılır.
- Delete Action kısmına sağ tuş yapılarak New DeleteAction seçilir.
- İlişkili tablo seçilir.
- Delete Action tipi seçilerek kaydedilir ve işlem tamamlanmış olur.

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

Yorum Yazın...