ABAP Blog ️
1.25K subscribers
5 photos
3 videos
56 files
340 links
Про ABAP, SAP и Разработку в целом.

🏛 https://abap-blog.ru/about/
Download Telegram
Скрыть панель инструментов (от 07.01.2012)

Если необходимо убрать Toolbar во Write отчётах можно использовать следующий код: START-OF-SELECTION. CL_ABAP_LIST_LAYOUT=>SUPPRESS_TOOLBAR( ).

https://abap-blog.ru/osnovy-abap/sap-dynpro/ubrat-standartnyj-toolbar/
Изменить GUI-статус на экране выбора (от 07.01.2012)

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.

https://abap-blog.ru/osnovy-abap/sap-dynpro/izmenit-gui-status-na-ekrane-vybora/
Абстрактный класс или интерфейс, что и когда использовать (от 08.01.2012)

Абстрактные классы как и интерфейсы используются для одних целей. Как их применять при разработке в ABAP познакомимся в этой статье. Что такое абстрактный класс? Абстрактный класс это специальный вид класса который не может иметь инстанций. Мы можем лишь создать инстанции дочернего от него класса, если он так же не является абстрактным. Абстрактный класс должен содержать…

https://abap-blog.ru/osnovy-abap/abstraktnyj-klass-ili-interfejs-chto-i-kogda-ispolzovat/
Перегрузка методов (от 08.01.2012)

Определенного ключевого слова для перегрузки методов в ABAP не существует однако мы можем воспользоваться параметром OPTIONAL для для его имитации. Во многих языках программирования можно перегружать методы, т.е. создавать альтернативную версию метода. Один и тот же метод будет иметь разную реализацию в зависимости от введенных в него параметров. Пример реализации на языке Delphi: type TMyClass…

https://abap-blog.ru/osnovy-abap/peregruzka-metodov/
Шаблон декоратор (от 09.01.2012)

Декоратор, Decorator — структурный шаблон проектирования, предназначенный для динамического подключения дополнительного поведения к объекту. Шаблон Декоратор предоставляет гибкую альтернативу практике создания подклассов с целью расширения функциональности. Задача Объект, который предполагается использовать, выполняет основные функции (Класс lcl_alv). Однако может потребоваться добавить к нему некоторую дополнительную функциональность, которая будет выполняться до, после или даже вместо основной функциональности объекта. В примере ниже функциональность будет…

https://abap-blog.ru/osnovy-abap/shablon-dekorator/
Взаимодействие с фронтендом (от 03.01.2012)

В SAP R/3 предусмотрен один замечательный класс для работы с сервером представления, называется он: CL_GUI_FRONTEND_SERVICES. Далее я опишу применение его основных методов, которые зачастую могут пригодится в написании ABAP отчётов. Так как версии GUI клиента постоянно обновляются, и существуют разные версии GUI: под MacOS, Web, Windows необходимо проверять поддерживает ли текущая версия возможности GUI, для этого был…

https://abap-blog.ru/osnovy-abap/frontend/
ABAP Objects – концепт друзей (от 09.01.2012)

В объектно-ориентированных языках доступ к приватным или защищенным методам или атрибутам должен быть запрещен. Если кто либо попытается к ним обратиться то компилятор выдаст ошибку. Однако иногда нам необходимо получить к ним доступ, в ABAP это возможно с помощью использования концепции “друзей”. Использование данной концепции возможно с помощью ключевого слова FRIENDS в атрибуте класса. В…

https://abap-blog.ru/osnovy-abap/abap-objects-koncept-druzej/
Путь к транзакции по меню (от 09.01.2012)

Под катом отчёт показывающий все возможные пути по коду стандартной транзакции REPORT ZNEWPATH. TYPES: BEGIN OF ty_menu, parent TYPE MENU_NUM_5, children TYPE MENU_NUM_5, LEVEL TYPE MENU_NUM_2, END OF ty_menu. DATA: lt_mencu TYPE STANDARD TABLE OF SMENCUSNEW, ls_mencu TYPE SMENCUSNEW, lt_menu TYPE STANDARD TABLE OF ty_menu, ls_menu TYPE ty_menu, lv_parent TYPE MENU_NUM_5. FIELD-SYMBOLS: TYPE SMENCUSNEW,…

https://abap-blog.ru/osnovy-abap/put-k-tranzakcii-v-menyu/
Динамические документы (часть 1) (от 12.01.2012)

Динамические документы являются логическим приемником стандартного в R/3 вывода списков. Они отображаются в виде HTML – документов, обеспечивают поддержку вывода различных графических элементов.  Используя классы DD, вы тем самым генерируете HTML код, который будет отображен в ходе выполнения программы. Вам не обязательно знать HTML. Общая схема форматирования гарантирует, что документы во всей системе будут отображены…

https://abap-blog.ru/osnovy-abap/dinamicheskie-dokumenty/
Динамические документы (часть 2) (от 13.01.2012)

В предыдущей статье были рассмотрены основы работы с динамическими документами, в этой части я рассмотрю работу с таблицами и формами. Добавление таблиц Для добавления таблиц в DD необходимо воспользоваться методом add_table. dd_document->add_table( EXPORTING no_of_columns = 3 with_heading = 'X' cell_background_transparent = 'X' border = '1' WIDTH = '100%' IMPORTING TABLE = TABLE tablearea = tablearea…

https://abap-blog.ru/osnovy-abap/dinamicheskie-dokumenty-chast-2/
Фоновые задания используя ABAP Objects (Часть 1) (от 14.01.2012)

В статье будут рассмотрены примеры создания фоновых заданий в ABAP используя классы из пакета SBTJOBAPI (CL_BP_ABAP_JOB,  CL_BP_JOB_FACTORY и др.). Как управлять фоновыми заданиями используя “старое” API вы можете посмотреть тут. Старое в кавычках потому что новое лишь обертка над ним. Стандартный пример по работе через классы с фоновыми заданиями программа: BP_JOBAPI_TUTORIAL. К сожалению в нем не рассмотрено как создавать фоновые…

https://abap-blog.ru/osnovy-abap/fonovye-zadaniya-ispolzuya-abap-objects/
Последняя документация по ключевым словам (от 15.01.2012)

Смотреть в IE: http://help.sap.com/abapdocu_731/en/index.htm

https://abap-blog.ru/osnovy-abap/poslednyaya-dokumentaciya-po-klyuchevym-slovam/
Шаблон фасад (от 16.01.2012)

Шаблон Facade (Фасад) — Шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы. Проблема Как обеспечить унифицированный интерфейс с набором разрозненных реализаций или интерфейсов, например, с подсистемой, если нежелательно высокое связывание с этой подсистемой или реализация подсистемы может измениться? Решение Определить одну точку взаимодействия с подсистемой — фасадный…

https://abap-blog.ru/osnovy-abap/shablon-fasad/
Шаблон одиночка (от 16.01.2012)

Гарантирует, что у класса есть только один экземпляр, и предоставляет к нему глобальную точку доступа. Существенно то, что можно пользоваться именно экземпляром класса, так как при этом во многих случаях становится доступной более широкая функциональность. Например, к описанным компонентам класса можно обращаться через интерфейс, если такая возможность поддерживается языком. Плюсы контролируемый доступ к единственному экземпляру; уменьшение числа имён; допускает уточнение…

https://abap-blog.ru/osnovy-abap/shablon-odinochka/
Шаблон адаптер (от 18.01.2012)

Адаптер, Adapter или Wrapper/Обёртка — структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс. Задача Система поддерживает требуемые данные и поведение, но имеет неподходящий интерфейс. Чаще всего шаблон Адаптер применяется, если необходимо создать класс, производный от вновь определяемого или уже существующего абстрактного класса. Способ решения Адаптер предусматривает создание класса-оболочки с требуемым интерфейсом. Следствия Шаблон Адаптер позволяет…

https://abap-blog.ru/osnovy-abap/adapter/
Динамические таблицы в ABAP (от 19.01.2012)

Существует как минимум 3 способа создания динамических таблиц: Используется в старых системах, через генерацию программы (GENERATE SUBROUTINE POOL). Используя класс CL_ALV_TABLE_CREATE. Используя RTTS (Run Time Type Services). В данной статье будут рассмотрены все три, примеры максимально упрощены для понимания. GENERATE SUBROUTINE POOL В старых системах (до версии ABAP 6.40) для генерации динамической таблицы (или структуры) использовался метод…

https://abap-blog.ru/osnovy-abap/dinamicheskie-tablicy-v-abap/
Фоновые задания используя ABAP Objects (Часть 2) (от 20.01.2012)

В этой части будет продемонстрировано каким образом создавать задания с несколькими шагами, а так же как создать задание выполняющееся периодически. Задания с несколькими шагами Прежнее API для создания фоновых задач позволяло создавать их с несколькими шагами. Делалось это с помощью функциональных модулей: JOB_OPEN – создание задачи,  JOB_SUBMIT – планирование шага в задаче. В новом API…

https://abap-blog.ru/osnovy-abap/fonovye-zadaniya-ispolzuya-abap-objects-chast-2/
Шаблон компоновщик (от 22.01.2012)

Компоновщик (англ. Composite pattern) — шаблон проектирования, относится к структурным паттернам, объединяет объекты в древовидную структуру для представления иерархии от частного к целому. Компоновщик позволяет клиентам обращаться к отдельным объектам и к группам объектов одинаково. Цель Шаблон определяет иерархию классов, которые одновременно могут состоять из примитивных и сложных объектов, упрощает архитектуру клиента, делает процесс добавления новых видов объекта…

https://abap-blog.ru/osnovy-abap/shablon-komponovshhik/
Глобальные макросы (от 22.01.2012)

Для определения глобальных макросов, доступных во всех программах создана таблица TRMAC. Ее структура и порядок добавления описаны ниже Структура:   Для ввода новых строк в таблицу воспользуйтесь тр. SE16. Определение макроса выглядит следующим образом: Обратите внимание что имя макроса необходимо вводить от его начала до конца. После добавления в таблицу Вы можете использовать его во всех программах.…

https://abap-blog.ru/osnovy-abap/globalnye-makrosy/
Просмотр файла в шестнадцатеричном виде (от 22.01.2012)

Ниже пример того как можно посмотреть шестнадцатеричное представление файла с помощью текстового редактора реализованного через класс cl_gui_textedit. Обратите внимание что в качестве контейнера для редактора служит экран выбора программы, а ссылку на него можно получить через статическую переменную screen0 класса cl_gui_container. REPORT zhex_view. DATA: go_textedit TYPE REF TO cl_gui_textedit, gt_exclude TYPE TABLE OF rsexfcode, gs_exclude TYPE rsexfcode.…

https://abap-blog.ru/osnovy-abap/prosmotr-fajla-v-shestnadcaterichnom-vide/