Прежде чем читать это руководство, убедитесь, что вы знаете, что такое программа диалога…
ЗВОНИТЕ НА ПОДБОРКУ
- Подэкран - это независимый экран, который отображается в области другого («основного») экрана.
- Подэкраны позволяют встраивать один экран в другой во время выполнения. Вы можете включить несколько дополнительных экранов на главный экран.
- Термин «подэкран» применяется как к встроенному экрану, так и к области на главном экране, в которую вы его помещаете. Это руководство посвящено областям подэкрана. Фактические экраны, созданные посредством транзакции SE51, называются экранами подэкрана, если они определены в атрибутах экрана.
- Когда вы используете подэкран, логика потока встроенного экрана также встроена в логику потока основного экрана. Следовательно, использование подэкранов на экранах похоже на использование включений в программах ABAP.
Чтобы использовать подэкран, вы должны выполнить три простых шага.
- Определение области подэкрана на экране
- Определите подходящие подэкраны
- Включите подэкран в область подэкрана.
Кроме того, вам необходимо настроить рамку дополнительного экрана и основного экрана. Вам нужно указать его в поле имени поля.
Кроме того, вам также необходимо настроить поля на подэкране, чтобы они отображались на главном экране. В случае, если подэкран определен как больше, чем доступная область на главном экране, будет видна только часть подэкрана, которая вписывается в доступную область. Площадь всегда измеряется от верхнего левого угла экрана. Следовательно, вы должны проявлять адекватную осторожность при определении областей подэкрана и создании подэкранов.
ПРИМЕР
Например, здесь мы определили две области подэкрана на главном экране и прикрепили два разных подэкрана к соответствующим областям. Каждый раз, когда вызывается главный экран, вызывается PBO главного экрана. Но перед отображением также вызываются PBO каждого экрана, присоединенного к подэкранным областям на главном экране.
Вы можете включить дополнительный экран с помощью оператора CALL SUBSCREEN в логику потока на главном экране.
Чтобы включить подэкран в подэкранную область главного экрана и вызвать его логику потока PBO, используйте следующий оператор в событии PBO на главном экране:
ПРОЦЕСС ПЕРЕД ВЫВОДОМ.ВЫЗОВ ПОД ЭКРАНОМ ВКЛЮЧАЯ [] .
Этот оператор назначает экран подэкрана с номером
Имя области подэкрана необходимо вводить напрямую, без кавычек. Вы можете указать имена
Чтобы вызвать логику потока 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
- Поля, которые вы используете, являются глобальными полями. Они должны быть заявлены в топе включают
- Если вы используете подэкраны из другой диалоговой программы, передача данных не произойдет, если вы не добавите специальный код.