Каждому консультанту, работающему с функциональностью HCM, знакома транзакция PPOME. Количество пользователей этой транзакции на каждом проекте, обычно, велико. Рассмотрим ситуацию, когда у пользователей возник конфликт интересов относительно «внешнего вида» данной транзакции. Один говорит, что работает только со штатными должностями, и ему только они и нужны для отображения в диспетчере объектов. Другой пользователь утверждает, что ему нужны только организационные единицы. А третий работает и с тем и с другим, но ему совершено не интересны, к примеру, должности. Попробуем решить данную задачу.

Существует несколько способов сделать это, один из которых, и, наверное, самый простой − это внесение корректировок в существующие (стандартные) настройки диспетчера объектов; другой способ − более сложный, заключающийся в создании своего собственного «представления» транзакции PPOME. Первый способ нам не подойдет, так как им невозможно решить вышеописанную проблему. Настройка, про которую идет речь, скроет объекты для всех пользователей транзакции PPOME, в то время как используя второй способ, мы сможем создать отдельную транзакцию, посредством которой будет обрабатываться соответствующий ракурс с набором необходимых объектов. При необходимости, таких ракурсов и соответствующих транзакций, можно создать сколь угодно много, и затем добавлять их в пользовательские роли. Далее будет рассмотрен именно второй вариант.

Итак, задача: создать новый ракурс в транзакции PPOME. В диспетчере объектов нового ракурса необходимо оставить объекты «Организационная единица» и «Штатная должность». Создать транзакцию, с помощью которой будет запускаться нужный сценарий, в обход использования транзакции PPOME.

Напомню, как выглядит процесс смены существующих ракурсов. Зайдя в транзакцию PPOME, необходимо выбрать в меню «Перейти к»  -> «Сменить ракурс»

Рисунок 1. Переключение ракурсов PPOME

В открывшемся окне будет предложено выбрать нужный ракурс. К концу данного поста, мы должны будем увидеть в списке новый ракурс. Ниже предоставляется поэтапное описание процесса его создания.

1. Определение нового сценария

Заходим в кластер ракурсов T77FRAMEWORK с помощью транзакции SM34, и нажимаем на кнопку «Новые записи»:

Рисунок 2. Кластер T77FRAMEWORK

Определяем код сценария и его название:

Рисунок 3. Определение нового сценария - кластер T77FRAMEWORK

Выбираем узел **«Атрибуты Сценарий», **и нажимаем на кнопку «Новые записи». На данном шаге можно за основу взять содержимое сценария OME0, который используется по умолчанию в транзакции PPOME, но стоит обратить внимание на поля:

  • Сценарий диспетчера объектов
  • Код транзакции: просмотр
  • Код транзакции: изменение
  • Код транзакции: создание
    Значение этих полей мы будем изменять. Но об этом чуть дальше. А пока создаем новую запись, основываясь на содержимом сценария OME0:

Рисунок 4. Заполнение атрибутов сценария

Сохраним введенные данные.

2. Определение нового сценария диспетчера объектов

Для определения перечня объектов с которыми мы планируем работать, необходимо создать новый сценарий диспетчера объектов, и затем прописать его в атрибуты сценария (см. пункт №1 Определение нового сценария). Заходим в

IMG: Менеджмент персонала -> Организационный менеджмент -> Архитектура иерархии -> Диспетчер объектов -> Определение собственного сценария

Создаем новую запись, вводим наименование идентификатора сценария и выбираем свойство «Многократный выбор». В данном примере будет использоваться идентификатор ZDEMO:

Рисунок 5. Определение нового сценария диспетчера объектов

Переходим на уровень «Узел поиска», и создаем новую запись. В качестве сценария диспетчера объектов выбираем уже созданный ZDEMO, в качестве ключа узла поиска выбираем объект, который нам нужен в новом ракурсе. В рамках нашей задачи используются объекты «Организационная единица» и «Штатная должность». Соответственно, создаем записи для объектов O и S. Также определим свойства порядкового номера каждого из объектов (объект O будет под номером 1, S - под номером 2):

Рисунок 6. Определение узлов поиска

Сохраняемся.

2.1. Определение инструментов поиска для созданного сценария диспетчера объектов

На данном шаге необходимо определить инструменты поиска объектов, включенных в только что созданном сценарии диспетчера объектов (см. пункт №2 Определение нового сценария диспетчера объектов). Так как объекты для нашего примера используются стандартные, то за основу можно взять настройки стандартного сценария OMEOO0, скопировав их для нашего сценария ZDEMO. Для этого в транзакции SM30 открываем таблицу V77FSEAT. Выбираем записи сценария **OMEOO0 **и копируем их для сценария ZDEMO (см. рисунок №7)

Рисунок 7. Выделенные записи для копирования в сценарий ZDEMO

После завершения копирования, картина должна выглядеть следующим образом (см. рисунок №8)

Рисунок 8. Инструменты поиска нового сценария диспетчера объектов

Затем открываем SPRO по следующему пути:

IMG: Менеджмент персонала -> Организационный менеджмент -> Архитектура иерархии -> Диспетчер объектов -> Определение собственного сценария

Выберем сценарий ZDEMO, и откроем область узел «Инструмент поиска»:

Рисунок 9. Инструменты поиска объектов

Только что скопированные записи должны отобразиться у вас на экране настроечной таблицы. Стоит обратить внимание, что для каждого инструмента поиска также было скопировано содержимое узла «Область просмотра (Группа столбцов...)»:

Рисунок 10. Область просмотра (Группа столбцов)

3. Создание транзакций для просмотра/изменения/создания структуры

Создадим свои транзакции, с помощью которых можно будет просматривать/создавать/изменять наши объекты нового ракурса. Для этого, скопируем стандартные транзакции PPOME, PPOSE, PPOCE в Z* с помощью транзакции SE93:

Рисунок 11. Копирование стандартных транзакций в Z*

При необходимости, можем изменить наименование данных транзакций:

Рисунок 12. Корректировка наименования транзакции

4. Внесение корректировок в созданный сценарий

Возвращаемся к пункту №1 (Определение нового сценария) и изменим атрибуты сценария ZDEMO, которые были скопированы из сценария OME0, а именно: Сценарий диспетчера объектов и **коды транзакций. **В качестве значения для сценария диспетчера объектов необходимо выбрать идентификатор из пункта №2 (Определение нового сценария диспетчера объектов), а коды транзакций взять из пункта №3 (Создание транзакций для просмотра/изменения/создания структуры):

Рисунок 13. Изменение атрибутов сценария ZDEMO

5. Определение запросов для сценария

Запрос поможет отобразить дополнительные данные по объекту, который будет выбран пользователем с помощью диспетчера объектов. В нашем примере, как уже было сказано выше, используются стандартные объекты «O» и «S». Нам достаточно будет создать запрос, по аналогии с тем, что используется для сценария OME0. Заходим в транзакцию SM34, кластер ракурсов T77FRAMEWORK, выбираем сценарий ZDEMO, и открываем узел «Определение Запрос»:

Рисунок 14. Создание запроса для сценария

Стоит обратить внимание на то, что значение для столбца «**Архитектура иерархии: запрос» **должно начинаться с ключевого слова **SHOW. **После определения запроса, необходимо выбрать узел «**Запрос в сценарии для типа объекта» **и создать новую запись, опять же, по аналогии со стандартным сценарием:

Рисунок 15. Запрос в сценарии для типа объекта

В узле «Определение Запрос» в итоге должно быть создано две записи:

Рисунок 16. Запросы для сценария ZDEMO

Ниже приведено наполнение двух настроечных таблиц «Определение Запрос» и «Запрос в сценарии для типа объекта» кластера T77FRAMEWORK, согласно действиям, проделанным на данном шаге:

Рисунок 17. Пример значений для сценария ZDEMO

6. Закладки для объектов

Для того, чтобы стала доступна для просмотра основная информация по объектам O и S, необходимо определить соответствующие закладки. Находясь все в том же кластере ракурсов T77FRAMEWORK, выберите узел «Закладка в сценарии для типа объекта» для созданного сценария ZDEMO. Для нашего примера, создадим по одной закладке для каждого объекта, в которых будут отображаться данные инфо-типа 1000.

Рисунок 18. Закладка для объекта O

Рисунок 19. Закладка для объекта S

7. Запускаем

Похоже, что основные этапы настройки пройдены. Пробуем запустить. Открываем транзакцию PPOME, в меню выбираем **Перейти к -> Сменить ракурс **и в открывшемся окне выбираем ракурс ZDEMO:

Рисунок 20. Выбор сценария ZDEMO

Рисунок 21. Ракурс ZDEMO

Также пробуем запустить наш ракурс с помощью ранее созданной транзакции ZDEMO_PPOME. Результат должен быть такой же, как и на рисунке №21. Попробуйте запустить две оставшиеся транзакции, и посмотрите, в чем отличие. Похоже на то, что поставленная выше задача – решена.

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

P.S. Также не стоит забывать про добавление ниже указанных параметров со значением X в постоянных значениях пользователя (транзакция SU3) в момент настройки/тестирования работ, связанных с транзакцией PPOME:

  • OM_FRAM_SCEN_DISPLAY
  • OM_OBJM_SCEN_DISPLAY
  • OM_TABTYPE_DISPLAY
    Рисунок 22. Необходимые параметры для настройки ракурсов транзакции PPOME в постоянных значениях пользователя (транзакция SU3)