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

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


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

Если мы представим себе структуру нашего отдела или предприятия, то  увидим обычное дерево. В системе объекты связаны между собой в таком же порядке. Эта связь хранится в инфо-типе 1001. Причем, создается она сразу в двух видах От объекта X к объекту Y и обратно. Только в одном случае имеет префикс А, в другом B.

Пока это все звучит довольно абстрактно и непонятно. Давайте для наглядности посмотрим, как это все выглядит в транзакции PPOSE

Объект может быть связан с множеством других объектов различными связями. В PPOSE мы видим лишь определенные соединения, согласно настройке. Логично предположить, что SAP предусмотрел механизм обхода и настройки обхода данных связей без дополнительной разработки, а только при помощи одной лишь настройки.


Путь анализа - описывает алгоритм поиска объектов при помощи данных 1001 ИТ. Определение не из книжки, однако суть передает.
Ведение путей анализа осуществляется в транзакции SPRO
Менеджмент персонала->Организационный менеджмент->Основные параметры настройки->Ведение путей анализа
Или транзакция OOAW

Посмотрим один из самых часто используемых путей анализа O-S-P .

Тут довольно легко разобраться. Указывается Тип объекта, соединение и тип объекта который хотим найти по этому соединению. Данные обрабатываются цикле или рекурсивно, т.е. если в первой итерации мы от объекта O нашли объект S. В следующей попробуем найти объект P от этого объекта S.
По такой схеме можно извлечь любую информацию из организационной структуры и пройти ее как сверху вниз, так и снизу вверх.
Для примера можно посмотреть еще несколько соединений и все станет понятно.

Тестирование путей анализа можно осуществить в транзакции - PPST. Данная транзакция представляет собой отчет с использованием ЛБД PCH

Получение организационной структуры по пути анализа

Для получения данных по пути анализа в abap используется функциональный модуль RH_STRUC_GET
Во входных параметрах модуля указываем корневой объект для нашего поиска и путь анализа.
На выходе получим три таблицы. RESULT_OBJEC и RESULT_TAB -являются просто списком найденных объектов. А вот RESULT_STRUC хранит в себе связи между объектами. Что позволяет осуществлять навигацию по результату.

 

Более подробно
И вот еще...

 

Добавить комментарий

Ваш адрес email не будет опубликован.