ABAP Daemon Framework

Демоны abap – это фоновые сеансы с неограниченным сроком жизни. Время выполнения которых, зависит только от работы сервера. В случае ошибок, возникших во время работы, демон перезапускается.

Попробуем создать простой демон для примера. Он будет следить за входом пользователя в указанную транзакцию.  По большому, счету это повторение демо-примера от SAP. Можно сразу смотреть там.

Для остальных ниже:
Читать далее «ABAP Daemon Framework»

Виртуальная сортировка внутренней таблицы

В abap 7.52 появилась возможность получить порядок записи внутренней таблицы не меняя исходные данные. Т.е., например, можно  виртуально отсортировать таблицу в import параметре по интересующему нас ключу.
Для этого был добавлен метод VIRTUAL_SORT класса cl_abap_itab_utilities.
Рассмотрим пример:

Читать далее «Виртуальная сортировка внутренней таблицы»

TRY … RETRY, CLEANUP, RESUME

Разберем несколько операторов в блокe TRY… ENDTRY.

Retry –  позволяет выполнить блок TRY  еще раз. Перед  перезапуском блока  необходимо  исправить ситуацию, из-за которой случилась ошибка. В противном случае, попадем в бесконечный цикл.  

RESUME – возобновляемое исключение. Программа возвращается к работе после исключения.

Читать далее «TRY … RETRY, CLEANUP, RESUME»

LOOP AT itab – GROUP BY

Оператор GROUP BY позволяет группировать значения в цикле по ключу. В чем-то это похоже на оператор AT NEW.

Давайте попробуем обработать записи таблицы splfi по уникальным значениям carrid. Для этого пропишем следующий код:

Читать далее «LOOP AT itab – GROUP BY»

Оператор FILTER

ABAP 7.4 вышел уже очень давно, однако, его операторы мало кто использует. Рассмотрим сегодня оператор FILTER который позволяет выбирать данные из одной внутренней таблицы в другую по ключам.
Читать далее «Оператор FILTER»

Путь анализа. Получение объектов по пути анализа.

Продолжаю рассказывать основы разработки в HCM, для разработчиков из других модулей. Недавно зашел в код программы, которую писал не HR абапер, и у меня чуть не случился приступ. Селекты, конечно, красивые…


Вводная информация.
Объект ОМ – это сущность в организационном менеджменте, которая отображает некий объект реального мира или абстракцию. Различаются они типом объектов. Например S – Штатная должность, O – Организационная единица, A -Рабочее место и так далее. Существование объекта означает наличие записи в инфо-типе 1000 в определенном временном периоде. Остальные инфо-типы хранят свойства этого объекта. Исключение Табельный номер, данные объекты являются объектами PA и ведутся немного в других ИТ.

Читать далее «Путь анализа. Получение объектов по пути анализа.»

SQ01 Устаревший инфо-запрос

После редактирования инфо-набора, инфо-запрос при попытке редактирования может выдавать сообщение – “Разница между запросом и инфо-набором”. А при попытке изменения произойдет дамп “Exception condition “NOT_FOUND” triggered”

Читать далее «SQ01 Устаревший инфо-запрос»

ЛБД PNPCE

ЛБД PNPCE служит для выбора данных модуля PA и является более новой версией ЛБД PNP c функциями для работы с центральным лицом(CE). На сегодняшний день в 100% случаях используется именно она, даже если работа с CE вам не нужна.
Как и в случае с организационным менеджментом при разработке отчетов для администрирования персонала необходимо использовать ЛБД. Не буду повторятся о необходимости использования, почитайте.

Это не полное руководство, а лишь обзор ЛБД PNPCE

Читать далее «ЛБД PNPCE»

ЛБД PCH

Для разработчиков, не знакомых с HCM, будет полезным узнать подходе к разработке, основанном на логических базах данных.
Если кратко, то ЛБД позволяет извлекать типовые данные HCM, не используя SELECT и даже FM-ы для чтения. Они, конечно, используются в глубине логики ЛБД, но скрыты от разработчика.
Небольшая оговорка для не HCM программистов – когда вы используете для доступа к инфо-типам SELECT, в 99% случаях вы делаете не правильно. Бегом читать курс HR350. Модуль HCM работает с персональными данными людей, данная информация всегда жестко защищена законодательством и несанкционированный доступ к ней карается. Если вы не используете ЛБД или специализированные ФМ-мы необходимо проверять полномочия отдельно.
Кроме того, ЛБД создает экран программы(рис 1.), который удовлетворяет большинство потребностей HCM приложений. Будем честны, как правило, они не так уж и сложны. При этом экран можно настраивать.
Разберем создание отчета на базе ЛБД PCH, данная ЛБД используется для доступа к данным организационного менеджмента, т.к. очень хорошо работает с организационной структурой.

Читать далее «ЛБД PCH»