ABAP programlama sözdiziminde deneyimlere dayanarak bazı örneklerden bahsedeceğim. Örnekler yeni deneyimler sonucu sürekli güncellenecektir.

Fonksiyonlar
Rastgele string değerde şifre oluşturmak için, belirli bir aralıkta integer değeri oluşturmak için ve rastgele string değer oluşturmak için aşağıdaki fonksiyonları kullanabilirsiniz.
NUMBER_CHARS parametresinden uzunluk belirleyebilirsiniz.
DATA: LV_RANDOM_PWD TYPE STRING. CALL FUNCTION 'GENERAL_GET_RANDOM_PWD' EXPORTING NUMBER_CHARS = 17 IMPORTING RANDOM_PWD = LV_RANDOM_PWD.
RANGE parametresinden aralık belirleyebilirsiniz.
DATA: LV_RANDOM TYPE I. CALL FUNCTION 'GENERAL_GET_RANDOM_INT' EXPORTING RANGE = 13 IMPORTING RANDOM = LV_RANDOM.
NUMBER_CHARS parametresinden uzunluğunu belirleyebilirsiniz.
DATA: LV_STRING TYPE STRING. CALL FUNCTION 'GENERAL_GET_RANDOM_STRING' EXPORTING NUMBER_CHARS = 16 IMPORTING RANDOM_STRING = LV_STRING.
Syntax
Sabit bir değişken ile başlangıç değeri belirlemek için CONSTANTS ifadesini kullanabilirsiniz.
CONSTANTS : C_DATE TYPE SY-DATUM VALUE '20201228'.
ALPHA dönüştürme rutininden örnek ile bahsedecek olursak; malzeme numarasının başındaki sıfırları OUT parametresi ile temizleyebilir, IN parametresi ile de değişken uzunluğu kadar boşluk kalan kısımları sıfır ile doldurabilirsiniz.
DATA(LV_MATNR) = '000000000000100000013'. WRITE:/ | { LV_MATNR ALPHA = OUT } |. WRITE:/ | { LV_MATNR ALPHA = IN } |. "Tarih dönüşümlerini ise aşağıdaki gibi kullanabiliriz. DATA: P_DATE TYPE SY-DATUM VALUE '20201228'. WRITE:/ | { P_DATE DATE = ISO } |. WRITE:/ | { P_DATE DATE = USER } |. WRITE:/ | { P_DATE DATE = ENVIRONMENT } |.
String bir ifade içerisindeki karakterleri örneğin; Ç’yi c’ye dönüştürmek için TRANSLATE ifadesini USING ile kullanabilirsiniz.
DATA : LV_CONVERT(70) TYPE C VALUE 'ÇCĞGŞSÖOÜUİIçcğgşsöoüuıi', LV_TEXT VALUE 'Çünkü, sağlam, aşmak.'. TRANSLATE LV_TEXT USING LV_CONVERT.
String bir ifade içerisindeki harflerin büyük veya küçük harf durumunu da değiştirmek için TO UPPER/LOWER CASE ifadelerini kullanabilirsiniz.
TRANSLATE LV_TEXT TO UPPER CASE.
İki veya daha fazla değişkeni birleştirme yöntemi için aşağıda belirtilen söz dizimini kullanabilirsiniz.
DATA(LV_TEXT1) = 'ABAP'. DATA(LV_TEXT2) = 'Programlama'. DATA(LV_SONUC) = | { LV_TEXT1 } { LV_TEXT2 } { SY-SUBRC } |. WRITE:/ LV_SONUC.
ABAP APPEND Statement
ABAP’da APPEND ifadesi, varolan dahili tabloya satır ekler. APPEND ifadesi, satır bilgilerini tabloya eklemek için çalışma alanını kullanır. Verileri ise dahili tablonun son satırından sonra ekler. Çalışma alanı, başlık satırı veya dahili tablo ile aynı yapıya sahip başka satır olabilir.
APPEND [calisma-alani] TO <dahili-tablo>.
Bir tablonun satırlarını diğerine ekleme yöntemi ise aşağıdaki gibidir.
APPEND LINE OF <dahili-tablo1> TO <dahili-tablo2>.
Döngü içerisinde satır satır eklemekten daha fazla performanslıdır. APPEND ifadesinden sonra, SY-TABIX sistem alanı, eklenen son satırın dizinini içerir.
TYPES: BEGIN OF TY_MATERIAL, MATNR TYPE MARA-MATNR, MATKL TYPE MARA-MATKL, END OF TY_MATERIAL. DATA: WA_MATERIAL TYPE TY_MATERIAL, LT_MATERIAL TYPE TABLE OF TY_MATERIAL. WA_MATERIAL-MATNR = '123456789'. WA_MATERIAL-MATKL = 'Test'. APPEND WA_MATERIAL TO LT_MATERIAL. SELECT MATNR, MATKL FROM MARA UP TO 10 ROWS INTO TABLE @DATA(WT_MATERIAL). APPEND LINES OF WT_MATERIAL TO LT_MATERIAL. CLEAR: WA_MATERIAL. LOOP AT LT_MATERIAL INTO WA_MATERIAL. WRITE:/ WA_MATERIAL-MATNR, WA_MATERIAL-MATKL. CLEAR: WA_MATERIAL. ENDLOOP.

Sayısal Fonksiyonlar
NMIN ve NMAX fonksiyonları ile belirtilen değerlerin en büyüğünü veya en küçüğünü değişkene döndürebilirsiniz. Bu fonksiyonlar en fazla 9 değer alabilir.
DATA(LV_MIN) = NMIN( VAL1 = 16 VAL2 = 13 VAL3 = 26 VAL4 = 23 ). DATA(LV_MAX) = NMAX( VAL1 = 16 VAL2 = 13 VAL3 = 26 VAL4 = 23 ). WRITE:/ 'Maximum:', LV_MAX, 'Minimum:', LV_MIN.
ABAP POPUP fonksiyon modülleri yazımı okumak için tıklayabilirsiniz.
Bir Yanıt