Исключение инфо-типов при копировании объектов
Рассмотрим вполне реальную ситуацию, встречающуюся в ежедневной работе пользователей с системой. Специалист, занимающийся ведением организационно-штатной структуры компании, может создавать новые объекты, например, штатные должности, путем копирования объектов, созданных ранее в системе. Таким образом он тратит меньше времени на создание нового объекта, и последующего муторного заполнения инфо-типов на новом объекте. Но всегда бывают исключения из правил, и вполне может получиться ситуация, при которой часть инфо-типов и данных в них, для вновь создаваемого объекта не нужна.
Рассмотрим пример: у штатной должности существует соединение с организационной единицей (инфо-тип 1001), а также, создано соединение с объектами Q — Квалификация и T — Задача. Также, на штатной должности заведен инфо-тип 1010, в котором содержится какая-нибудь дополнительная для штатной должности информация. Специалист по ведению организационно-штатной структуры хочет создать новую штатную должность путем копирования с существующей. После выполнения операции копирования, по умолчанию в новый объект будут скопированы все инфо-типы, которые заведены на корневом объекте. Такая ситуация не всегда радует пользователя, поэтому необходимо помнить про настройку, отвечающую за исключение инфо-типов при копировании объектов. Далее рассмотрю эту ситуацию более детально.
1. Исходные данные
В системе существует штатная должность, для которой заведены следующие инфо-типы:
В инфо-типе 1001— Соединения существуют следующие записи о соединенных объектах
Также на штатной должности заведены инфо-типы 1007 —Вакансия, 1010 — Компетенция/ВспомСредства
Какая именно информация находится в этих инфо-типах, в рамках данной заметки, нас не интересует.
2. Задача
Создать новый объект Штатная должность, путем копирования с существующего. В качестве существующего объекта, я буду использовать объект, представленный в _пункте # 1. _При этом необходимо исключить копирование объектов Q и T для инфо-типа 1001, и инфо-тип 1010 для новой штатной должности.
3. Копируем объекты. Часть 1
Для начала предлагаю рассмотреть, что происходит в стандартной логике SAP. С помощью транзакции PPOME создаю новый объект путем копирования
Скопированный объект появляется в организационно-штатной структуре
Открою скопированный объект с помощью транзакции PP01
На первый взгляд очень похоже на то, что в новый объект было скопировано все то, что было заведено на корневом объекте, с которого было произведено копирование. Соответственно внутри каждого инфо-типа точно такая же информация:
По условиям задачи, рассматриваемой в данной заметке, необходимо исключить объекты Q и T от копирования в инфо-типе 1001, а также инфо-тип 1010 для объекта S при выполнении операции копирования с помощью транзакции PPOME.
4. Выполнение необходимых настроек
Откройте транзакцию SPRO по следующему пути:
IMG: Personnel Management -> Organizational Management -> Hierarchy Framework -> Exclude Infotypes when Copying Internal Objects
Создайте записи вида
N.B. Обратите внимание на значение столбца Scenario, в котором ограничивается область применения данной настройки. То есть в данном случае, данное «ограничение» будет действовать только для транзакции PPOME. Узнать наименование сценария, используемого в транзакции, возможно с помощью добавления параметра OM_OBJM_SCEN_DISPLAY в постоянные значения пользователя (транзакция SU3)
Активируя данный параметр, при запуске транзакции PPOME, можно найти наименование используемого сценария
5. Копируем объекты. Часть 2
После того, как необходимые настройки выполнены повторно запускаем копирование штатной должности на основании уже существующего объекта.
N.B. После выполнения настроек, описанных в пункте #4, перезапустите транзакцию PPOME
Проверяю скопированный объект с помощью транзакции PP01:
Отсутствует запись в инфо-типе 1010. Теперь проверяю инфо-тип 1001
Необходимый результат получен. Исключенные инфо-типы не были скопированы в новый объект. Поставленная задача решена.