Abap String Fonksiyonları

SAP Abapta kullanılan bazı string fonksiyonları aşağıdaki gibidir.

STRLEN – Bir string değişkeninin uzunluğunu bulur.
WRITE – Ekrana veya değişkene yazma işlemini yapar.
CONCATENATE – Değişkenleri dışa aktarmadan art arda yapıştırır.
SHIFT – Değişkenin içeriğini sağa ya da sola kaydırır.
CONDENSE – String değişkenin başındaki boşlukları atar.
lv_string+23(12) – lv_string değişkeninin 23 karakterini atlayıp sonraki 12 karakterini al.
SEARCH – Bir string değişkenin içeriğini başka bir değişken için tarama.
REPLACE – Bir stringin içeriğindeki belirli sözcükleri başkaları ile değiştirir.
STRLEN – Bir string değişkenin uzunluğunu döner.

Örneğin;

lv_num1 = STRLEN( lv_string ).
IF STRLEN( lv_string ) GE 5.
WRITE lv_string(5).
ENDIF.

WRITE – Dışa aktarım rutini kullanarak tarihi, belgeyi, vb. ekrana veya değişkene yazar.

Örneğin;

"EKRANA YAZ:

WRITE: lv_matnr, lv_kunnr, sy-datum, lv_belnr.

WRITE: lv_dmbtr CURRENCY lv_waers.

"DEĞİŞKENE YAZ:

WRITE sy-datum TO lv_outstr.

WRITE lv_menge TO lv_out UNIT lv_meins.

CONCATENATE – Değişkenleri dışa aktarım rutini kullanmadan art arda yapıştırır.

Örneğin;

CONCATENATE 'Bu ayki ciromuz' lv_dmbtr 'TL dir.'
INTO lv_outstr
SEPARATED BY space.

SHIFT – Değişkenin içeriğini sağa veya sola kaydırır.

Örneğin;

SHIFT lv_matnr LEFT DELETING LEADING '0'.

CONDENSE – String değişkenin başındaki boşlukları atar.

Örneğin;

CONDENSE lv_outstr.

SEARCH – Bir string değişkenin içeriğini başka bir değişken için tarama, string varsa SY-SUBRC 0 olur, yoksa 4 olur. Stringin içerisinde bulunduğu ilk karakter 0 olmak kaydıyla SY-FDPOS o karakterin bulunduğu sırayı verir.

Örneğin;

SEARCH lv_matnr FOR 'MT'.

CHECK sy-subrc EQ 0 AND sy-fdpos EQ 2.

REPLACE – Bir stringin içeriğindeki belli kelimeleri başkaları ile değiştirir.

WRITE lv_menge TO lv_outstr.
REPLACE ',000' IN lv_outstr WITH ''.
REPLACE ALL OCCURENCES OF 'AB' IN lv_outstr WITH 'BC'.

SPLIT – metinlerde ayırma işlemi gerçekleştirir.

Örneğin;

SPLIT lv_text AT ' ' INTO TABLE it_data.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.