Класс для быстрого преобразования кодировок (от 26.07.2012)
Дополнение к предыдущей статье. Класс CL_ABAP_CODEPAGE предоставляет набор статических методов для более легкого преобразования строковых данных из одной кодировки в другую, получения названий кодировок (HTML – utf-8, Java – UTF8) по коду кодировки в SAP (4110), получения текущей кодировки используемой в системе и др.
https://abap-blog.ru/osnovy-abap/klass-obertka-dlya-preobrazovaniya-kodirovok/
Дополнение к предыдущей статье. Класс CL_ABAP_CODEPAGE предоставляет набор статических методов для более легкого преобразования строковых данных из одной кодировки в другую, получения названий кодировок (HTML – utf-8, Java – UTF8) по коду кодировки в SAP (4110), получения текущей кодировки используемой в системе и др.
https://abap-blog.ru/osnovy-abap/klass-obertka-dlya-preobrazovaniya-kodirovok/
abap-blog.ru
ABAP Blog | Класс для быстрого преобразования кодировок
Дополнение к предыдущей статье. Класс CL_ABAP_CODEPAGE предоставляет набор статических методов для более легкого преобразования строковых данных из одной
Быстрое получение позиции в стеке (от 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/
Иногда при разработке расширений или использовании отладочных скриптов, возникает необходимость в получении определенного уровня в стеке вызовов. В основном для этого используется FM SYSTEM_CALLSTACK, но как правило интересует не весь стек, а лишь определенный его уровень (обычно вызывающая программа или процедура), для получения данных стека относительно уровня можно воспользоваться классом: CL_RECA_SYSTEM_CALLSTACK и его статическим методом – GET_CURRENT_SOURCE_POS.…
https://abap-blog.ru/osnovy-abap/udobnoe-poluchenie-pozicii-v-steke/
abap-blog.ru
ABAP Blog | Быстрое получение позиции в стеке
Иногда при разработке расширений или использовании отладочных скриптов, возникает необходимость в получении определенного уровня в стеке вызовов. В основном для этого используется FM SYSTEM_CALLSTACK, но как правило интересует не весь стек, а лишь определенный…
SAP ABAP Development Tools for Eclipse (от 11.08.2012)
https://abap-blog.ru/osnovy-abap/sap-abap-development-tools-for-eclipse/
https://abap-blog.ru/osnovy-abap/sap-abap-development-tools-for-eclipse/
Введение в BRFPlus (от 15.08.2012)
Ни одна организация не может быть более эффективна, чем её системы. Системы должны быть направлены на саму организацию, её цели и сотрудников. Ориентация на бизнес-процессы показывает, как работает организация в действительности, и является первым шагом на пути к непрерывной оптимизации. Сочетание поддержки принятия решений с процессно-ориентированным образом мышления ведёт к упрощённым и быстро реагирующим процессам,…
https://abap-blog.ru/others/vvedenie-v-brfplus/
Ни одна организация не может быть более эффективна, чем её системы. Системы должны быть направлены на саму организацию, её цели и сотрудников. Ориентация на бизнес-процессы показывает, как работает организация в действительности, и является первым шагом на пути к непрерывной оптимизации. Сочетание поддержки принятия решений с процессно-ориентированным образом мышления ведёт к упрощённым и быстро реагирующим процессам,…
https://abap-blog.ru/others/vvedenie-v-brfplus/
abap-blog.ru
ABAP Blog | Введение в 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/
Во всех 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/
abap-blog.ru
ABAP Blog | Темная тема для ABAP редактора
Во всех IDE всегда выбирал темные темы, к сожалению SAP GUI не предоставляет выбора предустановленных тем. Но он позволяет настроить её под себя. Вот что я для себя настроил: Если понравилось, способ установки (версия SAP GUI 7.20+): Скачать архив (до GUI…
Получение 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/
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/
abap-blog.ru
ABAP Blog | Получение URL для Web Dynpro приложения
С помощью данного кода, можно сформировать URL для Web Dynpro приложения.
Динамический вызов ФМ (от 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/
Анализируя поисковые запросы по которым приходят люди выяснилось, что очень часто ищут как вызвать ФМ динамически. Данный пример взят из официальной документации. 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/
abap-blog.ru
ABAP Blog | Динамический вызов ФМ
Анализируя поисковые запросы по которым приходят люди выяснилось, что очень часто ищут как вызвать ФМ динамически. Данный пример взят из официальной
Прощай WRITE TO, привет шаблоны! (от 13.10.2012)
Начиная с версии 7.0, EhP2 в язык ABAP вместе с большими изменениями в выражениях, внедрены так называемые строковые шаблоны. С помощью шаблонов можно сильно сократить объем кода программы, полностью избавившись от оператора WRITE TO и CONCATENATE. Использование шаблонов возможно только в Unicode программах. Далее будут рассмотрены некоторые особенности работы с шаблонами. Шаблоны могут содержать в…
https://abap-blog.ru/osnovy-abap/proshhaj-write-to-privet-shablony/
Начиная с версии 7.0, EhP2 в язык ABAP вместе с большими изменениями в выражениях, внедрены так называемые строковые шаблоны. С помощью шаблонов можно сильно сократить объем кода программы, полностью избавившись от оператора WRITE TO и CONCATENATE. Использование шаблонов возможно только в Unicode программах. Далее будут рассмотрены некоторые особенности работы с шаблонами. Шаблоны могут содержать в…
https://abap-blog.ru/osnovy-abap/proshhaj-write-to-privet-shablony/
abap-blog.ru
ABAP Blog | Прощай WRITE TO, привет шаблоны!
Начиная с версии 7.0, EhP2 в язык ABAP вместе с большими изменениями в выражениях, внедрены так называемые строковые шаблоны. С помощью шаблонов можно сильно сократить объем кода программы, полностью избавившись от оператора WRITE TO и CONCATENATE. Использование…
Немного о рефакторинге (от 27.10.2012)
Рефакторинг – представляет собой процесс такого изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя структура. Это способ систематического приведения кода в порядок, при котором шансы появления новых ошибок минимальны. В сущности, при проведении рефакторинга кода вы улучшаете его дизайн уже после того, как он написан. (М. Фаулер). В данной…
https://abap-blog.ru/osnovy-abap/refactoring/
Рефакторинг – представляет собой процесс такого изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя структура. Это способ систематического приведения кода в порядок, при котором шансы появления новых ошибок минимальны. В сущности, при проведении рефакторинга кода вы улучшаете его дизайн уже после того, как он написан. (М. Фаулер). В данной…
https://abap-blog.ru/osnovy-abap/refactoring/
abap-blog.ru
ABAP Blog | Немного о рефакторинге
Рефакторинг - представляет собой процесс такого изменения программной системы, при котором не меняется внешнее поведение кода, но улучшается его внутренняя
Сокрытие полей ввода на селекционном экране (от 27.10.2012)
Иногда возникает необходимость скрыть одно или несколько полей (или любой другой элемент) на экране в зависимости от некоторых условий. Существует несколько способов это сделать, как простых и незамысловатых, так и достаточно сложных, но дающих максимальную гибкость настройки экрана. Пойдем от простого к сложному. NO-DISPLAY для элементов экрана Для таких элементов экрана, как PARAMETERS и SELECT-OPTIONS есть дополнение…
https://abap-blog.ru/osnovy-abap/sap-dynpro/abaphr-ru-sokrytie-polej-vvoda-na-selekcionnom-ekrane/
Иногда возникает необходимость скрыть одно или несколько полей (или любой другой элемент) на экране в зависимости от некоторых условий. Существует несколько способов это сделать, как простых и незамысловатых, так и достаточно сложных, но дающих максимальную гибкость настройки экрана. Пойдем от простого к сложному. NO-DISPLAY для элементов экрана Для таких элементов экрана, как PARAMETERS и SELECT-OPTIONS есть дополнение…
https://abap-blog.ru/osnovy-abap/sap-dynpro/abaphr-ru-sokrytie-polej-vvoda-na-selekcionnom-ekrane/
abap-blog.ru
ABAP Blog | Сокрытие полей ввода на селекционном экране
Иногда возникает необходимость скрыть одно или несколько полей (или любой другой элемент) на экране в зависимости от некоторых условий. Существует несколько способов это сделать, как простых и незамысловатых, так и достаточно сложных, но дающих максимальную…
Использование юнит тестов в процессе разработки (от 09.11.2012)
Как показал опрос, достаточно мало людей слышали о применении юнит тестирования в ABAP. Все желающие могут ознакомится с основными понятиями в моём гостевом посте.
https://abap-blog.ru/osnovy-abap/ispolzovanie-yunit-testov-v-processe-razrabotki/
Как показал опрос, достаточно мало людей слышали о применении юнит тестирования в ABAP. Все желающие могут ознакомится с основными понятиями в моём гостевом посте.
https://abap-blog.ru/osnovy-abap/ispolzovanie-yunit-testov-v-processe-razrabotki/
abap-blog.ru
ABAP Blog | Использование юнит тестов в процессе разработки
Как показал опрос, достаточно мало людей слышали о применении юнит тестирования в ABAP. Все желающие могут ознакомится с основными понятиями в моём гостевом
Замена устаревших FM для ECC 6.0+ (от 27.11.2012)
Наткнулся недавно на весьма полезную подборку устаревших FM и их замену для новых версий системы.
https://abap-blog.ru/osnovy-abap/zamena-ustarevshix-fm-dlya-ecc-6-0/
Наткнулся недавно на весьма полезную подборку устаревших FM и их замену для новых версий системы.
https://abap-blog.ru/osnovy-abap/zamena-ustarevshix-fm-dlya-ecc-6-0/
abap-blog.ru
ABAP Blog | Замена устаревших FM для ECC 6.0+
Наткнулся недавно на весьма полезную подборку устаревших FM и их замену для новых версий системы.
Упакованные компоненты (от 24.03.2013)
Начиная с версии Ehp2 7.0 (ABAP Kernel 7.20) в ABAP появилась возможность использования так называемых упакованных компонентов. Объявить структуру с использованием упакованных компонентов мы можем как локально, с помощью ключевого слова BOXED, так и в словаре, выбрав тип типизации: В роли упакованных компонентов могут выступать как простые структуры, так и глубокие структуры (содержащие набор компонентов или…
https://abap-blog.ru/osnovy-abap/upakovannye-komponenty/
Начиная с версии Ehp2 7.0 (ABAP Kernel 7.20) в ABAP появилась возможность использования так называемых упакованных компонентов. Объявить структуру с использованием упакованных компонентов мы можем как локально, с помощью ключевого слова BOXED, так и в словаре, выбрав тип типизации: В роли упакованных компонентов могут выступать как простые структуры, так и глубокие структуры (содержащие набор компонентов или…
https://abap-blog.ru/osnovy-abap/upakovannye-komponenty/
abap-blog.ru
ABAP Blog | Упакованные компоненты
Начиная с версии Ehp2 7.0 (ABAP Kernel 7.20) в ABAP появилась возможность использования так называемых упакованных компонентов. Объявить структуру с использованием упакованных компонентов мы можем как локально, с помощью ключевого слова BOXED, так и в словаре…
Программа генерации 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/
Получить UML представление классов можно воспользовавшись стандартной программой: UML_CLASS_DIAGRAM. Для того чтобы программа заработала, при установке SAP GUI необходимо установить SAP JNet ActiveX компонент: Программа в действии:
https://abap-blog.ru/osnovy-abap/programma-generacii-uml-na-osnove-abap-klassov/
abap-blog.ru
ABAP Blog | Программа генерации UML на основе ABAP классов
Получить UML представление классов можно воспользовавшись стандартной программой: UML_CLASS_DIAGRAM. Для того чтобы программа заработала, при установке SAP GUI необходимо установить SAP JNet ActiveX компонент: Программа в действии:
Запуск WDP приложений в SAP GUI (от 05.04.2013)
Если есть необходимость запустить WDP приложение внутри SAP GUI, можно написать обертку над транзакцией WDYID, авторизация происходит через SSO.
https://abap-blog.ru/network/zapusk-wdp-prilozhenij-v-sap-gui/
Если есть необходимость запустить WDP приложение внутри SAP GUI, можно написать обертку над транзакцией WDYID, авторизация происходит через SSO.
https://abap-blog.ru/network/zapusk-wdp-prilozhenij-v-sap-gui/
abap-blog.ru
ABAP Blog | Запуск WDP приложений в SAP GUI
Если есть необходимость запустить WDP приложение внутри SAP GUI, можно написать обертку над транзакцией WDYID, авторизация происходит через SSO.
Простые трансформации (от 07.04.2013)
Простые трансформации – язык программирования компании SAP позволяющий преобразовывать данные из ABAP в XML (Сериализация) и из XML в ABAP (Десериализация). Простые трансформации представляют из себя специальный вид программ, которые при желании можно отлаживать как обычные ABAP программы. Запустить подобную программу можно с помощью ABAP оператора CALL TRANSFORMATION. Основные характеристики ST программ, в…
https://abap-blog.ru/osnovy-abap/prostye-transformacii/
Простые трансформации – язык программирования компании SAP позволяющий преобразовывать данные из ABAP в XML (Сериализация) и из XML в ABAP (Десериализация). Простые трансформации представляют из себя специальный вид программ, которые при желании можно отлаживать как обычные ABAP программы. Запустить подобную программу можно с помощью ABAP оператора CALL TRANSFORMATION. Основные характеристики ST программ, в…
https://abap-blog.ru/osnovy-abap/prostye-transformacii/
abap-blog.ru
ABAP Blog | Простые трансформации
Простые трансформации – язык программирования компании SAP позволяющий преобразовывать данные из ABAP в XML (Сериализация) и из XML в ABAP (Десериализация). Простые трансформации представляют из себя специальный вид программ, которые при желании можно отлаживать…
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/
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/
abap-blog.ru
ABAP Blog | ADBC — ABAP Database Connectivity
ADBC – объектно-ориентированное API, для взаимодействия с интерфейсом нативного SQL в ABAP. Может быть использован в том случае, когда необходим динамический доступ к нативному SQL, т.к. вызов через команды EXEC SQL не подразумевает динамической обработки.…
Нативная поддержка 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/
Начиная с версии 7.02 and 7.03/7.31 (Kernelpatch 116) JSON стал поддерживаться ABAP’ом.
https://abap-blog.ru/network/nativnaya-podderzhka-json-v-abap/
abap-blog.ru
ABAP Blog | Нативная поддержка JSON в ABAP
Начиная с версии 7.02 and 7.03/7.31 (Kernelpatch 116) JSON стал поддерживаться 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/
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/
abap-blog.ru
ABAP Blog | Проверка на запуск кода в режиме обновления
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. "Код запущен не через задачу обновления "возможно…
Очистка глобальных данных программы (от 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/
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/
abap-blog.ru
ABAP Blog | Очистка глобальных данных программы
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…