SAP ABAP - подпрограммы
Подпрограмма - это многократно используемый фрагмент кода. Это модуль модуляризации в программе, в котором функция инкапсулируется в виде исходного кода. Вы переносите часть программы в подпрограмму, чтобы получить лучший обзор основной программы и многократно использовать соответствующую последовательность операторов, как показано на следующей диаграмме.
У нас есть программа X с 3 разными source code blocks. Каждый блок имеет одинаковые операторы ABAP. По сути, это одни и те же блоки кода. Чтобы упростить поддержку этого кода, мы можем инкапсулировать код в подпрограмму. Мы можем вызывать эту подпрограмму в наших программах сколько угодно раз. Подпрограмму можно определить с помощью операторов Form и EndForm.
Ниже приводится общий синтаксис определения подпрограммы.
FORM <subroutine_name>.
<statements>
ENDFORM.
Мы можем вызвать подпрограмму с помощью оператора PERFORM. Управление переходит к первому исполняемому оператору в подпрограмме <subroutine_name>. Когда встречается ENDFORM, управление возвращается к оператору, следующему за оператором PERFORM.
пример
Step 1- Перейти к транзакции SE80. Откройте существующую программу и щелкните программу правой кнопкой мыши. В данном случае это «ZSUBTEST».
Step 2- Выберите «Создать», а затем выберите «Подпрограмма». Напишите имя подпрограммы в поле и нажмите кнопку «Продолжить». Имя подпрограммы - «Sub_Display», как показано на следующем снимке экрана.
Step 3- Напишите код в блоке операторов FORM и ENDFORM. Подпрограмма успешно создана.
Нам нужно включить оператор PERFORM для вызова подпрограммы. Давайте посмотрим на код -
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- Сохранить, активировать и запустить программу. Приведенный выше код дает следующий вывод -
Subroutine Test:
This is Subroutine
Subroutine created successfully
Следовательно, использование подпрограмм делает вашу программу более функционально-ориентированной. Он разделяет задачу программы на подфункции, так что каждая подпрограмма отвечает за одну подфункцию. Ваша программа становится проще в обслуживании, поскольку изменения функций часто приходится вносить только в подпрограмму.