Одним из самых неудобных в моментов разработки в 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. В статье приведено описание основных возможностей данной библиотеки.
Читать дальше…