Учебники

SAP ABAP — подпрограммы

Подпрограмма — это многократно используемый раздел кода. Это модуль модуляризации в программе, где функция инкапсулирована в виде исходного кода. Вы выводите часть программы в подпрограмму, чтобы получить более полное представление об основной программе и многократно использовать соответствующую последовательность операторов, как показано на следующей диаграмме.

Подпрограмма многоразового использования

У нас есть программа X с 3 различными блоками исходного кода . Каждый блок имеет одинаковые операторы ABAP. По сути, это одни и те же блоки кода. Чтобы облегчить поддержку этого кода, мы можем инкапсулировать код в подпрограмму. Мы можем вызывать эту подпрограмму в наших программах столько раз, сколько пожелаем. Подпрограмма может быть определена с помощью операторов Form и EndForm.

Ниже приводится общий синтаксис определения подпрограммы.

FORM <subroutine_name>.
  
<statements> 
  
ENDFORM.

Мы можем вызвать подпрограмму с помощью оператора PERFORM. Элемент управления переходит к первому исполняемому оператору в подпрограмме <имя-подпрограммы>. Когда встречается ENDFORM, управление возвращается к оператору, следующему за оператором PERFORM.

пример

Шаг 1 — Перейти к транзакции SE80. Откройте существующую программу и затем щелкните правой кнопкой мыши программу. В данном случае это «ZSUBTEST».

Шаг 2 — Выберите Создать, а затем выберите Подпрограмма. Запишите имя подпрограммы в поле и нажмите кнопку «Продолжить». Имя подпрограммы «Sub_Display», как показано на следующем снимке экрана.

Создать подпрограмму

Шаг 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

Шаг 4 — Сохраните, активируйте и запустите программу. Приведенный выше код производит следующий вывод —

Subroutine Test:
   
This is Subroutine
  
Subroutine created successfully

Следовательно, использование подпрограмм делает вашу программу более функционально-ориентированной. Он разбивает задачу программы на подфункции, так что каждая подпрограмма отвечает за одну подфункцию. Ваша программа становится проще в обслуживании, поскольку изменения в функциях часто должны быть реализованы только в подпрограмме.