Когда Вы сталкиваетесь с задачей предоставить пользователю возможность выбирать одно (или несколько) значений из внутренних таблиц на экране выбора (или на экранах) можно воспользоваться удобным классом-оберткой  CL_RECA_GUI_F4_POPUP, вместо написания например средств поиска. С помощью данного класса мы можем определить заголовок всплывающего окна с данными, фильтры, отображаемые поля, сортировки и многое другое.

Задаёт виды создаваемых объектов с помощью экземпляра-прототипа и создаёт новые объекты путём копирования этого прототипа.

Проще говоря, это паттерн создания объекта через клонирование другого объекта вместо создания через конструктор.

Читать далее

В случае когда в вашем ALV объекте сосредоточено большое количество полей, при определении форматов могут возникать трудности поиска необходимого поля. Чтобы облегчить данный поиск вы можете объединять поля в группы, выглядит это следующим образом:

Читать далее

Для настройки колонок в ALV первым делом необходимо получить ссылку на объект класса: CL_SALV_COLUMNS. Данный класс отвечает за общие для всех колонок настройки, такие как: оптимизация ширины, порядок колонок. Получить ссылку на объект можно методом get_columns главного объекта ALV. Для изменения индивидуальных колонок необходимо получить ссылку на объект требуемой колонки. Для этого воспользоваться методом get_column( ‘ИмяКолонки’ ) из объекта отвечающего за все колонки, полученного ранее.

Читать далее

Настроить внешний вид ALV объекта можно используя класс:  cl_salv_display_settings.  C его помощью можно задать: отображение вертикальных/горизонтальных линий, заголовок таблицы, включить отображение в полоску и т.п. Пример того как с ним работать ниже:

Альтернативой данному способу настройки внешнего вида может служить использование форматов.

Формат ALV определяет: сортировки, группировки, внешний вид, настройку оптимизации колонок и т.п. Для выбора форматов служит класс  cl_salv_layout_service. Для настройки сохранения и привязки к ALV объекту класс cl_salv_layout. Первое что необходимо при работе с форматами дать пользователю возможность его выбрать на экране выбора.

Читать далее

На этапе создания экземпляра объекта (фабричным методом) мы определяем, как мы хотим использовать объект ALV таблицы, будет ли это полноэкранный режим, либо мы хотим поместить объект в подготовленный заранее контейнер. Данный выбор влияет на способ установки GUI статуса для ALV таблицы.

Читать далее

Шаблон Proxy (определяет объект-заместитель англ. surrogate иначе -заменитель англ. placeholder) — шаблон проектирования, который предоставляет объект, который контролирует доступ к другому объекту, перехватывая все вызовы (выполняет функцию контейнера).

Читать далее