Комментарии по теме

«Как эффе­кти­вно испо­льзо­ва­ть инфотипы пла­ни­ру­е­мо­го во­зна­гра­жде­ния для по­стро­е­ния стратегии во­зна­гра­жде­ний»
Юрий Щербаков:
В статье достаточно подробно и, в то же время, компактно описано назначение инфо-типа 1005 (Нормативная оплата), используемого для штатных должностей (объекты типа S). Примечание: Из этих объектов...
«Создание деревьев принятия решений с помощью ста­нда­ртных операций SAP»
Александр Иванов:
Автор описывет использование функции IF в схеме расчёта, приводит понятный пример. Знания, нужные любому консультанту.   Я бы добавил, что в конструкции IF ENDIF можно использовать функцию...
«Стру­кту­рные по­лно­мо­чия»
Михаилй Братковский:
Небольшое уточнение: 1. Для роли табельного учета и роли по заработной плате должны быть созданы разные профили структурных полномочий. 2. Если присвоить профиль структурных полномочий...

База знаний

Вы можете подписаться на эту колонки этого автора, если авторизируетесь или зарегистрируетесь

Записки о модуле Human Resources системы SAP ERP. Штатное расписание

06 сентября 2016, 09:02

4.1 Инфотипы

Штатное расписание – это исключительно русское понятие. За границей больше используется термин «организационная структура». Поэтому предлагаю попытаться посмотреть на привычную для нас оргструктуру немного шире, как это делает система SAP в модуле организационного менеджмента.

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

Объекты – это всего лишь записи в табличке. По сути объект – как табельный номер в системе, он всегда один. Так и здесь, объект – это запись инфотипа 1000 «Объект». Остальные инфотипы дополняют его характеристиками этого объекта. В организационном менеджменте инфотип 1002 «Вербальное описание», в кадровом администрировании – инфотип 0002 «Персональные данные». Много аналогий. Таким образом, объект в системе появляется вместе с созданием инфотипа 1000, как и табельный номер с созданием инфотипа 0000. Отличительной особенностью объекта от табельного номера является тип объекта. В системе с одним идентификатором может быть множество объектов. Типы позволяют разделять объекты: «O» – организационная структура, «A» – рабочее место, «C» – должность, «S» – штатная позиция, «K» – МВЗ и так далее.

Друг с другом объекты связывают с помощью инфотипа 1001 «Соединения». Соединения примечательны тем, что они имеют множество подтипов, которые используются для описания характера связи. Условно: объект «А» подчиняется объекту «Б», объект «А» состоит из объектов «С», «Д». Связи могут быть двунаправленными, как снизу вверх, так и сверху вниз. Это позволяет легко анализировать структуры в любом направлении. Такое разделение осуществляется с помощью вида соединения: A – «снизу вверх» , B – «сверху вниз» (Рис. 4.1).

Рис. 4.1

Все инфотипы оргменеджмента находятся в диапазоне 1000 – 1999. Практически ко всем можно обратиться с помощью транзакции PP01/PP02. Какие инфотипы разрешены для каких типов объектов, определяется настройками системы.

Следует отметить, что именно модуль «Организационный менеджмент» является несущим с точки зрения интеграции между модулями. Модуль используется в потоках операций (Workflow) для маршрутизации задач, в логистике для создания рабочих мест и локаций (например, в ТОРО), может использоваться для назначения ролей полномочий сотрудникам в зависимости от их позиции. Судя по количеству стандартных типов объектов в системе, организационный менеджмент много где используется.

4.2 Путь анализа

Путь анализа – это маленькая настройка в системе. Для пользователя это объект с кодом и названием. Назначение – сказать, по каким соединениям и объектам нужно пройти программе (отчету), чтобы вывести информацию из иерархии организационного менеджмента. Путь анализа можно сравнить с прокладкой маршрута в автомобильном навигаторе, где дороги – это соединения, а населенные пункты – объекты. К одному и тому же городу можно подъехать с разных сторон. Например, путь анализа «O-O» говорит, что перемещаться нужно только по связям между объектами «O» «Организационная единица». «O-S-P» говорит, что нужно вывести все объекты «S» «Штатная позиция» для всех объектов «O» «Организационная единица», а для всех объектов «S» вывести все объекты «P» «Лицо» (табельные номера по сути). Таким образом, с помощью пути анализа «O-S-P» можно вывести организационно-штатную структуру, а с помощью пути анализа «O-O-S» вывести структуру оргединиц со штатными должностями, но без табельных номеров (Рис. 4.2).

Рис. 4.2

В системе изначально настроено множество путей анализа, поэтому зачастую можно пользоваться уже существующими. Если вы создаете новый объект в организационном менеджменте, то не забудьте создать путь анализа.

4.3 Транзакции (PPOME, PPOMA)

Транзакции группы PPOM* на самом деле – одна программа, которая ведет себя очень хитро. В настройках есть такое понятие как архитектура иерархии. Это большая, запутанная и сложная настройка, которая отвечает (Рис. 4.3), как пользователю выводить иерархию объектов и как можно работать со структурами организационного менеджмента. В настройке указывается, какие средства поиска, объекты, ракурсы, пути анализа, колонки, закладки нужно выводить в зависимости от кода транзакции. Так, для PPOME выводится практически все, а для PPOMA только информация, необходимая для назначения атрибутов в инфотипе 1222 «Общие атрибуты».

Можно настроить отдельное рабочее место для логистики, где будут видны только оргструктуры и логистические рабочие места, можно сделать отдельное рабочее место для различных проектных/функциональных структур, можно сделать схему для управления потоками операций в части маршрутизации и так далее. Это гибкий инструмент, на понимание которого уйдет большое количество времени. Поэтому я расскажу лишь об основных моментах, с которыми вы можете столкнуться в работе.

Рис. 4.3

4.4 Настройка PPOME

4.4.1 Добавление стандартного инфотипа в закладки PPOME

Итак, ставим задачу. Нужно добавить стандартный инфотип 1039 «Рабочая группа» в PPOME в виде закладки для объекта «O». Это гораздо удобнее, чем каждый раз указывать рабочую группу в PP01. Процедура состоит из нескольких шагов. Сначала мы создаем новый экран и его логику для инфотипа, затем прописываем его в настройках.

Шаг первый. Создание экрана и логики. Есть два варианта: сломать стандартный пул модулей MPxxxx00 и добавить экран с номером 9000 либо написать свой собственный экран и программу обработки. Ломать стандартную систему не хочется, поэтому пойдем вторым путем. Для образца берем группу функций HRFPM_OM_DETAIL_SCREENS и в SE38 копируем ее в свою. Смотрим логику работы экрана и заменяем на наш ИТ1039. Соответственно, изменяем экран 0300. Удаляем то, что там было, добавляем наши поля из ИТ1039. Все это активируем.

Шаг второй. Настройка. Открываем ракурс T77OMTABUS. В определении закладок создаем новую закладку, но не указываем галочку «Специфично для инфотипа» и не заполняем номер ИТ в последней колонке. Это означает, что у нас будет собственная программа отображения и обработки экрана. Если галочку указать и прописать ИТ, то система будет искать в пуле модулей MPxxxx00 экран 7000 и показывать его в PPOME. Стоит заметить, что не все ИТ имеют такие экраны.

Итак, закладку создали. Осталось ее прописать для типа объекта «O» и указать нашу программу обработки экрана. В том же ракурсе выбираем «Закладка в сценарии для типа объекта». Создаем новую запись для сценария «OME0»: указываем тип объекта, нашу закладку, последовательность, в которой ее нужно отображать. В поле «Имя отчета» указываем нашу программу, которая управляет экраном, и в поле «Экран» – номер экрана. Вот что получилось у меня: OME0 O ZIT1039 18 SAPLZ_HRFPM_OM_DETAIL_SCREEN 0300 ZRH_OM_ DETAILSCREEN_ICONS. Если мы хотим в закладке слева от имени рисовать красивую галочку или иную иконку (состояние заполнения ИТ), то копируем стандартный ФМ RH_OM_DETAILSCREEN_ICONS в свой, добавляем в CASE выбор своей закладки и пишем код:

icon_name = icon_checked.
call function ‘RH_OM_PP01_INFTY_CHECK’
EXPORTING
infty = ‘1039’
IMPORTING
icon_name = icon_name.

Соответственно, изменяем номер ИТ. Вот и все. Сохраняем и проверяем.

4.4.2 Добавление столбца в область просмотра PPOME

Обычно пользователь желает в PPOME видеть напротив каждой должности или организационной единицы какую-нибудь дополнительную информацию. Например, часто хотят видеть нормативный тариф и оклад для каждой штатной должности, ибо это похоже на бумажный вариант Т-3 и наглядно одновременно. Давайте порадуем своих пользователей. Как всегда, два шага: программирование и настройка.

Начнем с программирования. Копируем функциональный модуль (ФМ) «CB_ CONTENT» (группа функций OM_INTERFACE_TEMPLATES) в свой. Этот ФМ на входе получает таблицу объектов оргменеджмента, на выходе отдает таблицу объектов с содержимым колонки. Делаем простой loop LOOP AT tree_ objects :

LOOP AT tree_objects.
IF tree_objects-otype = ‘S’.
MOVE-CORRESPONDING tree_objects TO column_content.
column_content-content = ‘Hello!’.
APPEND column_content.
endif.
ENDLOOP.

Вместо «Hello!» пишем любые свои значения. Можно указывать текст, можно иконку выводить. Дело вкуса.

Теперь пропишем этот ФМ для нужного объекта и ракурса. Открываем ракурс «T77ARRAYTP». Слева выбираем «Определение столбца», создаем наш столбец. Наш ФМ указываем в поле «ФМ содерж. столбца». В других полях настраивается внешний вид (длина, выравнивание, преобразование для сортировок, обработчик событий). Можно, кстати, сделать обработчик на клик или двойной клик. Щелкнул на пиктограмму – появилось новое окошко или открылся соответствующий инфотип.

Теперь необходимо привязать столбец к объекту. Слева выбираем «Определение группы столбцов», находим ORGS «Стандартные столбцы, оргменеджмент». Дальше присваиваем столбец к этой группе в «Столбцы группы столбцов» (во придумают-то название!) и указываем его порядок вывода (слева направо). Осталось самое простое – присвоить столбец к типу объекта оргменеджмента. Например, к штатной должности. Слева выбираем «Присвоение Столбец – Тип объекта» и прописываем нужную связь. Вот и все, а вы боялись!

Совет: если столбцов много, то рекомендую редко используемые скрыть по умолчанию. При любом разворачивании иерархии в PPOME система запускает обновление столбцов, и для каждого объекта идет повторное вычисление каждого столбца. Все это тратит ресурсы и существенно замедляет работу системы и пользователя. Если два столбца считывают один и тот же инфотип, то имеет смысл объединить их в один столбец, чтобы исключить двойное чтение. Работать, соответственно, будет в два раза быстрее.

4.4.3 Добавление ракурса в PPOME

Что такое ракурс в PPOME? Это набор тех объектов и путей анализа, который будет показываться в правой верхней части транзакции. Например, ракурс «Организационная структура»: в нем не нужны штатные должности и лица, а только организационные единицы. Для этого в стандартной системе есть отдельный ракурс, в котором прописано, что нужно выводить только оргединицы. Если мы делаем свои объекты, то было бы логично для них сделать свои ракурсы, чтобы можно было удобно работать.

В настройке заходим в «Менеджмент персонала – Организационный менеджмент – Архитектура иерархии – Интеграция нового типа объекта – Просмотр типа объекта в области обзора структуры». Дальше начнем сверху вниз. Слева выбираем «Определение сервис». Здесь мы должны определить свой сервис, который будет определять, какие объекты должны быть включены в просмотр иерархии в правом окне. Создаем новую запись, пишем ей любое имя. Например, «ZSRV_FUNC» (функциональная структура), ключ объекта ставим «GOWD». В атрибутах нашего сервиса прописываем все типы объектов, которые должны выводиться в окне структуры. Поле «Выбор» определяет, можно ли будет одновременно выбирать несколько объектов. Путь анализа говорит, какие объекты и как считывать. Техническая глубина указывает на то, сколько уровней вложенности нужно выводить. Я оставляю пусто – выводить все. Группа столбцов: какие столбцы для каждого объекта выводить. Для начала можно оставить по умолчанию «NF_GEN_OV». Тип заголовков «ORGSTRUC».

Сервис создали, например, у меня это:

ZSRV_FUNC 04 M Многократный выбор Z04-O
ZSRV_FUNC 05 M Многократный выбор Z05-04-O
ZSRV_FUNC O M Многократный выбор ZO-04,

где 04 – наш объект административного уровня (отдел, группа, компания, участок), а 05 – группа административных уровней (один объект, который объединяет под собой все административные уровни, нужен исключительно для удобства работы).

Далее прикрепляем сервис к нашему или стандартному сценарию PPOME, чтобы он отражался в ракурсе. Выбираем «Определение сценария (архитектура иерархии)». Если мы добавляем ракурс в стандарт, то выбираем сценарий «OME0», в противном случае – наш сценарий. Выбираем «Определение запрос». В переводе на русский – это наш ракурс. Создаем новую запись, пишем в названии, как ракурс должен называться в PPOME. И теперь еще одна недокументированная фишка SAP – два сервиса. В сервис 1 мы пишем тот сервис, который создали ранее, в сервис 2 пишем «DETAIL (GENERAL)». Но почему-то работает. Например:

ZOME0 ZQUERY_FUNC Административная структура ZSRV_FUNC DETAIL (GENERAL)

Для запроса нужно прописать свои внутренние запросы для каждого типа объекта. Это означает, что система при двойном нажатии на объект будет вызывать наш сервис. Для каждого объекта, который есть у нас в ракурсе, прописываем запрос:

ZOME0 04 ZQUERY_FUNC
ZOME0 05 ZQUERY_FUNC
ZOME0 O ZQUERY_FUNC

Вот и все. После этих телодвижений в PPOME для наших объектов 04, 05, O появится свой ракурс ведения «Административная структура».



В данной колонке публикуются главы из книги "SAP HCM. Вид сбоку".

  

   

   

    

Ключевые слова : Управление персоналом / Human Resources

Функциональная область : Управление персоналом / HR

Ролевое назначение : SAP Консультант / Consultant