Как массово создавать документы оценки?

Пояснение к вопросу

Работая с документами оценки, перед функциональным консультантом рано или поздно будет поставлена задача массового создания документов оценки. В дополнение к этому необходимо будет выполнить какое-то количество проверок, специфичных и критичных для заказчика (например, проверка на то, чтобы сотрудник, для которого создается документ оценки, работал в должности не меньше трех месяцев, и не находился в отпуске по уходу за ребенком и т.д. и т.п.)

Под массовым созданием документов я оценки я понимаю следующее: у вас есть один формуляр, предварительно настроенный в транзакции PHAP_CATALOG, предназначенный, к примеру, для оценки каких-либо компетенций в текущем году. На основании данного формуляра, необходимо создать документы оценки в нескольких подразделениях (организационных единицах) компании. Вариант с транзакцией PHAP_CREATE уже не подойдет, так как функционал данной транзакции предполагает индивидуальное создание документов оценки

Рисунок 1. Транзакция PHAP_CREATE

Если в организационной единице работает два человека — то еще куда не шло, а для 10 человек данный вариант уже сомнителен.

Решение вопроса

Исходя из своего опыта, для решения данной задачи, всегда создавалась Z* программа, предназначавшаяся для создания документов оценки. Причем данная программа проектировалась не только массового создания документов, но и для индивидуального тоже. Если правильно спроектировать работу этой программы, то одним выстрелом можно убить сразу двух зайцев. При успешном решении данной задачи у вас появляется одна точка входа (то есть запуск одной программы), которая выполняет две операции: массовое и индивидуальное создание документов оценки. Плюс ко всему, с помощью такой программы возможно реализовать столько проверок, сколько угодно бизнес-пользователям. Существует еще один вариант решения поставленной задачи, который также предполагает создание новой программы, только вызов ее будет происходить с помощью BAdI HRHAP00_DOC_PREPARE, а точнее из нового внедрения для этого BAdI.

Рисунок 2.

В функциональности  Objective Setting and Appraisals для массового создания документов оценки используется транзакция PHAP_PREPARE

Рисунок 3.

Список вариантов, предоставляемых пользователю для создания документов оценки, доступен благодаря активным внедрениям вышеуказанного BAdI.

Рисунок 4.

Создайте свое внедрение BAdI HRHAP00_DOC_PREPARE с помощью транзакции SE18, выбрав в меню Enhancement Implementation -> Create

Рисунок 5.

Введите техническое наименование внедрения

Рисунок 6.

На следующем экране введите наименование создаваемого внедрения, которое будет доступно пользователю

Рисунок 7.

Активируйте созданное внедрение. Для предварительного теста запустите транзакцию PHAP_PREPARE

Рисунок 8.

Новая опция запуска доступна на экране. Отлично! Теперь возвращаемся к тому, что было написано выше, а именно создание новой программы массовой подготовки документов оценки, вызов которой необходимо будет сделать из нашего нового внедрения (метод PERFORM_PREPARATION)

Рисунок 9.

Выполните активацию всех измененных объектов. Ну а дальше все просто: запуск транзакции PHAP_PREPARE и выбор требуемого варианта

`Рисунок 10.