Merhabalar,
Değiştirilebilir hücrelerin olduğu bir ALV de, ekrana girilen değerler uygun mu değil mi diye kontrol etmek için CHECK_CHANGED_DATA metodu ile kullanacağımız bir parametre mevcut, E_VALID parametresi.
Örneğin, sayı alanına text girip bir butona basarsanız ALV otomatik olarak size hata loglarının olduğu bir popup çıkaracaktır. Fakat PAI metodları çalışmaya devam edecektir. Yani sizin koyduğunuz bir butonun arkasında bir PERFORM mevcut ise, hataya rağmen çalışacaktır. Bunu engellemek için ekranda butona basıldıktan sonra, değiştirilebilir hücrelerde ki değerleri almak için kullandığımız CHECK_CHANGED_DATA metodundan bir parametre daha alıyoruz. IS_VALID parametresi.
Eğer ALV de ki değerler uygun ise, size X değilse boş döndürecektir. Örnek olarak;
******************************************************
DATA : lv_valid .
CLEAR lv_valid .
CALL METHOD alv_grid->check_changed_data
IMPORTING
e_valid = lv_valid.
** giriş geçerli ise
IF lv_valid = 'X' .
ENDIF .
******************************************************
Uğur Özdemir'euradan 100 puan veriyoruz, zira birde ALV classının içinde IS_VALID var ki tek başına niye çalışmıyor diye tüm günümü yedi. CHECK_CHANGED_DATA'da ki E_VALID imdadıma yetişti.
Ayrıca buradan kodları çalıp kendi sitesinde kendi yapmış gibi gösteren, sonra çıkıp "buradan çalıp başka yerlerde kullanıyorlar" diyen kişiler; dombilidir , taocudur, ver kurtulcudur, öyledir böyledir, atari salonlarında ki "ver gülüm geçiyim daha çok oynarsın" diyenlerdendir, çocukların topunu kesen amca ruhludur.
2 yorum:
Lütfen türkçemizi güzel kullanalım "validasyon" diye bir kelime var mı Allah aşkına?
kelime türkçe değil.
bu tip kelimeler
"text girme, button a basma" tarzı kelimeler blogda bol bol bulunmakta,
bu kelimelerin zaten türkçeyi yozlaştırma gibi bir durumu olamaz :)
sadece hızlı yazımdan kaynaklı, kelimenin türkçesinin anlık akla gelmemesi sebebiyle, "fransızca telaffuzu yazayım " diye yazılan şeyler.
Zaten aynı şekilde bir çok kelime türkçeye geçmiştir neyse bakalım :=)
Eleştiriyi dikkate alıyoruz tabiki.
Yorum Gönder