Исключение инфо-типов при копировании объектов

Рассмотрим вполне реальную ситуацию, встречающуюся в ежедневной работе пользователей с системой. Специалист, занимающийся ведением организационно-штатной структуры компании, может создавать новые объекты, например, штатные должности, путем копирования объектов, созданных ранее в системе. Таким образом он тратит меньше времени на создание нового объекта, и последующего муторного заполнения инфо-типов на новом объекте. Но всегда бывают исключения из правил, и вполне может получиться ситуация, при которой часть инфо-типов и данных в них, для вновь создаваемого объекта не нужна.

Рассмотрим пример: у штатной должности существует соединение с организационной единицей (инфо-тип 1001), а также, создано соединение с объектами Q — Квалификация и T — Задача. Также, на штатной должности заведен инфо-тип 1010, в котором содержится какая-нибудь дополнительная для штатной должности информация. Специалист по ведению организационно-штатной структуры хочет создать новую штатную должность путем копирования с существующей. После выполнения операции копирования, по умолчанию в новый объект будут скопированы все инфо-типы, которые заведены на корневом объекте. Такая ситуация не всегда радует пользователя, поэтому необходимо помнить про настройку, отвечающую за исключение инфо-типов при копировании объектов. Далее рассмотрю эту ситуацию более детально.

1. Исходные данные

В системе существует штатная должность, для которой заведены следующие инфо-типы:

Рисунок 1. Созданные инфо-типы объекта S

В инфо-типе 1001— Соединения существуют следующие записи о соединенных объектах

Рисунок 2. Инфо-тип 1001 объекта S - Штатная должность

Также на штатной должности заведены инфо-типы 1007 —Вакансия, 1010 — Компетенция/ВспомСредства

Рисунок 6.

Какая именно информация находится в этих инфо-типах, в рамках данной заметки, нас не интересует.

2. Задача

Создать новый объект Штатная должность, путем копирования с существующего. В качестве существующего объекта, я буду использовать объект, представленный в _пункте # 1. _При этом необходимо исключить копирование объектов Q и T для инфо-типа 1001, и инфо-тип 1010 для новой штатной должности.

3. Копируем объекты. Часть 1

Для начала предлагаю рассмотреть, что происходит в стандартной логике SAP. С помощью транзакции PPOME создаю новый объект путем копирования

Рисунок 4. Копирование объекта S в транзакции PPOME на основе существующего объекта

Скопированный объект появляется в организационно-штатной структуре

Рисунок 5. Скопированный объект S

Открою скопированный объект с помощью транзакции PP01

Рисунок 6.

На первый взгляд очень похоже на то, что в новый объект было скопировано все то, что было заведено на корневом объекте, с которого было произведено копирование. Соответственно внутри каждого инфо-типа точно такая же информация:

Рисунок 7. Скопированные инфо-типы в новом объекте S

По условиям задачи, рассматриваемой в данной заметке, необходимо исключить объекты Q и T от копирования в инфо-типе 1001, а также инфо-тип 1010 для объекта S при выполнении операции копирования с помощью транзакции PPOME.

4. Выполнение необходимых настроек

Откройте транзакцию SPRO по следующему пути:

IMG: Personnel Management -> Organizational Management -> Hierarchy Framework -> Exclude Infotypes when Copying Internal Objects

Создайте записи вида

Рисунок 8. IMG: Exclude Infotypes when Copying Internal Objects

N.B. Обратите внимание на значение столбца Scenario, в котором ограничивается область применения данной настройки. То есть в данном случае, данное «ограничение» будет действовать только для транзакции PPOME. Узнать наименование сценария, используемого в транзакции, возможно с помощью добавления параметра OM_OBJM_SCEN_DISPLAY в постоянные значения пользователя (транзакция SU3)

Рисунок 9. Изменение постоянных значений пользователя, транзакция SU3

Активируя данный параметр, при запуске транзакции PPOME, можно найти наименование используемого сценария

Рисунок 10. Наименование сценария транзакции PPOME

5. Копируем объекты. Часть 2

После того, как необходимые настройки выполнены повторно запускаем копирование штатной должности на основании уже существующего объекта.

N.B. После выполнения настроек, описанных в пункте #4, перезапустите транзакцию PPOME

Рисунок 11. Повторное копирование объекта S

Проверяю скопированный объект с помощью транзакции PP01:

Рисунок 12.

Отсутствует запись в инфо-типе 1010. Теперь проверяю инфо-тип 1001

Рисунок 13.

Необходимый результат получен. Исключенные инфо-типы не были скопированы в новый объект. Поставленная задача решена.

Read more