SAP ABAP - Alt programlar

Bir alt program, kodun yeniden kullanılabilir bir bölümüdür. Program içerisinde bir fonksiyonun kaynak kodu biçiminde kapsüllendiği bir modülerleştirme birimidir. Ana programa daha iyi bir genel bakış elde etmek ve aşağıdaki diyagramda gösterildiği gibi karşılık gelen ifade dizisini birçok kez kullanmak için bir programın bir bölümünü bir alt yordama sayfalandırırsınız.

X programımız var 3 farklı source code blocks. Her blok aynı ABAP ifadelerine sahiptir. Temelde aynı kod bloklarıdır. Bu kodun bakımını kolaylaştırmak için, kodu bir alt yordamda kapsülleyebiliriz. Programlarımızda bu alt rutini dilediğimiz kadar çağırabiliriz. Bir alt rutin, Form ve EndForm ifadeleri kullanılarak tanımlanabilir.

Aşağıda, bir alt rutin tanımının genel sözdizimi verilmiştir.

FORM <subroutine_name>.
  
<statements> 
  
ENDFORM.

PERFORM deyimini kullanarak bir alt yordamı çağırabiliriz. Denetim, <altprogram_adı> alt yordamındaki ilk çalıştırılabilir ifadeye atlar. ENDFORM ile karşılaşıldığında, denetim PERFORM ifadesini izleyen ifadeye geri döner.

Misal

Step 1- SE80 işlemine gidin. Mevcut programı açın ve ardından programa sağ tıklayın. Bu durumda, "ZSUBTEST" dir.

Step 2- Oluştur'u ve ardından Alt Rutin'i seçin. Alana alt yordam adını yazın ve ardından devam düğmesine tıklayın. Aşağıdaki ekran görüntüsünde gösterildiği gibi alt yordam adı 'Sub_Display'dir.

Step 3- Kodu FORM ve ENDFORM ifade bloğuna yazın. Alt rutin başarıyla oluşturuldu.

Alt rutini çağırmak için PERFORM ifadesini eklememiz gerekir. Koda bir göz atalım -

REPORT ZSUBTEST. 
PERFORM Sub_Display.

* Form Sub_Display 
* -->  p1 text 
* <--  p2 text 
 
FORM Sub_Display. 
Write: 'This is Subroutine'. 
Write: / 'Subroutine created successfully'. 
ENDFORM.                    " Sub_Display

Step 4- Programı kaydedin, etkinleştirin ve çalıştırın. Yukarıdaki kod aşağıdaki çıktıyı üretir -

Subroutine Test:
   
This is Subroutine
  
Subroutine created successfully

Bu nedenle, alt yordamları kullanmak, programınızı daha işlev odaklı hale getirir. Programın görevini alt işlevlere böler, böylece her alt yordam bir alt işlevden sorumludur. İşlevlerdeki değişikliklerin genellikle yalnızca alt programda uygulanması gerektiğinden, programınızın bakımı daha kolay hale gelir.