Abap String İşlemleri

sap

Merhaba bu yazımızda SAP Abap string işlemleri üzerine bir şeyler öğreneceğiZ. Bu işlemler ilerleyen süreçlerde her zaman işinize yarayacaktır.

CONCATENATE

Bu Abap’ta iki veya daha fazla değişkeni birleştirmek için kullanılır.


DATA: lv_ad(15)       TYPE c VALUE 'Mustafa'. "(15) -> Max 15 karakterlik bir veri
DATA: lv_soyad(25)    TYPE c VALUE 'ÖZKAN'.   "(25) -> Max 25 karakterlik bir veri
DATA: lv_ad_soyad(40) TYPE c.

"SEPARATED BY ifadesi birleştirme yaparken kullanacağı ayracı belirtir.
"Kullanmazsak arada herhangi bir şey olmadan birleştirme yapar.
CONCATENATE lv_ad lv_soyad INTO lv_ad_soyad SEPARATED BY space.

WRITE:  lv_ad.
WRITE /: lv_soyad.
WRITE /: lv_ad_soyad.

* Program Çıktısı:
*
* Mustafa
* ÖZKAN
* Mustafa ÖZKAN

 

CONDENSE

Bu Abap’ta değişkenlerin içerisinde bulunan boşlukları kaldırmak için kullanılır. Kelimeler arasında sadece bir boşluk bırakır.


DATA: lv_ad_soyad(40) TYPE c VALUE 'Mustafa    ÖZKAN'.

WRITE : lv_ad_soyad.

CONDENSE lv_ad_soyad.
WRITE /: lv_ad_soyad.

"NO-GAPS ifadesi bütün boşlukları kaldırmayı sağlar.
CONDENSE lv_ad_soyad NO-GAPS.
WRITE /: lv_ad_soyad.

* Program Çıktısı:
*
* Mustafa    ÖZKAN
* Mustafa ÖZKAN
* MustafaÖZKAN

 

REPLACE

Bu Abap’ta değişkenler içerisinde belirttiğimiz kelimeleri veya harfleri başka bir şey ile değiştirmek için kullanılır.


DATA: lv_ad_soyad(40) TYPE c VALUE 'Mustafa ÖZKAN'.

"Sadece ilk bulduğunu değiştirir.
REPLACE 'a' WITH 'e' INTO lv_ad_soyad.
WRITE : lv_ad_soyad.

"Bulduğu her şeyi değiştirir.
REPLACE ALL OCCURRENCES OF 'a' IN lv_ad_soyad WITH 'e'.
WRITE /: lv_ad_soyad.

* Program Çıktısı:
*
* Mustefa ÖZKAN
* Mustefe ÖZKAN

 

SEARCH

Bu Abap’ta değişkenler içerisinde arama yapmak için kullanılır. Eğer aradığımız değer bulunursa sistem değişkeni olan sy-subrc 0 olarak geri dönüş yapar. Aradığımız değerin indexi ise sy-fdpos değişkeninde tutulur.


DATA: lv_ad_soyad(40) TYPE c VALUE 'Mustafa ÖZKAN'.

SEARCH lv_ad_soyad FOR 'a'.
if sy-subrc eq 0.
  write : sy-fdpos.
Endif.

*Program Çıktısı:
*
* 4

 

SHIFT

Bu Abap’ta bit bazında sola kaydırma yapar.  Bazı değişkenlerin başında tipinden dolayı 0 olabilir. Bunları silmek için de kullanılır.


DATA: lv_data(10) TYPE c VALUE '0000001000'.

WRITE : lv_data.

SHIFT lv_data.
WRITE /: lv_data.

SHIFT lv_data LEFT DELETING LEADING '0'.
WRITE /: lv_data.

* Program Çıktısı:
*
* 0000001000
* 000001000
* 1000

 

SPLIT

Bir değişken içerisindeki değeri belirttiğimiz ayraca göre parçalara bölmeyi sağlar. Bu parçaları bir tabloda tutabiliriz.


DATA : lv_data TYPE string .
TYPES: BEGIN OF ty_string,
         str(25) TYPE c,
       END OF ty_string.
DATA lt_data TYPE TABLE OF ty_string.
DATA ls_data TYPE ty_string .

lv_data = 'Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliği'.
SPLIT lv_data AT ' ' INTO TABLE lt_data .

LOOP AT lt_data INTO ls_data.
  WRITE :/ ls_data-str.
ENDLOOP.

* Program Çıktısı:
*
* Kocaeli
* Üniversitesi
* Bilişim
* Sistemleri
* Mühendisliği

 

E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

Yazar

Merhaba, Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliği Bölümü'nden 2019 yılında mezun oldum. Daha sonra Sap sektöründe çalışma hayatına başladım. Burada elimden geldiğince tecrübelerimi sizinle paylaşacağım.

İlgili Yazılar

2 yorum

Güzel yazı olmus teknopati.net editorleri

Cevapla
Mustafa ÖZKAN  -  27 Şubat 2020 / 18:55

Teşekkürler

Cevapla

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hızlı yorum için giriş yapın.

Başka Yazı Yok

Kayıt Ol

Zaten üye misiniz? Giriş Yap

Giriş Yap

Henüz üyeliğiniz yok mu? Kayıt Ol