:::: МЕНЮ ::::
Monthly Archives: Декабрь 2023

ZIF_GUI_TEXT_VIEW — Интерфейс отображения текста

В предыдущих статьях мы рассматривали использование библиотеки ZCA_GUI на примерах отображения данных, вывода текстового редактора, вывода таблицы ALV и вызова экрана с контейнером.

Интерфейс ZIF_GUI_TEXT_VIEW предназначен для отображения текстовых данных. Рассмотрим его имплементации:

  • ZCL_GUI_HTML_VIEWER — отображение текста в HTML браузере
  • ZCL_GUI_NIC_EDITOR — отображение текста в HTML-редакторе Nic Editor
Читать дальше…

ZIF_GUI_DATA_VIEW — Интерфейс отображения данных

В предыдущих статьях мы рассматривали использование библиотеки ZCA_GUI на примерах использования текстового редактора, вывода таблицы ALV и вызова экрана с контейнером.

Сейчас рассмотрим инструменты отображения произвольных данных в разных форматах. Для этого в библиотеке используется интерфейс ZIF_GUI_DATA_VIEW и его имплементации:

  • ZCL_GUI_DATA_VIEW_XML — Класс для отображения данных в XML-представлении
  • ZCL_GUI_DATA_VIEW_JSON — Класс для отображения данных в JSON-формате
  • ZCL_GUI_DATA_VIEW_TREE — Класс для отображения данных в виде дерева
  • ZCL_GUI_DATA_VIEW_COMPOSITE — Класс для отображения данных во всех перечисленных форматах
Читать дальше…

ZCL_GUI_SCREEN_TEXTEDIT — удобная работа с текстовым редактором

В предыдущих статьях мы рассматривали создание ALV и отображение произвольного экрана через библиотеку ZCA_GUI. Сейчас рассмотрим пример удобного вывода текстового редактора на основе стандартного класса CL_GUI_TEXTEDIT.

Довольно часто приходится сталкиваться с задачей, когда пользователю необходимо отобразить текст (или дать его ввести) с добавлением некоторых кнопок на экран. Все это легко сделать через класс ZCL_GUI_SCREEN_TEXTEDIT.

Читать дальше…

ZCL_GUI_SCREEN_ALV — удобная работа с ALV

В предыдущей статье мы рассматривали класс ZCL_GUI_SCREEN для создания экранов из ОО-контекста. В большинстве приложений экраны содержат контейнер с размещенным на нем экземпляром таблицы ALV. Для более удобной работы, библиотека ZCA_GUI содержит уже класс ZCL_GUI_SCREEN_ALV, обернутый в экран ZCL_GUI_SCREEN. Класс содержит в себе все возможности нативного CL_GUI_ALV_GRID.

Читать дальше…

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

Читать дальше…