SAP ABAP - Fonksiyon Modülleri

İşlev modülleri, SAP sisteminin önemli bir bölümünü oluşturur, çünkü SAP, işlev modüllerini kullanarak kodu modüler hale getirmiştir, bu da kodun kendileri, geliştiricileri ve ayrıca müşterileri tarafından yeniden kullanımına izin verir.

İşlev modülleri, parametreleri içe ve dışa aktaran bir dizi yeniden kullanılabilir deyim içeren alt programlardır. Dahil etme programlarının aksine, işlev modülleri bağımsız olarak yürütülebilir. SAP sistemi, herhangi bir ABAP programından çağrılabilen önceden tanımlanmış birkaç işlev modülü içerir. İşlev grubu, mantıksal olarak birbirine ait olacak bir dizi işlev modülü için bir tür kap görevi görür. Örneğin, bir İK bordro sistemi için işlev modülleri bir işlev grubunda bir araya getirilebilir.

İşlev modüllerinin nasıl oluşturulacağına bakmak için, işlev oluşturucunun araştırılması gerekir. İşlev oluşturucuyu SE37 işlem koduyla bulabilirsiniz. İşlev modüllerinin nasıl aranacağını göstermek için bir işlev modülü adının bir kısmını joker karakterle yazmanız yeterlidir. * Miktar * yazın ve ardından F4 tuşuna basın.

Aramanın sonuçları yeni bir pencerede görüntülenecektir. İşlev modülleri mavi arkaplanlı satırlarda ve işlev grupları pembe çizgilerle gösterilir. Nesne Gezgini ekranını (Transaction SE80) kullanarak ISOC işlev grubuna daha fazla bakabilirsiniz. Fonksiyon modüllerinin bir listesini ve ayrıca fonksiyon grubunda tutulan diğer nesneleri görebilirsiniz. SPELL_AMOUNT işlev modülünü ele alalım. Bu işlev modülü, sayısal rakamları kelimelere dönüştürür.

Yeni Bir Program Oluşturmak

Step 1 - SE38 işlemine gidin ve Z_SPELLAMOUNT adında yeni bir program oluşturun.

Step 2- Bir değerin girilebileceği ve işlev modülüne aktarılabileceği bir parametrenin ayarlanabilmesi için bir kod girin. Buradaki metin öğesi text-001 'Bir Değer Girin' yazmaktadır.

Step 3- Bunun kodunu yazmak için CTRL + F6 kullanın. Bundan sonra, listedeki ilk seçeneğin 'ÇAĞRI İŞLEVİ' olduğu bir pencere açılır. Metin kutusuna 'spell_amount' yazın ve devam et düğmesini tıklayın.

Step 4- Bazı kodlar otomatik olarak oluşturulur. Ancak, IF ifadesini ekrana bir mesaj YAZMAK için "İşlev modülü: sy-subrc değerini döndürdü" diyecek ve ELSE ifadesini ekleyerek fonksiyonun doğru sonucu yazacak şekilde geliştirmemiz gerekir. modül başarılı Burada fonksiyon modülünden dönen değeri tutması için yeni bir değişken ayarlanmalıdır, buna 'sonuç' diyelim.

Kod aşağıdadır -

REPORT Z_SPELLAMOUNT. 
data result like SPELL. 

selection-screen begin of line. 
selection-screen comment 1(15) text-001. 

parameter num_1 Type I. 
selection-screen end of line. 
CALL FUNCTION 'SPELL_AMOUNT' 
EXPORTING 
AMOUNT = num_1 
IMPORTING 
IN_WORDS = result. 

IF SY-SUBRC <> 0. 
   Write: 'Value returned is:', SY-SUBRC. 
else. 
   Write: 'Amount in words is:', result-word. 
ENDIF.

Step 5- İşlev modülünün döndürdüğü değişken IN_WORDS olarak adlandırılır. Karşılık gelen değişkeni 'sonuç' adlı programda ayarlayın. SPELL adlı bir yapıya başvurmak için LIKE deyimini kullanarak IN_WORDS'ü tanımlayın.

Step 6- Programı kaydedin, etkinleştirin ve çalıştırın. Aşağıdaki ekran görüntüsünde gösterildiği gibi bir değer girin ve F8 tuşuna basın.

Yukarıdaki kod aşağıdaki çıktıyı üretir -

Spelling the Amount 
Amount in words is: 
FIVE THOUSAND SIX HUNDRED EIGHTY