Очистка selection-screen (от 09.04.2012)
Когда пользователь возвращается на экран выбора, данные которые были уже введены ранее сохраняются, для того чтобы программа обработки экрана выбора не сохраняла введенные значения можно воспользоваться следующим кодом: START-OF-SELECTION. FIELD-SYMBOLS : . ASSIGN ('(RSDBRUNT)MEMKEY-INT_MODE') TO . IF sy-subrc = 0 . = '01' . ENDIF.
https://abap-blog.ru/osnovy-abap/sap-dynpro/sbros-vvedennyx-dannyx-v-selection-screen/
Когда пользователь возвращается на экран выбора, данные которые были уже введены ранее сохраняются, для того чтобы программа обработки экрана выбора не сохраняла введенные значения можно воспользоваться следующим кодом: START-OF-SELECTION. FIELD-SYMBOLS : . ASSIGN ('(RSDBRUNT)MEMKEY-INT_MODE') TO . IF sy-subrc = 0 . = '01' . ENDIF.
https://abap-blog.ru/osnovy-abap/sap-dynpro/sbros-vvedennyx-dannyx-v-selection-screen/
abap-blog.ru
ABAP Blog | Очистка selection-screen
Код для очистки экрана выбора в ABAP программах.
Вставить картинку справа на начальном экране (от 09.04.2012)
Во многих компаниях на начальный экран (тот что после авторизации) с правой стороны помещают свой логотип, делается это следующим образом: Через транзакцию SMW0 загружают новое изображение Через ведение ракурса (SM30) – SSM_CUST указывают имя загруженного изображения – START_IMAGE Устанавливают значение HIDE_START_IMAGE – в NO. В этом же ракурсе можно отключить использование SAP меню – SAP_MENU_OFF или пользовательские меню –…
https://abap-blog.ru/enhancements/vstavit-kartinku-sprava-na-nachalnom-ekrane/
Во многих компаниях на начальный экран (тот что после авторизации) с правой стороны помещают свой логотип, делается это следующим образом: Через транзакцию SMW0 загружают новое изображение Через ведение ракурса (SM30) – SSM_CUST указывают имя загруженного изображения – START_IMAGE Устанавливают значение HIDE_START_IMAGE – в NO. В этом же ракурсе можно отключить использование SAP меню – SAP_MENU_OFF или пользовательские меню –…
https://abap-blog.ru/enhancements/vstavit-kartinku-sprava-na-nachalnom-ekrane/
abap-blog.ru
ABAP Blog | Вставить картинку справа на начальном экране
Во многих компаниях на начальный экран (тот что после авторизации) с правой стороны помещают свой логотип, делается это следующим образом: Через транзакцию SMW0
Обход проверок полномочий (от 10.04.2012)
Иногда возникают ситуации когда прав на запуск той или иной транзакции в системе нет, а права на отладку системы имеются, обойти ограничение на запуск, без изменения полномочий, можно следующим образом: Ставим точку в ФМ: SMTR_KERNEL_CHECK_AUTHORITY Нажимаем F7, чистим P_CANCEL_FLAG Другая часто встречающаяся ситуация: есть полномочия на запуск программ, но нет на запуск функций, идем в SE38 и запускаем…
https://abap-blog.ru/osnovy-abap/obxod-proverok-polnomochij/
Иногда возникают ситуации когда прав на запуск той или иной транзакции в системе нет, а права на отладку системы имеются, обойти ограничение на запуск, без изменения полномочий, можно следующим образом: Ставим точку в ФМ: SMTR_KERNEL_CHECK_AUTHORITY Нажимаем F7, чистим P_CANCEL_FLAG Другая часто встречающаяся ситуация: есть полномочия на запуск программ, но нет на запуск функций, идем в SE38 и запускаем…
https://abap-blog.ru/osnovy-abap/obxod-proverok-polnomochij/
abap-blog.ru
ABAP Blog | Обход проверок полномочий
Обход проверок полномочий в SAP.
Работа с MIME репозитарием (от 13.04.2012)
Работа с MIME репозитарием через ABAP возможна используя класс: cl_mime_repository_api. Пример его использования: REPORT ZMIME_API. DATA: go_mime_api TYPE REF TO if_mr_api, gv_x_str TYPE XSTRING, gv_str TYPE STRING. " Создает экземпляр класса для работы с репозитарием go_mime_api = cl_mime_repository_api=>get_api( ). gv_str = 'Hello World!'. " Преобразуем в XSTRING CALL FUNCTION 'HR_KR_STRING_TO_XSTRING' EXPORTING unicode_string = gv_str IMPORTING…
https://abap-blog.ru/osnovy-abap/rabota-s-mime-repozitariem/
Работа с MIME репозитарием через ABAP возможна используя класс: cl_mime_repository_api. Пример его использования: REPORT ZMIME_API. DATA: go_mime_api TYPE REF TO if_mr_api, gv_x_str TYPE XSTRING, gv_str TYPE STRING. " Создает экземпляр класса для работы с репозитарием go_mime_api = cl_mime_repository_api=>get_api( ). gv_str = 'Hello World!'. " Преобразуем в XSTRING CALL FUNCTION 'HR_KR_STRING_TO_XSTRING' EXPORTING unicode_string = gv_str IMPORTING…
https://abap-blog.ru/osnovy-abap/rabota-s-mime-repozitariem/
abap-blog.ru
ABAP Blog | Работа с MIME репозитарием
ABAP код для чтения (записи) MIME объектов.
Что нового в ABAP c версии NW 7.0 EhP2 (от 16.04.2012)
Второй пакет принес множество обновлений как в сам язык, так и в среду разработки. Хороший обзор по обновлениям можно найти тут, или тут
https://abap-blog.ru/osnovy-abap/chto-novogo-v-abap-c-versii-nw-7-0-ehp2/
Второй пакет принес множество обновлений как в сам язык, так и в среду разработки. Хороший обзор по обновлениям можно найти тут, или тут
https://abap-blog.ru/osnovy-abap/chto-novogo-v-abap-c-versii-nw-7-0-ehp2/
abap-blog.ru
ABAP Blog | Что нового в ABAP c версии NW 7.0 EhP2
Второй пакет принес множество обновлений как в сам язык, так и в среду разработки. Хороший обзор по обновлениям можно найти тут, или тут
Программы автоматического поиска расширений (от 17.04.2012)
Ниже небольшой обзор утилит для поиска расширений. Поиск активных пользовательских расширений SNIF Стандартный отчёт который поставляет SAP для поиска всех пользовательских расширений активных в системе. Внешний вид отчёта: ABAP X-Ray Eye Данный отчёт разработан Andrea Olivieri создан по тому же принципу что и SNIF, но позволяет искать на много больше объектов: Скачать его можно на google code…
https://abap-blog.ru/enhancements/programmy-avtomaticheskogo-poiska-rasshirenij/
Ниже небольшой обзор утилит для поиска расширений. Поиск активных пользовательских расширений SNIF Стандартный отчёт который поставляет SAP для поиска всех пользовательских расширений активных в системе. Внешний вид отчёта: ABAP X-Ray Eye Данный отчёт разработан Andrea Olivieri создан по тому же принципу что и SNIF, но позволяет искать на много больше объектов: Скачать его можно на google code…
https://abap-blog.ru/enhancements/programmy-avtomaticheskogo-poiska-rasshirenij/
abap-blog.ru
ABAP Blog | Программы автоматического поиска расширений
Обзор программ для автоматизации поиска расширений внутри SAP.
Тестирование функций в SE37 c commit work (от 17.04.2012)
Иногда возникает ситуация когда при тестировании того или иного функционального модуля необходимо после его работы совершить обновление базы данных – вызвать commit work. Для того чтобы это сделать можно воспользоваться очень простым трюком. В SE37 заходим в меню ФМ -> Тест -> тестовые последовательности: И указать в конце последовательности вызовов BAPI_TRANSACTION_COMMIT:
https://abap-blog.ru/osnovy-abap/testirovanie-funkcij-v-se37-c-commit-work/
Иногда возникает ситуация когда при тестировании того или иного функционального модуля необходимо после его работы совершить обновление базы данных – вызвать commit work. Для того чтобы это сделать можно воспользоваться очень простым трюком. В SE37 заходим в меню ФМ -> Тест -> тестовые последовательности: И указать в конце последовательности вызовов BAPI_TRANSACTION_COMMIT:
https://abap-blog.ru/osnovy-abap/testirovanie-funkcij-v-se37-c-commit-work/
abap-blog.ru
ABAP Blog | Тестирование функций в SE37 c commit work
Иногда возникает ситуация когда при тестировании того или иного функционального модуля необходимо после его работы совершить обновление базы данных — вызвать commit work. Для того чтобы это сделать можно воспользоваться очень простым трюком. В SE37 заходим…
Иконки на экране выбора (от 17.04.2012)
Редко где в SAP транзакциях увидишь использование иконок на экране выбора, однако их использование может быть вполне полезным, вот например поле для выбора формата ALV выглядит более наглядным: При этом дополнительной кодировки не требуется, достаточно указать код иконки в тексте критериев выбора: Код иконки можно посмотреть в программе – SHOWICON.
https://abap-blog.ru/osnovy-abap/sap-dynpro/nebolshoj-tryuk-v-sap-ui/
Редко где в SAP транзакциях увидишь использование иконок на экране выбора, однако их использование может быть вполне полезным, вот например поле для выбора формата ALV выглядит более наглядным: При этом дополнительной кодировки не требуется, достаточно указать код иконки в тексте критериев выбора: Код иконки можно посмотреть в программе – SHOWICON.
https://abap-blog.ru/osnovy-abap/sap-dynpro/nebolshoj-tryuk-v-sap-ui/
abap-blog.ru
ABAP Blog | Иконки на экране выбора
Иконки на экране выбора ABAP программ.
ОЗМ – добавление экранов в транзакции MM01,MM02,MM03 (от 20.04.2012)
В данной статье будет показано каким образом через настройку системы можно расширить стандартные экраны ведения ОЗМ для транзакций MM01,MM02,MM03. Каких-либо BADI или Screen-exit’ов для расширения этих экранов не существует, но есть последовательность операций в SPRO благодаря которой мы можем их расширить. Далее будет продемонстрировано как добавить дополнительный подэкран в в дополнительных данных MM01-MM03. 1. Перейдите…
https://abap-blog.ru/enhancements/ozm-dobavlenie-ekranov-v-tranzakcii-mm01mm02mm03/
В данной статье будет показано каким образом через настройку системы можно расширить стандартные экраны ведения ОЗМ для транзакций MM01,MM02,MM03. Каких-либо BADI или Screen-exit’ов для расширения этих экранов не существует, но есть последовательность операций в SPRO благодаря которой мы можем их расширить. Далее будет продемонстрировано как добавить дополнительный подэкран в в дополнительных данных MM01-MM03. 1. Перейдите…
https://abap-blog.ru/enhancements/ozm-dobavlenie-ekranov-v-tranzakcii-mm01mm02mm03/
abap-blog.ru
ABAP Blog | ОЗМ — добавление экранов в транзакции MM01,MM02,MM03
Расширение основной записи материала и экранов его ведения.
Автоматический запуск транзакции (от 20.04.2012)
С помощью ФМ – NAVIGATION_SET_START_TCODE и NAVIGATION_GET_START_TCODE можно определить автоматический запуск транзакции для пользователя.
https://abap-blog.ru/osnovy-abap/avtomaticheskij-zapusk-tranzakcii/
С помощью ФМ – NAVIGATION_SET_START_TCODE и NAVIGATION_GET_START_TCODE можно определить автоматический запуск транзакции для пользователя.
https://abap-blog.ru/osnovy-abap/avtomaticheskij-zapusk-tranzakcii/
abap-blog.ru
ABAP Blog | Автоматический запуск транзакции
С помощью ФМ - NAVIGATION_SET_START_TCODE и NAVIGATION_GET_START_TCODE можно определить автоматический запуск транзакции для пользователя.
Возврат назад при отладке (от 20.04.2012)
Часто при отладке программы возникает ситуация когда необходимо протестировать вызов того или иного ФМ, ставим точку на вызове ФМ нажимаем F5, далее выходим из него по F7 и понимаем что не все параметры были указаны верно, к примеру при вызове ФМ ниже был не верно указан класс – lv_objkey: Казалось бы уже ничего нельзя поделать…
https://abap-blog.ru/osnovy-abap/vozvrat-nazad-pri-otladke/
Часто при отладке программы возникает ситуация когда необходимо протестировать вызов того или иного ФМ, ставим точку на вызове ФМ нажимаем F5, далее выходим из него по F7 и понимаем что не все параметры были указаны верно, к примеру при вызове ФМ ниже был не верно указан класс – lv_objkey: Казалось бы уже ничего нельзя поделать…
https://abap-blog.ru/osnovy-abap/vozvrat-nazad-pri-otladke/
abap-blog.ru
ABAP Blog | Возврат назад при отладке
Часто при отладке программы возникает ситуация когда необходимо протестировать вызов того или иного ФМ, ставим точку на вызове ФМ нажимаем F5, далее выходим из
Поиск методов в классах/интерфейсах (от 21.04.2012)
Для того чтобы найти метод класса/интерфейса по его имени, достаточно зайти в таблицу SEOCOMPO, в качестве компонента указать имя метода: В случае если вам нужен не программный поиск, лучше воспользоваться инфо-системой репозитария – тр. SE15
https://abap-blog.ru/osnovy-abap/poisk-metodov-v-klassaxinterfejsax/
Для того чтобы найти метод класса/интерфейса по его имени, достаточно зайти в таблицу SEOCOMPO, в качестве компонента указать имя метода: В случае если вам нужен не программный поиск, лучше воспользоваться инфо-системой репозитария – тр. SE15
https://abap-blog.ru/osnovy-abap/poisk-metodov-v-klassaxinterfejsax/
abap-blog.ru
ABAP Blog | Поиск методов в классах/интерфейсах
Для того чтобы найти метод класса/интерфейса по его имени, достаточно зайти в таблицу SEOCOMPO, в качестве компонента указать имя метода: В случае если вам нужен не программный поиск, лучше воспользоваться инфо-системой репозитария — тр. SE15
Работа с SALV Tree (от 26.04.2012)
Для отображения иерархического дерева состоящего из любого числа уровней иерархии в SALV модели используется класс – cl_salv_tree. Строки в таком дереве называются узлами. Каждый узел, не важно, на каком он уровне, имеет одинаковую структуру со всеми остальными. Дерево, как и другие классы SALV модели, создается с помощью фабрично-статического метода factory(). При этом при его вызове…
https://abap-blog.ru/osnovy-abap/sap-dynpro/rabota-s-salv-tree/
Для отображения иерархического дерева состоящего из любого числа уровней иерархии в SALV модели используется класс – cl_salv_tree. Строки в таком дереве называются узлами. Каждый узел, не важно, на каком он уровне, имеет одинаковую структуру со всеми остальными. Дерево, как и другие классы SALV модели, создается с помощью фабрично-статического метода factory(). При этом при его вызове…
https://abap-blog.ru/osnovy-abap/sap-dynpro/rabota-s-salv-tree/
abap-blog.ru
ABAP Blog | Работа с SALV Tree
Для отображения иерархического дерева состоящего из любого числа уровней иерархии в SALV модели используется класс — cl_salv_tree. Строки в таком дереве называются узлами. Каждый узел, не важно, на каком он уровне, имеет одинаковую структуру со всеми остальными.…
Работа с SALV Hierseq Table (от 28.04.2012)
Для отображения иерархической таблицы с двумя уровнями иерархии (главный и подчиненный) в SALV модели используется класс – cl_salv_hierseq_table. Примером подобной иерархии может служить заказ на закупку, который состоит из заголовочной части и позиций заказа. Связь в этой иерархии осуществляется с помощью ключевого поля «номер заказа» в заголовке и позиции заказа. Таблица создается с помощью фабрично-статического…
https://abap-blog.ru/osnovy-abap/sap-dynpro/rabota-s-salv-hierseq-tabl/
Для отображения иерархической таблицы с двумя уровнями иерархии (главный и подчиненный) в SALV модели используется класс – cl_salv_hierseq_table. Примером подобной иерархии может служить заказ на закупку, который состоит из заголовочной части и позиций заказа. Связь в этой иерархии осуществляется с помощью ключевого поля «номер заказа» в заголовке и позиции заказа. Таблица создается с помощью фабрично-статического…
https://abap-blog.ru/osnovy-abap/sap-dynpro/rabota-s-salv-hierseq-tabl/
abap-blog.ru
ABAP Blog | Работа с SALV Hierseq Table
Для отображения иерархической таблицы с двумя уровнями иерархии (главный и подчиненный) в SALV модели используется класс — cl_salv_hierseq_table. Примером подобной иерархии может служить заказ на закупку, который состоит из заголовочной части и позиций заказа.…
Экран выбора – материал, завод, склад (от 02.05.2012)
Один из простых способов выбрать последовательно материал – завод – склад, с учётом зависимости воспользоваться следующими ФМ: REPORT zre_test. PARAMETERS: p_matnr TYPE matnr, " Материал p_werks TYPE werks, " Завод p_lgort TYPE mard-lgort. " Склад AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-NAME = 'P_WERKS' AND p_matnr IS INITIAL. screen-INPUT = '0'. CLEAR p_werks. MODIFY…
https://abap-blog.ru/osnovy-abap/sap-dynpro/vybor-material-zavod-sklad/
Один из простых способов выбрать последовательно материал – завод – склад, с учётом зависимости воспользоваться следующими ФМ: REPORT zre_test. PARAMETERS: p_matnr TYPE matnr, " Материал p_werks TYPE werks, " Завод p_lgort TYPE mard-lgort. " Склад AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF screen-NAME = 'P_WERKS' AND p_matnr IS INITIAL. screen-INPUT = '0'. CLEAR p_werks. MODIFY…
https://abap-blog.ru/osnovy-abap/sap-dynpro/vybor-material-zavod-sklad/
abap-blog.ru
ABAP Blog | Экран выбора — материал, завод, склад
Один из простых способов выбрать последовательно материал — завод — склад, с учётом зависимости воспользоваться следующими ФМ: REPORT zre_test. PARAMETERS: p_matnr TYPE matnr, " Материал p_werks TYPE werks, " Завод p_lgort TYPE mard-lgort. " Склад AT SELECTION…
SAP Chart Engine (от 21.05.2012)
CE – это библиотека которая поможет вам создавать графики в SAP NW. Использовать CE можно по двум сценариям: С помощью Internet Graphics Service используя класс cl_igs_chart_engine Как ActiveX GUI контрол в Windows клиенте SAP GUI через класс cl_gui_chart_engine. Рассмотрим второй сценарий. Работа с контролом CE подобна тому, как мы работаем с ALV, сначала необходимо создать…
https://abap-blog.ru/osnovy-abap/sap-chart-engine/
CE – это библиотека которая поможет вам создавать графики в SAP NW. Использовать CE можно по двум сценариям: С помощью Internet Graphics Service используя класс cl_igs_chart_engine Как ActiveX GUI контрол в Windows клиенте SAP GUI через класс cl_gui_chart_engine. Рассмотрим второй сценарий. Работа с контролом CE подобна тому, как мы работаем с ALV, сначала необходимо создать…
https://abap-blog.ru/osnovy-abap/sap-chart-engine/
abap-blog.ru
ABAP Blog | SAP Chart Engine
CE – это библиотека которая поможет вам создавать графики в SAP NW. Использовать CE можно по двум сценариям: С помощью Internet Graphics Service используя класс cl_igs_chart_engine Как ActiveX GUI контрол в Windows клиенте SAP GUI через класс cl_gui_chart_engine.…
Введение в Debugger Scripting (от 29.05.2012)
Скрипты необходимы чтобы автоматизировать действия, производимые в отладчике вручную. К примеру, можно совершить 1000 шагов в цикле, изменять и получать значения переменных. Кроме того данный механизм позволит вам выполнять следующие действия: Изменять ход выполнения программы (путем изменения переменных) Анализировать значения переменных и ход выполнения программы Создавать журналы выполнения программы (трассировки) Создавать точки наблюдения и остановок,…
https://abap-blog.ru/osnovy-abap/vvedenie-v-debugger-scripting/
Скрипты необходимы чтобы автоматизировать действия, производимые в отладчике вручную. К примеру, можно совершить 1000 шагов в цикле, изменять и получать значения переменных. Кроме того данный механизм позволит вам выполнять следующие действия: Изменять ход выполнения программы (путем изменения переменных) Анализировать значения переменных и ход выполнения программы Создавать журналы выполнения программы (трассировки) Создавать точки наблюдения и остановок,…
https://abap-blog.ru/osnovy-abap/vvedenie-v-debugger-scripting/
abap-blog.ru
ABAP Blog | Введение в Debugger Scripting
Скрипты необходимы чтобы автоматизировать действия, производимые в отладчике вручную. К примеру, можно совершить 1000 шагов в цикле, изменять и получать значения переменных. Кроме того данный механизм позволит вам выполнять следующие действия: Изменять ход…
Ненормальное программирование (от 21.06.2012)
Периодически встречаются программы использующие ALV таблицу в виде иерархии, к примеру ME59N. Ниже будет пример того как сделать нечто подобное. Для работы программы необходим GUI статус с тремя кнопками (см код.). Код не самый оптимальный, исключительно ради примера: REPORT zalv_pl. TYPE-POOLS: . TYPES: BEGIN OF ty_spfli_ex, icon_field TYPE icon_d, t_cell_type TYPE SALV_T_INT4_COLUMN, t_color TYPE lvc_t_scol.…
https://abap-blog.ru/osnovy-abap/sap-dynpro/nenormalnoe-programmirovanie/
Периодически встречаются программы использующие ALV таблицу в виде иерархии, к примеру ME59N. Ниже будет пример того как сделать нечто подобное. Для работы программы необходим GUI статус с тремя кнопками (см код.). Код не самый оптимальный, исключительно ради примера: REPORT zalv_pl. TYPE-POOLS: . TYPES: BEGIN OF ty_spfli_ex, icon_field TYPE icon_d, t_cell_type TYPE SALV_T_INT4_COLUMN, t_color TYPE lvc_t_scol.…
https://abap-blog.ru/osnovy-abap/sap-dynpro/nenormalnoe-programmirovanie/
abap-blog.ru
ABAP Blog | Ненормальное программирование
Периодически встречаются программы использующие ALV таблицу в виде иерархии, к примеру ME59N. Ниже будет пример того как сделать нечто подобное. Для работы
Выгрузить данные из ALV в XML с произвольной структурой (от 05.07.2012)
Задача: результат работы стандартного отчёта необходимо выгрузить в XML файл, с применением определенных правил построения XML (заданной схемой). В качестве решения будут использованы шаблоны для ракурса Microsoft Excel в ALV. Инструкцию о том как их использовать вы можете найти на сайте sapland.ru Excel будет выступать в качестве конвертора. Выгрузив файл через стандартный шаблон в…
https://abap-blog.ru/osnovy-abap/sap-dynpro/vygruzit-dannye-iz-alv-v-xml-s-proizvolnoj-strukturoj/
Задача: результат работы стандартного отчёта необходимо выгрузить в XML файл, с применением определенных правил построения XML (заданной схемой). В качестве решения будут использованы шаблоны для ракурса Microsoft Excel в ALV. Инструкцию о том как их использовать вы можете найти на сайте sapland.ru Excel будет выступать в качестве конвертора. Выгрузив файл через стандартный шаблон в…
https://abap-blog.ru/osnovy-abap/sap-dynpro/vygruzit-dannye-iz-alv-v-xml-s-proizvolnoj-strukturoj/
abap-blog.ru
ABAP Blog | Выгрузить данные из ALV в XML с произвольной структурой
Задача: результат работы стандартного отчёта необходимо выгрузить в XML файл, с применением определенных правил построения XML (заданной схемой). В качестве решения будут использованы шаблоны для ракурса Microsoft Excel в ALV. Инструкцию о том как их использовать…
Guidelines for Best-Built Applications (от 26.07.2012)
Guidelines for Best-Built Applications Wiki версия
https://abap-blog.ru/osnovy-abap/guidelines-for-best-built-applications/
Guidelines for Best-Built Applications Wiki версия
https://abap-blog.ru/osnovy-abap/guidelines-for-best-built-applications/
abap-blog.ru
ABAP Blog | Guidelines for Best-Built Applications
Guidelines for Best-Built Applications Wiki версия