Демоны abap - это фоновые сеансы с неограниченным сроком жизни. Время выполнения которых, зависит только от работы сервера. В случае ошибок, возникших во время работы, демон перезапускается.
Попробуем создать простой демон для примера. Он будет следить за входом пользователя в указанную транзакцию. По большому, счету это повторение демо-примера от SAP. Можно сразу смотреть там.
Для остальных ниже:
Читать далее «ABAP Daemon Framework»
Месяц: Апрель 2020
Виртуальная сортировка внутренней таблицы
В abap 7.52 появилась возможность получить порядок записи внутренней таблицы не меняя исходные данные. Т.е., например, можно виртуально отсортировать таблицу в import параметре по интересующему нас ключу.
Для этого был добавлен метод VIRTUAL_SORT класса cl_abap_itab_utilities.
Рассмотрим пример:
TRY … RETRY, CLEANUP, RESUME
Разберем несколько операторов в блокe TRY... ENDTRY.
Retry - позволяет выполнить блок TRY еще раз. Перед перезапуском блока необходимо исправить ситуацию, из-за которой случилась ошибка. В противном случае, попадем в бесконечный цикл.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
types: begin of gty_s_fio, pernr type text8, "в тестовой системе нет hr типов fio type text100, bukrs type bukrs, end of gty_s_fio. data gt_fio type table of gty_s_fio. try. data(gs_data) = gt_fio[ bukrs = '0001' ]. catch cx_root. append value #( pernr = '90000001' fio = 'Ivanov I.I.' bukrs = '0001' ) to gt_fio. retry. endtry. |
RESUME - возобновляемое исключение. Программа возвращается к работе после исключения.
LOOP AT itab – GROUP BY
Оператор GROUP BY позволяет группировать значения в цикле по ключу. В чем-то это похоже на оператор AT NEW.
Давайте попробуем обработать записи таблицы splfi по уникальным значениям carrid. Для этого пропишем следующий код:
1 2 3 4 5 6 7 8 9 10 11 |
DATA: lt_splfi TYPE TABLE OF spfli. SELECT * FROM spfli INTO TABLE lt_splfi. LOOP AT lt_splfi INTO DATA(ls_splfi) GROUP BY ( carrid = ls_splfi-carrid size = GROUP SIZE index = GROUP INDEX ) ASCENDING REFERENCE INTO DATA(rv_group). write: / rv_group->carrid. ENDLOOP. |
Оператор FILTER
ABAP 7.4 вышел уже очень давно, однако, его операторы мало кто использует. Рассмотрим сегодня оператор FILTER который позволяет выбирать данные из одной внутренней таблицы в другую по ключам.
Читать далее «Оператор FILTER»
Путь анализа. Получение объектов по пути анализа.
Продолжаю рассказывать основы разработки в HCM, для разработчиков из других модулей. Недавно зашел в код программы, которую писал не HR абапер, и у меня чуть не случился приступ. Селекты, конечно, красивые...
Вводная информация.
Объект ОМ - это сущность в организационном менеджменте, которая отображает некий объект реального мира или абстракцию. Различаются они типом объектов. Например S - Штатная должность, O - Организационная единица, A -Рабочее место и так далее. Существование объекта означает наличие записи в инфо-типе 1000 в определенном временном периоде. Остальные инфо-типы хранят свойства этого объекта. Исключение Табельный номер, данные объекты являются объектами PA и ведутся немного в других ИТ.
Читать далее «Путь анализа. Получение объектов по пути анализа.»