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

🏛 https://abap-blog.ru/about/
Download Telegram
Класс для быстрого преобразования кодировок (от 26.07.2012)

Дополнение к предыдущей статье. Класс CL_ABAP_CODEPAGE предоставляет набор статических методов для более легкого преобразования строковых данных из одной кодировки в другую, получения названий кодировок (HTML – utf-8, Java – UTF8) по коду кодировки в SAP (4110), получения текущей кодировки используемой в системе и др.

https://abap-blog.ru/osnovy-abap/klass-obertka-dlya-preobrazovaniya-kodirovok/
Быстрое получение позиции в стеке (от 02.08.2012)

Иногда при разработке расширений или использовании отладочных скриптов, возникает необходимость в получении определенного уровня в стеке вызовов. В основном для этого используется FM SYSTEM_CALLSTACK, но как правило интересует не весь стек, а лишь определенный его уровень (обычно вызывающая программа или процедура), для получения данных стека относительно уровня можно воспользоваться классом: CL_RECA_SYSTEM_CALLSTACK и его статическим методом – GET_CURRENT_SOURCE_POS.…

https://abap-blog.ru/osnovy-abap/udobnoe-poluchenie-pozicii-v-steke/
SAP ABAP Development Tools for Eclipse (от 11.08.2012)



https://abap-blog.ru/osnovy-abap/sap-abap-development-tools-for-eclipse/
Введение в BRFPlus (от 15.08.2012)

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

https://abap-blog.ru/others/vvedenie-v-brfplus/
Темная тема для ABAP редактора (от 27.08.2012)

Во всех IDE всегда выбирал темные темы, к сожалению SAP GUI не предоставляет выбора предустановленных тем. Но он позволяет настроить её под себя. Вот что я для себя настроил: Если понравилось, способ установки (версия SAP GUI 7.20+): Скачать архив (до GUI 7.40) или архив (для GUI 7.40 и выше). Разархивировать по адресу: ПользовательAppDataRoamingSAPSAP GUI (не забудьте…

https://abap-blog.ru/others/temnaya-tema-dlya-abap-redaktora/
Получение URL для Web Dynpro приложения (от 04.10.2012)

DATA: gt_param TYPE tihttpnvp, gs_param TYPE ihttpnvp, gv_url TYPE STRING, gv_url_c TYPE char255. "Заполнение параметров URL gs_param-NAME = 'param1'. gs_param-VALUE = 'value1'. APPEND gs_param TO gt_param. gs_param-NAME = 'param2'. gs_param-VALUE = 'value2'. APPEND gs_param TO gt_param. "Получаем URL с необходимыми параметрами cl_wd_utilities=>construct_wd_url( EXPORTING application_name = 'ИмяПриложения' in_parameters = gt_param IMPORTING out_absolute_url = gv_url ). gv_url_c…

https://abap-blog.ru/network/poluchenie-url-dlya-web-dynpro-prilozheniya/
Динамический вызов ФМ (от 04.10.2012)

Анализируя поисковые запросы по которым приходят люди выяснилось, что очень часто ищут как вызвать ФМ динамически. Данный пример взят из официальной документации. DATA: LINE TYPE C LENGTH 80, text_tab LIKE STANDARD TABLE OF LINE, filename TYPE STRING, filetype TYPE C LENGTH 80, fleng TYPE I. DATA: func TYPE STRING, ptab TYPE abap_func_parmbind_tab, ptab_line TYPE abap_func_parmbind, etab…

https://abap-blog.ru/osnovy-abap/dinamicheskij-vyzov-fm/
Прощай WRITE TO, привет шаблоны! (от 13.10.2012)

Начиная с версии 7.0, EhP2 в язык ABAP вместе с большими изменениями в выражениях, внедрены так называемые строковые шаблоны. С помощью шаблонов можно сильно сократить объем кода программы, полностью избавившись от оператора WRITE TO и CONCATENATE. Использование шаблонов возможно только в Unicode программах. Далее будут рассмотрены некоторые особенности работы с шаблонами. Шаблоны могут содержать в…

https://abap-blog.ru/osnovy-abap/proshhaj-write-to-privet-shablony/
Немного о рефакторинге (от 27.10.2012)

Рефакторинг – представляет собой процесс такого изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя структура. Это способ систематического приведения кода в порядок, при котором шансы появления новых ошибок минимальны. В сущности, при проведении рефакторинга кода вы улучшаете его дизайн уже после того, как он написан. (М. Фаулер). В данной…

https://abap-blog.ru/osnovy-abap/refactoring/
Сокрытие полей ввода на селекционном экране (от 27.10.2012)

Иногда возникает необходимость скрыть одно или несколько полей (или любой другой элемент) на экране в зависимости от некоторых условий. Существует несколько способов это сделать, как простых и незамысловатых, так и достаточно сложных, но дающих максимальную гибкость настройки экрана. Пойдем от простого к сложному. NO-DISPLAY для элементов экрана Для таких элементов экрана, как PARAMETERS и SELECT-OPTIONS есть дополнение…

https://abap-blog.ru/osnovy-abap/sap-dynpro/abaphr-ru-sokrytie-polej-vvoda-na-selekcionnom-ekrane/
Использование юнит тестов в процессе разработки (от 09.11.2012)

Как показал опрос, достаточно мало людей слышали о применении юнит тестирования в ABAP. Все желающие могут ознакомится с основными понятиями в моём гостевом посте.

https://abap-blog.ru/osnovy-abap/ispolzovanie-yunit-testov-v-processe-razrabotki/
Замена устаревших FM для ECC 6.0+ (от 27.11.2012)

Наткнулся недавно на весьма полезную подборку устаревших FM и их замену для новых версий системы.

https://abap-blog.ru/osnovy-abap/zamena-ustarevshix-fm-dlya-ecc-6-0/
Упакованные компоненты (от 24.03.2013)

Начиная с версии Ehp2 7.0 (ABAP Kernel 7.20) в ABAP появилась возможность использования так называемых упакованных компонентов. Объявить структуру с использованием упакованных компонентов мы можем как локально, с помощью ключевого слова BOXED, так и в словаре, выбрав тип типизации: В роли упакованных компонентов могут выступать как простые структуры, так и глубокие структуры (содержащие набор компонентов или…

https://abap-blog.ru/osnovy-abap/upakovannye-komponenty/
Программа генерации UML на основе ABAP классов (от 26.03.2013)

Получить UML представление классов можно воспользовавшись стандартной программой: UML_CLASS_DIAGRAM. Для того чтобы программа заработала, при установке SAP GUI необходимо установить SAP JNet ActiveX компонент:   Программа в действии:

https://abap-blog.ru/osnovy-abap/programma-generacii-uml-na-osnove-abap-klassov/
Запуск WDP приложений в SAP GUI (от 05.04.2013)

Если есть необходимость запустить WDP приложение внутри SAP GUI, можно написать обертку над транзакцией WDYID, авторизация происходит через SSO.

https://abap-blog.ru/network/zapusk-wdp-prilozhenij-v-sap-gui/
Простые трансформации (от 07.04.2013)

Простые трансформации – язык программирования компании SAP позволяющий преобразовывать данные из ABAP в XML (Сериализация) и из XML в ABAP (Десериализация). Простые трансформации представляют из себя специальный вид программ, которые при желании можно отлаживать как обычные ABAP программы.     Запустить подобную программу можно с помощью ABAP оператора CALL TRANSFORMATION. Основные характеристики ST программ, в…

https://abap-blog.ru/osnovy-abap/prostye-transformacii/
ADBC – ABAP Database Connectivity (от 08.04.2013)

ADBC – объектно-ориентированное API, для взаимодействия с интерфейсом нативного SQL в ABAP. Может быть использован в том случае, когда необходим динамический доступ к нативному SQL, т.к. вызов через команды EXEC SQL не подразумевает динамической обработки. Классы, представляющие ADBC начинаются с CL_SQL_* и CX_SQL_* (пакет SDB_ADBC). Основные из них: CL_SQL_STATEMENT – для выполнения SQL команд CL_SQL_PREPARED_STATEMENT…

https://abap-blog.ru/database-work/adbc-abap-database-connectivity/
Нативная поддержка JSON в ABAP (от 10.04.2013)

Начиная с версии 7.02 and 7.03/7.31 (Kernelpatch 116) JSON стал поддерживаться ABAP’ом.

https://abap-blog.ru/network/nativnaya-podderzhka-json-v-abap/
Проверка на запуск кода в режиме обновления (от 14.04.2013)

DATA: lv_in_update TYPE i. CALL FUNCTION 'TH_IN_UPDATE_TASK' IMPORTING in_update_task = lv_in_update. IF lv_in_update = 1. "Код выполняется в задаче обновления "выполнение COMMIT или ROLLBACK вызовет дамп ELSE. "Код запущен не через задачу обновления "возможно выполнение COMMIT и ROLLBACK ENDIF.

https://abap-blog.ru/database-work/proverka-naxozhdeniya-koda-v-zadache-obnovleniya/
Очистка глобальных данных программы (от 17.04.2013)

REPORT zclear_globals. PARAMETERS progname TYPE program DEFAULT 'ZCLEAR_GLOBALS'. DATA: i TYPE i. START-OF-SELECTION. PERFORM clear_global_variables USING progname. FORM clear_global_variables USING progname TYPE program. DATA: lt_compo TYPE TABLE OF scompo, lt_cross_ref TYPE TABLE OF cross, lv_name TYPE string, lt_inc TYPE TABLE OF d010inc. FIELD-SYMBOLS: TYPE scompo, TYPE any. CALL FUNCTION 'RS_PROGRAM_INDEX' EXPORTING pg_name =…

https://abap-blog.ru/osnovy-abap/ochistka-globalnyx-dannyx-programmy/