AQO - Abap quick options
Удобные для пользователя и программиста настройки
Создавайте гибкие настройки в программах с помощью вложенных таблиц без каких-либо усилий
Без головной боли с Z* генераторами ведения SM30, редактированием кластерных таблиц SE54, SM34 или ведения SELECT-OPTIONS STVARV
Тест
tr. SE38-> ZAQO_TESTER, tr. SE24 -> ZCL_AQO_TESTER
и далее
tr. ZAQO_EDITOR_OLD
Разделение на Пакет и Option ID
Просмотр истории изменений
Интеграция с транспортной системой
Редактирование вложенных каталогов полей (Описаний и средств поиска)
Tables can contain checkboxes, lists, ranges, memo fields and even another tables
Все, что вам нужно, это описать структуру (или класс) в программе ms_opt и нажать F8
TRY.
zcl_aqo_option=>create(
iv_package_id = '$TMP' " Пакет "#EC NOTEXT
iv_option_id = 'Main options'(op1) " Любой ID текст < 30 symbols
ir_data = REF #( ms_opt )
" iv_repair = abap_true
).
CATCH zcx_aqo_exception INTO lo_error.
MESSAGE lo_error TYPE 'S' DISPLAY LIKE 'E'.
RETURN.
ENDTRY.
Основная цель библиотеки - сократить количество магических чисел и других “постоянных данных” в коде. И дать возможность пользователю изменять «константы» в дружественном интерфейсе.
Счета по определенной маске или тексты в сгенерированных документах FI или диапазоне BLART в выборках - все это хорошие примеры для настроек.
Лучший способ описать библиотеку, это что-то вроде tr. STVARV, но все параметры и опции выбора сгруппированы как в tr. SLG1 с интерфейсом похожим на SAP Fiori и отображаемым непосредственно в SAP GUI через CL_GUI_HTML_VIEWER.
Редактируемые данные обычно хранятся в структуре программы (или в атрибутах класса) и могут содержать такие данные, как
- Диапазоны (SELECT-OPTION)
- параметры (любое простое значение, вроде: даты, времени или BUKRS)
- строки (памятные тексты)
- любые таблицы (STANDARD, SORTED, HASHED таблицы на основе структуры)
Первые 2 полностью аналогичны STVARV, например, в строках вы можете хранить шаблоны сообщений, а таблицы подходят, когда вам нужно написать большой CASE, который зависит от условия, которое может измениться, но создание таблицы базы данных обременительно.