Uzun bir aradan sonra bir ABAP raporu ile tekrar buradayım. Bu raporumuzda malzeme ana verisinde malzeme sınıfı altında girilen karakteristik değerlerini bir rapor şeklinde kullanıcıya göstermeye çalışacağız.
Yukarıdaki ekranlarda da görüldüğü üzere malzeme ana verisinde girilen karakteristikleri malzemelerde toplu görmek için malzemeleri dolaşmak bir problemdir. Bu soruna çözüm olarak aşağıdaki girdiyi alan;
Sonuç olarak aşağıdaki şekilde çıktı veren raporu yazacağız.
İlk adım olarak raporumuzda kullanacağımız değişkenleri ve tanımlamaları yapalım.
Tanımlamaları yaptıktan sonra kullanıcıdan alacağımız parametre tanımlarını yapalım.
Burada START-OF-SELECTION kısmında malzeme numarası veya mal gruplarından birinin doldurulması şartını sorguluyoruz. İkisi de boş ise CHECK ile işlem iptal edilmektedir.
Daha sonra aşağıdaki sorgu ile gerekli veriler sorgulanarak GT_METADATAS tablosuna aktarılıyor.
Sorgulama sonucunda karakteristik değerin ölçü birimi tanımını almak için T006A tablosuna gidilmektedir. Ancak bütün karakteristik değerlerin ölçü birimi olmadığından LEFT JOIN ile bağlamak gerekiyor. LEFT JOIN kuralı gereği sadece bir dile ait tanımı getir dile şart verilemediğinden 17. satırda dil tanımı boş olmayan ve kullanıcının giriş yaptığı dil dışındaki tanımlamaları GT_METADATAS tablosundan siliyoruz.
Verileri aldıktan sonra numerik değer 1,2000000000000000E+00 şeklinde bilimsel gösterimde olduğundan öncelikle bu değerlerin kullanıcının okuyabileceği 12.,00 gibi değerlere dönüştürülmesi gerekmektedir. Bu işlem için FLTP_CHAR_CONVERSION fonksiyonunu kullanıyoruz. Fonksiyonda yer alan DECIM parametresi virgülden sonra kaç karakter olacağını belirtiyor.
Bu işlemlerden sonra verileri ekrana gösteriyoruz. Bu işlem için aşağıdaki kodu kullanıyoruz.
IT_SORT tablosuna eklenen alanlar ile gösterilecek ALV’de var sayılan olarak neye göre sıralanacağını söylüyoruz.
SET_FCAT fonksiyonunda kullandığımız FCATROW-TECH = ‘X’. satırı ile ilgili alanın gösterilmeyeceğini söylüyoruz.
Kodun tamamına aşağıdaki linkten ulaşabilirsiniz.
https://github.com/saitorhan/ABAPRapor/blob/main/ZMalzemeKarakteristik.abap
SAP ABAP/4 Programlama Eğitimi
ABAP eğitimine tanımlı indirimli kuponları otomatik tanımlayacak şekilde kaydolmak için sağdaki resme veya aşağıdaki linke tıklayabilirsiniz.
https://saitorhan.com/abap.php