Abap String Fonksiyonları

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;
WRITE lv_dmbtr TO lv_outstr CURRENCY lv_waers.

CONDENSE lv_outstr.
lv_string+23(12)
lv_string değişkeninin 23 karakterini atlayıp sonraki 12 karakterini al.


WRITE: lv_string+23(12),
sy-datum+4(2).
CHECK lv_matnr(1) EQ 'M'.

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'.

Mehdi Kapsal

Bilgisayar Mühendisi

Sence de böyle mi?

%d blogcu bunu beğendi: