Учебное пособие по подэкранам ABAP: подэкран вызова в SAP

Содержание:

Anonim

Прежде чем читать это руководство, убедитесь, что вы знаете, что такое программа диалога…

ЗВОНИТЕ НА ПОДБОРКУ

  • Подэкран - это независимый экран, который отображается в области другого («основного») экрана.
  • Подэкраны позволяют встраивать один экран в другой во время выполнения. Вы можете включить несколько дополнительных экранов на главный экран.
  • Термин «подэкран» применяется как к встроенному экрану, так и к области на главном экране, в которую вы его помещаете. Это руководство посвящено областям подэкрана. Фактические экраны, созданные посредством транзакции SE51, называются экранами подэкрана, если они определены в атрибутах экрана.
  • Когда вы используете подэкран, логика потока встроенного экрана также встроена в логику потока основного экрана. Следовательно, использование подэкранов на экранах похоже на использование включений в программах ABAP.

Чтобы использовать подэкран, вы должны выполнить три простых шага.

  1. Определение области подэкрана на экране
  2. Определите подходящие подэкраны
  3. Включите подэкран в область подэкрана.

Кроме того, вам необходимо настроить рамку дополнительного экрана и основного экрана. Вам нужно указать его в поле имени поля.
Кроме того, вам также необходимо настроить поля на подэкране, чтобы они отображались на главном экране. В случае, если подэкран определен как больше, чем доступная область на главном экране, будет видна только часть подэкрана, которая вписывается в доступную область. Площадь всегда измеряется от верхнего левого угла экрана. Следовательно, вы должны проявлять адекватную осторожность при определении областей подэкрана и создании подэкранов.
ПРИМЕР

Например, здесь мы определили две области подэкрана на главном экране и прикрепили два разных подэкрана к соответствующим областям. Каждый раз, когда вызывается главный экран, вызывается PBO главного экрана. Но перед отображением также вызываются PBO каждого экрана, присоединенного к подэкранным областям на главном экране.

Вы можете включить дополнительный экран с помощью оператора CALL SUBSCREEN в логику потока на главном экране.
Чтобы включить подэкран в подэкранную область главного экрана и вызвать его логику потока PBO, используйте следующий оператор в событии PBO на главном экране:

ПРОЦЕСС ПЕРЕД ВЫВОДОМ.ВЫЗОВ ПОД ЭКРАНОМ  ВКЛЮЧАЯ [
] .

Этот оператор назначает экран подэкрана с номером области подэкрана, называемой . Вы также можете указать программу, в которой определен экран подэкрана (необязательно). Если вы не укажете программу явно, система будет искать подэкран в той же программе ABAP, что и основная программа. Если не удается найти соответствующий подэкран, возникает ошибка времени выполнения. Логика потока PBO на подэкране также включена в тот же момент. Это может вызвать модули PBO программы ABAP, в которой определен экран подэкрана. В конце PBO подэкрана глобальные поля из программы передаются в любые поля экрана с одинаковыми именами на экране подэкрана. Логика потока PBO подэкрана может сама включать в себя дополнительные подэкраны.

Имя области подэкрана необходимо вводить напрямую, без кавычек. Вы можете указать имена и как литералы или переменные. Если вы используете переменные, вы должны объявить и заполнить переменные с одинаковыми именами в программе ABAP. Номер экрана должен состоять из 4 символов. Если вы не назначите подэкран для области, он останется пустым.
Чтобы вызвать логику потока PAI на подэкране, используйте следующий оператор в логике потока PAI на главном экране:

ПРОЦЕСС ПОСЛЕ ВВОДА.ЗВОНИТЕ НА ПОДБОРКУ .

Этот оператор включает логику потока PAI для экрана подэкрана, включенного в область подэкрана в событии PBO. Это может вызвать модули PAI программы ABAP, в которой определен экран подэкрана. Данные переносятся между полями с одинаковыми именами на экране подэкрана и программой ABAP либо при запуске события PAI, либо с помощью соответствующих операторов FIELD в логике потока PAI экрана подэкрана.
Что следует помнить

  • Имена элементов подэкрана внутри экрана должны быть уникальными.
  • У вас не должно быть OK_CODE или FCODE, прикрепленных к дополнительному экрану. OK_CODE главного экрана - это OK_CODE субэкрана.
  • Подэкраны не могут иметь никаких диалоговых модулей, содержащих УСТАНОВИТЬ ЗАГОЛОВОК, УСТАНОВИТЬ СТАТУС PF, УСТАНОВИТЬ ЭКРАН, ВЫЙТИ ИЗ ЭКРАНА или УХОДИТ НА ЭКРАН. Это вызовет ошибку времени выполнения.
  • Вам нужно вызвать его в логике потока (как PBO, так и PAI) на главном экране.
  • CALL SUBSCREEN не разрешен в операторах CHAIN… ENDCHAIN ​​и LOOP ENDLOOP
  • Не может быть модуля AT EXIT-COMMAND
  • Поля, которые вы используете, являются глобальными полями. Они должны быть заявлены в топе включают
  • Если вы используете подэкраны из другой диалоговой программы, передача данных не произойдет, если вы не добавите специальный код.