SAP ABAP - podprogramy
Podprogram jest sekcją kodu wielokrotnego użytku. Jest to jednostka modularyzacji w programie, w której funkcja jest hermetyzowana w postaci kodu źródłowego. Przekierowujesz część programu do podprogramu, aby uzyskać lepszy przegląd programu głównego i użyć odpowiedniej sekwencji instrukcji wiele razy, jak pokazano na poniższym diagramie.
Mamy program X z 3 różnymi source code blocks. Każdy blok zawiera te same instrukcje ABAP. Zasadniczo są to te same bloki kodu. Aby ułatwić obsługę tego kodu, możemy zamknąć go w podprocedurze. Możemy wywoływać ten podprogram w naszych programach tyle razy, ile chcemy. Podprogram można zdefiniować za pomocą instrukcji Form i EndForm.
Poniżej znajduje się ogólna składnia definicji podprogramu.
FORM <subroutine_name>.
<statements>
ENDFORM.
Możemy wywołać podprogram za pomocą instrukcji PERFORM. Sterowanie przechodzi do pierwszej instrukcji wykonywalnej w podprogramie <nazwa_programu>. Po napotkaniu ENDFORM sterowanie przeskakuje z powrotem do instrukcji następującej po instrukcji PERFORM.
Przykład
Step 1- Przejdź do transakcji SE80. Otwórz istniejący program, a następnie kliknij program prawym przyciskiem myszy. W tym przypadku jest to „ZSUBTEST”.
Step 2- Wybierz opcję Utwórz, a następnie wybierz opcję Podprogram. Wpisz nazwę podprogramu w polu, a następnie kliknij przycisk kontynuuj. Nazwa podprogramu to „Sub_Display”, jak pokazano na poniższym zrzucie ekranu.
Step 3- Wpisz kod w bloku instrukcji FORM i ENDFORM. Podprogram został pomyślnie utworzony.
Musimy dołączyć instrukcję PERFORM, aby wywołać podprogram. Rzućmy okiem na kod -
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- Zapisz, aktywuj i uruchom program. Powyższy kod daje następujące dane wyjściowe -
Subroutine Test:
This is Subroutine
Subroutine created successfully
W związku z tym używanie podprogramów sprawia, że program jest bardziej zorientowany na funkcje. Dzieli zadanie programu na pod-funkcje, tak że każdy podprogram jest odpowiedzialny za jedną podfunkcję. Twój program staje się łatwiejszy w utrzymaniu, ponieważ zmiany funkcji często muszą być wprowadzane tylko w podprogramie.