Cumartesi , 19 Ağustos 2017

Sap Abap Egitimi – Case Komutu kullanimi

|Bu Yazi 218 Defa Okundu.|

Merhaba arkadaşlar bu makalemde sizlere Sap Abap Egitimi – Case Komutu kullanimi konusundan bahsedeceğim. Öncelikle case diğer programlama dillerinde olduğu gibi ABAP programala dilinde de aynı şekilde kullanılır. CASE içerisine bir değişken verilir ve bu değişkenin değerine göre WHEN ‘  ile kontrol edilir. Değer doğru ise WHEN içerisindeki kodlar çalışır doğru değil ise bir sonraki WHEN satırına gider.

Şimdi ABAP dilinde CASE kullanarak dört işlem yapan küçük bir programcık yapacağız. Öncelikle değişkenlerimizi tanımlayarak işlemlere başlayalım. ( Değişken tanımlamayı bilmiyorsanız DEĞİŞKEN TANIMLAMA makaleme göz atabilirsiniz.)

DATA  :   sayi1 TYPE i DEFAULT 10,
                     sayi2 TYPE i DEFAULT 20,
                     islem TYPE i DEFAULT 1.
                     sonuc TYPE i.

Yukarıda gördüğünüz gibi gerekli olan değişkenlerimizi tanımladık. Bu arada işlem değişkeni ile işlem türünü seçeceğiz. Türüne göre de işlemi yaptıracağız , toplama , çıkarma , çarpma , bölme gibi.

CASE yazarak iki kere TAB tuşuna basıyoruz ve abap dili bizim için otomatik bir CASE yapısı oluşturuyor. Şimdi bu CASE yapısını isteğimize göre düzenliyoruz.

CASE islem.
  WHEN 1.
    sonuc = sayi1 + sayi2.
    WRITE: ‘Toplam : ‘ , sonuc.
  WHEN 2.
    IF sayi2 > sayi1.
      WRITE: ‘ İkinci sayı birinci sayıdan büyük olamaz.’.
      EXIT.
    ENDIF.
    sonuc = sayi1 – sayi2.
    WRITE: ‘Fark : ‘ , sonuc.
  WHEN 3.
    sonuc = sayi1 * sayi2.
    WRITE: ‘Çarpım : ‘ , sonuc.
  WHEN 4.
    sonuc = sayi1 / sayi2.
    WRITE: ‘Bölüm : ‘ , sonuc.
  WHEN OTHERS.
    NEW-LINE.
    WRITE: ‘Lütfen Doğru işlem türü seçiniz.’.
ENDCASE.

Yukarıdaki kodda islem i CASE  de sürekli kontrol ettiriyoruz.  islem 1 olduğunda toplama işlemi , 2 olduğunda çıkarma işlemi 3 olduğunda çarpma işlemi ve 4 olduğunda da bölme işlemini yaptırıyoruz. İşlemi yaptırdıktan sonra hemen bir alt satırda işlemin sonucunu ekrana yazdırıyoruz. Bir sonraki makalemde görüşmek üzere.

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*