:::: МЕНЮ ::::

ZCL_GUI_SCREEN — экран в ООП без PBO/PAI

Одним из самых неудобных в моментов разработки в SAP является работа с экранами. Для отображения экрана с ALV-таблицей необходимо: создать экран с контейнером, создать GUI-заголовок и GUI-статус, определить PBO/PAI модули. Большая часть из этих действий содержит шаблонный код и не содержит полезной нагрузки. А самое неприятное то, что все это нельзя создать в ОО-контексте.

SAP частично избавил разработчиков от этой боли, написав ФМ REUSE_ALV_GRID_DISPLAY и класс CL_SALV_TABLE. Но они решают лишь часть проблем: для добавления кнопок в GUI-статус требуется создавать свой статус (в добавок к нему и программу или группу функций), а если требуется создать редактируемый ALV, то CL_SALV_TABLE бессилен, а REUSE_ALV_GRID_DISPLAY нельзя полноценно обернуть в класс. А если требуется нарисовать несколько таблиц на экране, или сделать текстовое поле через CL_GUI_TEXTEDIT, то создание своего экрана с PBO/PAI неизбежно.

Для решения проблем подобного рода, многие разработчики делают свои обертки над ALV. У кого-то они получаются удачными, у других же они сложны в настройке и чувствительны к кастомизации. Я один из тех разработчиков, кто решил написал подобную библиотеку ZCA_GUI, которую вы можете скачать через ABAP-Git. В статье приведено описание основных возможностей данной библиотеки.

ZCL_GUI_SCREEN — Класс для управления экраном с контейнером

Возможности:

  • Создание экрана с контейнером и возможность его переиспользования
  • Создание кнопок на GUI-статусе через ABAP код
  • Определение PBO/PAI экрана через события класса
  • Возможность вывода в полноэкранном режиме и в модальном окне
  • Не требует создания экранов, GUI-заголовков/статусов, PBO/PAI модулей
  • Класс можно использовать как через наследование, так и через композицию

Пример экрана с выводом 2-х таблиц. С кнопкой, которая открывает новый экран в модальном окне.


Присоединиться к обсуждению...