Merhaba, Personel Yönetim Sistemini geliştirmeye kaldığımız yerden devam ediyoruz.
Bu yazımda bahsedeceğim konu MODI değişkeni.
IAS’ın kendisinin bir standart olarak oluşturduğu bu değeri standartlara uygun kod yazmak için bilmenizde fayda var.
Neden fayda var?
Çünkü çalıştığınız firmada ekiple ortak bir kod geliştirme ortamına sahipseniz belli standartlara uymak kod anlaşılırlığını artırır. Aynı zamanda firmanıza dışarıdan gelen IAS danışmanları ile doğru kodsal iletişimi kurabilmeniz, sorunların daha çabuk çözülmesini sağlamak için standartlara uygun kod geliştirmekte fayda vardır.
MODI INTEGER bir değişkendir. Görevi formlar arası geçiş yaparken hangi butona bastığımızı geçtiğimiz formda anlamamızı ve buna göre işlem yapmamızı sağlar.
Formumuza bir bakalım.
Şimdi burada Göz ile girdiğimizde farklı işlerin olmasını kalemle girdiğimiz daha farklı ve artı ile girildiğinde bambaşka işlerin olmasını istiyoruz.
İşte hangi tuşa bastığımızı hafızada tutacak olan değişkenimiz MODI dir.
MODI’nin aldığı standart değerler mevcuttur. 3 Değer alır.
Aşağıdaki resimde de bunu görüyoruz.
Şimdi o zaman şunu yapalım.
Öncelikle detay ekranımızı bir görelim.
Şunu yapacağız.
SHOW butonu ile girmek demek sadece verilere bakacağım demektir. Onun için SHOW ile gidersem SAVE butonunun ENABLE’ını false yapalım.
MODI değişkenine her yerden ulaşmak için öncelikle BEFORE metodu içinde tanımlayalım.
OBJECT:
INTEGER MODI;
SELECT *
FROM EDUTESTTABLE
WHERE 1=2
INTO PERSONELBILGISI;
Şimdi SHOW metodu içinde MODI değerini 2 yapacağız.
MODI=2;
IF PERSONELBILGISI_SELECTED == 1 THEN
CALL DIALOG EDUPERSON02;
ENDIF;
Geçiş yaptığımız Diyalogun AFTER kodlarında DISABLE, ENABLE durumlarını kontrol edelim.
IF MODI == 2 THEN
SET SAVE TO DISABLE;
ELSE
SET SAVE TO ENABLE;
ENDIF;
Kodlarla söylediğimiz şey şu MODI değeri 2 gelirse bu SHOW olarak gelmiş demektir. O zaman SAVE butonuna erişimi kapat ama yok öyle değilse o zamanda aç diyoruz.
Bir de diğerlerinin kodlarını yazalım.
MODI=1;
IF PERSONELBILGISI_SELECTED == 1 THEN
CALL DIALOG EDUPERSON02;
ENDIF;
MODI=0;
CALL DIALOG EDUPERSON02;
SELECT * FROM
EDUTESTTABLE WHERE 1=2
INTO PERSONELBILGISI;
Tek tek sayfalarımıza bakalım.
AÇILIŞ
SEARCH
SHOW
CHANGE
NEW
İstediğimiz işlemi yaptığımıza göre bir sonraki yazımda görüşmek üzere.