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

🏛 https://abap-blog.ru/about/
Download Telegram
Lisp в ABAP (от 26.06.2015)

Martin Ceronio поделился реализацией интерпретатора LISP на ABAP, подробнее на SCN.

https://abap-blog.ru/others/lisp-v-abap/
Неявный выход из цикла по таблице (от 02.07.2015)

Когда внутри цикла по таблице вы попытаетесь передать её с передачей по значению для изменения, сработает неявный выход из цикла после вызова процедуры: TYPES: BEGIN OF ty_some_struct, some_value TYPE i, END OF ty_some_struct, ty_table TYPE STANDARD TABLE OF ty_some_struct. DATA: lt_data TYPE ty_table, ls_data TYPE ty_some_struct. ls_data-some_value = 1. APPEND ls_data TO lt_data. ls_data-some_value = 2.…

https://abap-blog.ru/osnovy-abap/neyavnyj-vyxod-iz-cikla-po-tablice/
Создание подэкрана на экране выбора (от 03.07.2015)

Обычно подэкраны вставляются на экране выбора через создание вкладок по следующему принципу: SELECTION-SCREEN BEGIN OF SCREEN 100 AS SUBSCREEN. PARAMETERS: p1 TYPE c LENGTH 10, p2 TYPE c LENGTH 10, p3 TYPE c LENGTH 10. SELECTION-SCREEN END OF SCREEN 100. SELECTION-SCREEN BEGIN OF SCREEN 200 AS SUBSCREEN. PARAMETERS: q1 TYPE c LENGTH 10, q2 TYPE…

https://abap-blog.ru/osnovy-abap/sap-dynpro/sozdanie-podekrana-na-ekrane-vybora/
Слабые ссылки в ABAP (от 07.07.2015)

Понятие слабой ссылки существует в системах и языках программирования, где поддерживается сборка мусора — автоматическое удаление из памяти объектов, использование которых прекратилось и более не будет возобновлено. Далее в статье будет рассмотрена реализация слабых ссылок в ABAP. Для определения объектов, подлежащих сборке мусора, используется тот или иной вариант алгоритма определения достижимости — достижимым считается объект, на который в программе…

https://abap-blog.ru/osnovy-abap/oop/slabye-ssylki-v-abap/
Работа с GOS контейнером (от 10.07.2015)

Многие из Вас видели в стандартных транзакциях кнопки расположенные в заголовке экрана: Для того чтобы иметь возможность располагать GUI элементы в заголовке есть специальный контейнер называется он cl_gui_gos_container. Пример работы с ним далее. DATA: go_toolbar TYPE REF TO cl_gui_toolbar, go_container TYPE REF TO cl_gui_gos_container, gv_icon TYPE iconname, gv_quick TYPE iconquick, gt_event TYPE cntl_simple_events, gs_event TYPE…

https://abap-blog.ru/osnovy-abap/sap-dynpro/rabota-s-gos-kontejnerom/
Объектные исключения и RFC (от 29.08.2015)

В документации к системе версии 7.30 (sy-saprl) было обнаружено интересное нововведение, возможность обработки RFC исключений в объектном представлении: In the interface of a remote enabled function module, you can either specify class-based exceptions (as of release 7.1, EhP1) or define classic exceptions, that is, non class-based exceptions. Все классические исключения согласно документации транслируются в объектное…

https://abap-blog.ru/osnovy-abap/oop/obektnye-isklyucheniya-i-rfc/
Value Check для связанных параметров (от 05.09.2015)

VALUE CHECK дополнение используется когда необходимо удостоверится в том что значения введенные пользователем для параметра есть либо фиксированных значениях домена, либо если указываем на внешний ключ, они присутствуют в таблице. Однако, когда речь заходит о нескольких параметрах, есть некоторая особенность, которая и будет рассмотрена далее. Рассмотрим пример: PROGRAM zvalue_check_test. PARAMETERS: p_carr TYPE sbook-carrid VALUE CHECK.…

https://abap-blog.ru/osnovy-abap/value-check-dlya-svyazannyx-parametrov/
Динамическое программирование в ABAP (от 17.09.2015)

На днях довелось прослушать курс BC402 в рамках программы «Вечерний ABAP», хочется выразить благодарность компании SAP за такую возможность, а также отметить профессионализм преподавателя, в роли которого выступал Василий Ковальский. Сам курс посвящен обзору довольно обширных тем, которые, так или иначе, пригодятся всем ABAP программистам в их повседневной деятельности. Одной из рассматриваемых тем данного курса…

https://abap-blog.ru/osnovy-abap/dinamicheskoe-programmirovanie-v-abap/
Точки наблюдения и Field-symbols (от 24.09.2015)

ABAP отладчик ограничивает использование точек наблюдения (whatchpoints) на field-symbols, однако можно обойти это ограничение путём использования точки прерывания на базе исходного кода.  Рассмотрим пример кода: DATA: lt_test TYPE STANDARD TABLE OF i. FIELD-SYMBOLS: TYPE i. APPEND 1 TO lt_test. APPEND 2 TO lt_test. APPEND 3 TO lt_test. LOOP AT lt_test ASSIGNING . sy-tabix =…

https://abap-blog.ru/osnovy-abap/tochki-nablyudeniya-i-field-symols/
Адаптация WDP приложений (от 06.10.2015)

Следующим курсом в рамках программы «Вечерний ABAP» для меня стал курс об основах Web Dynpro – NET310. Курс рассматривает базовые понятия WDP, такие как типы контроллеров, окна, ракурсы, базовые элементы UI, приложения и взаимодействия между всеми этими объектами. Одной из самых любопытных для меня тем была возможность изменения существующих WDP приложений. Когда заходит речь об…

https://abap-blog.ru/network/web-dynpro/adaptaciya-wdp-prilozhenij/
Secure store and forward (от 09.11.2015)

Secure store and forward (SSF) – это механизм обеспечивающий возможности использования криптографии на платформе SAP NetWeaver. Основными криптографическими задачами являются: создание цифровых подписей (ЭЦП), их проверка, шифрование и расшифровка данных. Использование SSF возможно только совместно с крипто-продуктом (назовем его провайдером). Провайдеры могут быть внутренними или внешними. В зависимости от типа провайдера, он может поддерживать разные криптографические…

https://abap-blog.ru/others/secure-store-and-forward/
Декоратор (Decorator, Wrapper) (от 01.05.2016)

Метафора   Как понятно из названия, данный паттерн чаще всего используется для расширения исходного объекта до требуемого вида. Например, мы условно можем считать «декоратором» человека с кистью и красной краской. Таким образом, какой бы объект (или определенный тип объектов) мы не передали в руки «декоратору», на выходе мы будем получать красные объекты.   Назначение  …

https://abap-blog.ru/osnovy-abap/oop/dekorator-decorator-wrapper/
Адаптер (Adapter) (от 01.05.2016)

Метафора   Представьте себе китайскую вилку и нашу розетку, воткнуть просто так без адаптера у вас не выйдет.   Назначение   Есть некоторые разрозненные классы, которые поддерживают требуемые данные и поведения, однако они не предоставляют необходимого интерфейса для взаимодействия с ними. Для этого Вам необходимо создать класс обёртку с нужным интерфейсом, который внутри себя будет…

https://abap-blog.ru/osnovy-abap/oop/adapter-adapter/
Заместитель (Proxy) (от 01.05.2016)

Метафора   Наверняка вы работали когда-нибудь с прокси-серверами? Суть паттерна такая же, есть некоторый прокси объект, который делает перенаправление вызовов к реальному объекту. При этом для Вас как для клиента ничего не меняется, интерфейс остаётся тем же.   Назначение   Является суррогатом другого объекта и контролирует доступ к нему. Решает проблему контроля доступа к объекту,…

https://abap-blog.ru/osnovy-abap/oop/zamestitel-proxy/
Состояние (State) (от 01.05.2016)

Метафора   В реальной жизни каждый человек может прибывать в разных состояниях. Если вы устали, то на предложение «Сходи в магазин», вы скорее ответите «Не пойду, я устал». А если вы не устали, тогда скорее всего вы ответите «Уже иду». Таким образом, ваше поведение зависит от того, в каком состоянии Вы прибываете.   Назначение  …

https://abap-blog.ru/osnovy-abap/oop/sostoyanie-state/
Хранитель (Memento) (от 01.05.2016)

Метафора   Представьте себе гардероб и гардеробщицу, когда вы сдаете свою одежду в гардероб, гардеробщица реализует паттерн «хранитель», запоминая ваше состояние – «одежду», когда вам потребуется восстановить состояние, вы просто обращаетесь к гардеробщице за одеждой и восстанавливаете свое состояние до прихода в гардероб.   Назначение   Паттерн позволяет, не нарушая инкапсуляцию, зафиксировать и сохранить внутреннее…

https://abap-blog.ru/osnovy-abap/oop/xranitel-memento/
Цепочка обязанностей (Chain of Responsibility) (от 01.05.2016)

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

https://abap-blog.ru/osnovy-abap/oop/cepochka-otvetstvennosti-chain-of-responsibility/
Мост (Bridge) (от 01.05.2016)

Метафора   Представим ситуацию, когда вам требуется работать на разных автомобилях, однако садясь в новый автомобиль вам уже желательно знать, как им управлять. Таким образом, Вы сталкиваетесь с паттерном «мост». С одной стороны, вы имеете множество различных автомобилей (разные модели и марки), но среди них есть общая абстракция (интерфейс) в виде руля, педалей, коробки передач…

https://abap-blog.ru/osnovy-abap/oop/most-bridge/
Команда (Command) (от 01.05.2016)

Метафора   Паттерн команда хорошо может быть представлен в виде выключателя в квартирах. Каждый выключатель по своей сути делает одно простое действие – соединяет или разъединяет провода. Что будет при этом ему не важно, к нему может быть подключена лампочка или пылесос, для выключателя это не имеет значения.   Назначение   Паттерн преобразовывает запрос на…

https://abap-blog.ru/osnovy-abap/oop/komanda-command-2/