Добавление нового ракурса в PPOME (Часть 1)
Добавление нового ракурса в PPOME (Часть 1)
Каждому консультанту, работающему с функциональностью HCM, знакома транзакция PPOME. Количество пользователей этой транзакции на каждом проекте, обычно, велико. Рассмотрим ситуацию, когда у пользователей возник конфликт интересов относительно «внешнего вида» данной транзакции. Один говорит, что работает только со штатными должностями, и ему только они и нужны для отображения в диспетчере объектов. Другой пользователь утверждает, что ему нужны только организационные единицы. А третий работает и с тем и с другим, но ему совершено не интересны, к примеру, должности. Попробуем решить данную задачу.
Существует несколько способов сделать это, один из которых, и, наверное, самый простой − это внесение корректировок в существующие (стандартные) настройки диспетчера объектов; другой способ − более сложный, заключающийся в создании своего собственного «представления» транзакции PPOME. Первый способ нам не подойдет, так как им невозможно решить вышеописанную проблему. Настройка, про которую идет речь, скроет объекты для всех пользователей транзакции PPOME, в то время как используя второй способ, мы сможем создать отдельную транзакцию, посредством которой будет обрабатываться соответствующий ракурс с набором необходимых объектов. При необходимости, таких ракурсов и соответствующих транзакций, можно создать сколь угодно много, и затем добавлять их в пользовательские роли. Далее будет рассмотрен именно второй вариант.
Итак, задача: создать новый ракурс в транзакции PPOME. В диспетчере объектов нового ракурса необходимо оставить объекты «Организационная единица» и «Штатная должность». Создать транзакцию, с помощью которой будет запускаться нужный сценарий, в обход использования транзакции PPOME.
Напомню, как выглядит процесс смены существующих ракурсов. Зайдя в транзакцию PPOME, необходимо выбрать в меню «Перейти к» -> «Сменить ракурс»

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

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

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

Сохраним введенные данные.
2. Определение нового сценария диспетчера объектов
Для определения перечня объектов с которыми мы планируем работать, необходимо создать новый сценарий диспетчера объектов, и затем прописать его в атрибуты сценария (см. пункт №1 Определение нового сценария). Заходим в
IMG: Менеджмент персонала -> Организационный менеджмент -> Архитектура иерархии -> Диспетчер объектов -> Определение собственного сценария
Создаем новую запись, вводим наименование идентификатора сценария и выбираем свойство «Многократный выбор». В данном примере будет использоваться идентификатор ZDEMO:

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

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

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

Затем открываем SPRO по следующему пути:
IMG: Менеджмент персонала -> Организационный менеджмент -> Архитектура иерархии -> Диспетчер объектов -> Определение собственного сценария
Выберем сценарий ZDEMO, и откроем область узел «Инструмент поиска»:

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

3. Создание транзакций для просмотра/изменения/создания структуры
Создадим свои транзакции, с помощью которых можно будет просматривать/создавать/изменять наши объекты нового ракурса. Для этого, скопируем стандартные транзакции PPOME, PPOSE, PPOCE в Z* с помощью транзакции style="width: 90%;height: auto;":

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

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

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

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

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

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

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


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


Также пробуем запустить наш ракурс с помощью ранее созданной транзакции ZDEMO_PPOME. Результат должен быть такой же, как и на рисунке №21. Попробуйте запустить две оставшиеся транзакции, и посмотрите, в чем отличие. Похоже на то, что поставленная выше задача – решена.
В ближайшем будущем попробуем рассмотреть другие случаи использования данных настроек. Например, добавление Z* объекта в наш ракурс, или добавление новых запросов. Не исключаю, что некоторые из них могут пригодиться в проектном опыте.
P.S. Также не стоит забывать про добавление ниже указанных параметров со значением X в постоянных значениях пользователя (транзакция SU3) в момент настройки/тестирования работ, связанных с транзакцией PPOME:
- OM_FRAM_SCEN_DISPLAY
- OM_OBJM_SCEN_DISPLAY
- OM_TABTYPE_DISPLAY