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

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