Как установить заголовок экрана в SAP отчете

Добрый день. Установить произвольный заголовок для любого экрана отчета SAP можно создав элемент GUI-title (GUI-заголовок) и инициализировать его в нужном месте программы.
1. Создаем GUI-заголовок. В транзакции se80 находим нашу программу, кликаем правой кнопкой и в контекстном меню выбираем «Создать» — «GUI-заголовок»

SAP ABAP GUI-title
Создание GUI-заголовка в ABAP

2. Заполняем атрибуты: код заголовка (код латиницей, нужен будет для инициализации заголовка) и сам текст заголовка, который мы хотим увидеть вверху экрана.

SAP ABAP GUI-title create
Создание GUI-заголовка в ABAP

3. Нажимаем на кнопку все заголовки. Это нужно чтобы увидеть список всех GUI-заголовков доступных в программе и получить возможность активировать изменения. Активируем.

SAP ABAP GUI-title create
Список GUI-заголовков программы

4. В нужном месте программы (например в начале модуля вызываемого в PBO) вставляем код

SET Titlebar ‘KEY_OF_TITLE’.

Активируем изменения, запускаем отчет и видим нужный заголовок.

SAP ABAP GUI-title result
Результат создания GUI-заголовка

Узнать название варианта при вызове отчета SUBMIT’ом

При вызове ABAP отчета по средствам конструкции

SUBMIT имя_программы USING SELECTION-SET 'название_варианта'.

иногда необходимо узнать название варианта селекционного экрана, с которым был вызван отчет. Это можно легко сделать проверив системную переменную SY-SLSET. Справка по данному полю гласит следующее: «Variant that was used to fill a selection screen.«.

SELECT FOR ALL ENTRIES работает как DISTINCT

SELECT FOR ALL ENTRIES — выборка данных из таблицы БД, для каждой строки таблицы-переменной.
Синтаксис следующий:

SELECT db_table~field
FROM db_table
FOR ALL ENTRIES IN var_table
WHERE db_table~field = var_table-field

Важно помнить, что такой запрос отработает как запрос с опцией DISTINCT. Хелп абапа говорит нам об этом «черным по белому»: With duplicated rows in the resulting set, the addition FOR ALL ENTRIES has the same effect as when the addition DISTINCT is specified in the definition of the selection set.
Если запустить SQL Trace (st05), то причина такого поведения становится понятной. Данная конструкция превращается в SELECT …. UNION SELECT.