В объектно-ориентированных языках доступ к приватным или защищенным методам или атрибутам должен быть запрещен. Если кто либо попытается к ним обратиться то компилятор выдаст ошибку. Однако иногда нам необходимо получить к ним доступ, в ABAP это возможно с помощью использования концепции «друзей».
Шаблон декоратор
Декоратор, Decorator — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности.
Перегрузка методов
Определенного ключевого слова для перегрузки методов в ABAP не существует однако мы можем воспользоваться параметром OPTIONAL для для его имитации.
Абстрактный класс или интерфейс, что и когда использовать
Абстрактные классы как и интерфейсы используются для одних целей. Как их применять при разработке в ABAP познакомимся в этой статье.
Изменить GUI-статус на экране выбора
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
DATA: gt_exclude TYPE TABLE OF rsexfcode, gs_exclude TYPE rsexfcode. PARAMETERS: pa_test TYPE C. INITIALIZATION. gs_exclude-fcode = 'ONLI'. APPEND gs_exclude TO gt_exclude. AT SELECTION-SCREEN OUTPUT. CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' EXPORTING p_status = '%_00' p_program = 'RSSYSTDB' TABLES p_exclude = gt_exclude. |
Скрыть панель инструментов
Если необходимо убрать Toolbar во Write отчётах можно использовать следующий код:
1 2 |
START-OF-SELECTION. CL_ABAP_LIST_LAYOUT=>SUPPRESS_TOOLBAR( ). |
Считывание файлов с фронтенда
Загрузку файлов с фронтенда рекомендуется делать с помощью статического метода: cl_gui_frontend_services=>gui_upload. Данный метод имеет множество параметров, описание которых я приведу далее.
Выбор файлов на экране выбора
При работе с файлами в ABAP встает необходимость предоставить пользователю возможность выбора файла на экране выбора, для выбора файла на стороне клиента можно воспользоваться методом класса cl_gui_frontend_services=>file_open_dialog или простой обёрткой над ним cl_salv_test_data=>select_file. Далее будет продемонстрировано как предоставить пользователю выбор файла как на стороне клиента, так и на сервере приложений.
Набор полезных программ
Получить внешние вызовы ФМ, транзакций и многого другого внутри программы можно с помощью программы — RSINCL00.
Транзакция ABAPDOCU — ABAP документация и примеры.
Запуск транзакции в новом режиме
Иногда случается необходимость в запуске отдельной транзакции в новом режиме, например когда необходимо отобразить доп. информацию о выделенной в ALV записи. Обычно для этих целей пишется RFC функция которая запускается в новой задаче — STARTING NEW TASK. Можно воспользоваться стандартной RFC функцией : CC_CALL_TRANSACTION_NEW_TASK.