Предлагаю краткий обзор конфигурации процесса на базе технологии SAP Processes and Forms based on FPM Forms. За основу заметки был взят официальный Tutorial: Create a Process Based on FPM Forms. Данной заметкой я не планирую копировать точь-в-точь процесс, как он описан в учебном материале. Во время моего знакомства с материалами, представленными в официальном руководстве, как мне кажется, были упущены некоторые важные детали конфигурации процесса. В данной заметке я постараюсь эти детали не упустить, ну и добавлю немного «отсебятины».

Задача: создать процесс позволяющий, работникам добавлять информацию по прошлым работодателям.

Для конфигурации данного процесса я задействую инфо-тип 0023 «Other/Previous Employers». Описание конфигурации потоков операций для функциональности Processes and Forms based on FPM Forms здесь представлено не будет. Возможно, вынесу это в отдельную заметку.

1. Создание формы сценария (Form scenario)

Запустите транзакцию HRASR_DT. Выберите в выпадающем списке Form scenario, введите наименование создаваемой формы, и нажмите на кнопку 

Рисунок 1. Транзакция HRASR_DT. Создание формы процесса

В открывшемся окне подтвердите создание новой формы нажатием на кнопку Yes

Рисунок 2.

В открывшемся окне введите текстовое описание, в качестве типа формы выберите W- FPM, в качестве back-end сервиса выберите SAP_PA

Рисунок 3.

Сохраните выполненные изменения.

2. Определение полей формы

Раскройте структуру под наименованием вновь созданной формы, и выберите Fields

Рисунок 4.

Нажмите на кнопку . В открывшемся окне необходимо выбрать инфо-тип, поля которого мы хотим предоставить пользователю для заполнения/удаления/изменения. В рамках данной заметки, как уже сказано выше, я буду использоваться инфо-тип 0023. Для этого

  1. Выберите соответствующий номер инфо-типа в поле Infotype
  2. Выберите соответствующую версию инфо-типа. В данной заметке я буду использовать версию 99 (Международная)
  3. Затем выберите соответствующую структуру для поля Screen Structure
  4. Не забудьте выбрать значение для поля Operation

Рисунок 5. Выбор полей инфо-типа, используемых в форме

The Operations text box defines how the form data is processed in the backend system when the automatic save is executed. An operation must be selected if you want to modify the info type record in the database. The SAP_PA backend service enables data records of Personnel Administration info types to be created, changed, and deleted. The operation ‘change’ causes the back-end service to copy the last info type record and override any data with the data from the form scenario.

Configuring a Form Scenario

Активируйте следующие поля:

  • ARBGB - Employer
  • ORT01 - City
  • LAND1 - Country key
  • BRANC - Industry
  • TAETE - Job
  • ANSVX - Work contract
    Подтвердите выбор, нажатием на кнопку

Рисунок 6. Выбор сервисных полей

Также я добавлю несколько полей из инфо-типа 0001 - «Organizational Assignment», чтобы понимать для какого работника производятся изменения. Для этого необходимо проделать точно такую же операцию, что описана выше. Выберите инфо-тип 0001, затем выберите соответствующую ему структуру экрана

Рисунок 7. Добавление полей инфо-типа 0001 в форму

Активируйте следующие поля

  • ENAME - Employee/app.name
  • PERNR - Personnel Number
    Для этих полей установите свойство CUR - Value for effective date в столбце Default value

Рисунок 8.

Сохраните внесенные изменения.

3. Создание формы для формы сценария (Form)

Раскройте структуру под наименованием вновь созданной формы, и выберите Form

Рисунок 9.

При создании формы, используется конфигурация FPM. SAP оперирует несколькими типами FPM конфигураций

Create the Form for a Form Scenario

  1. In the object hierarchy area, double-click Form. A blank FPM configuration table will appear. There are four types of FPM configuration, which are as follows:
  • Form – Display data using a form. For details, see Creating a Form Layout.
  • List – Display or perform operations on repeat fields of a single infotype record. For details, see Creating a List Layout.
  • List Complex – Display or perform operations on multiple records of a single infotype. For details, see Creating a List Complex Layout.
  • Composite – Group multiple UIBBs within a single UIBB. For details, see Creating a Composite Layout.
  1. Choose an appropriate FPM configuration type from the FPM configuration table. Enter a configuration ID and description and choose Create.

Configuring a Form Scenario

Я буду использовать тип Form

Откройте транзакцию SE80, и выберите и запустите Web Dynpro приложение CONFIGURE_COMPONENT

Рисунок 10. Запуск WebDynpro приложения CONFIGURE_COMPONENT

В открывшемся окне браузера введите в поле Component name значение FPM_FORM_UIBB_GL2, в поле Configuration ID введите наименование создаваемой конфигурации (я буду использовать такое же наименование как у формы сценария, то есть ZDEMO_FPM2), и нажмите на кнопку

Рисунок 11. Создание конфигурации

В открывшемся окне введите наименование создаваемой конфигурации

Рисунок 12.

Выберите пакет, в который вы хотите сохранить создаваемый объект

Рисунок 13.

Введите следующее наименование Feeder класса CL_HRASR00_FPM_FEEDER

Рисунок 14.

Нажмите на кнопку Edit Parameters, и в следующем окне выберите наименование формы сценария, которая была создана ранее (см. пункт # 1. Создание формы сценария (Form scenario))

Рисунок 15.

Перед вами откроется редактор конфигурации

Рисунок 16.

4. Редактирование шаблона формы

Согласно мануалу от SAP, мы сейчас находимся где-то в районе Creating a Form and Editing the Layout. Сейчас необходимо нарисовать, в прямом смысле, форму, которая будет доступна пользователю. Это довольно просто. Но для начала обратим внимание на документацию вендора. Одним из пунктов того, что необходимо сделать,

...

Add fields to the form for displaying and processing agent notes. You can add fields by dragging and dropping them from Repositories.

...

Признаться, когда я впервые открыл редактор конфигураций, я очень долго искал этот загадочный Repositories, из которого мне необходимо будет перетаскивать поля. Итак, чтобы этот репозитарий стал доступен, необходимо нажать на кнопку , расположенную вверху страницы

Рисунок 17.

Теперь можно добавлять поля.

Перетащите поля в нужном порядке с использованием механизма drag & drop из области Repositories в область Preview.

Рисунок 18.

Для добавления какого-либо текстового описания, например, для того, чтобы дать краткую инструкцию для пользователя, используйте элемент типа <Text view>.

Нажмите на кнопку , расположенную справа от активации области Repositories

Рисунок 19.

В нижней части браузере вам станет доступна область с атрибутами элементов

Рисунок 20.

Для добавления произвольного текстового описания элемента <Text view> заполните атрибут Text

Рисунок 21.

Используя эти же атрибуты элементов, можно, к примеру, определить средства поиска для полей формы. Для этого необходимо выбрать нужное средство поиска в поле Search help группы полей Display-Type-Dependent Properties

Рисунок 22.

Выберите необходимые средства поиска для полей, используемых в вашей форме. Сохраните внесенные изменения.

N.B. Также в форму можно вставить поля Previous Comments и Current Comments, которые пригодятся для процесса, в котором используется согласование с помощью потоков операций. Данные поля используются для хранения текстовых комментариев лиц, участвующих в согласовании процесса. История этих сообщений становится доступна каждому последующему согласующему.

Рисунок 23.

Итак, завершив редактирования шаблона формы, закройте браузер, в столбце HCM PF FPM Configuration Types выберите тип F - Form, в столбце Configuration ID выберите только что созданную конфигурацию. Появится сообщение вида

Рисунок 24.

Нажмите Enter и выполните сохранение.

5. Создание процесса (Process)

Находясь все в той же транзакции HRASR_DT, выберите в выпадающем списке Process, введите наименование нового процесса, и нажмите на кнопку

[caption id="attachment_2117" align="alignnone" width="300"]Рисунок 25. Рисунок 25.[/caption]

Подтвердите создание нового объекта

Рисунок 26.

В открывшемся окне введите наименование процесса, выберите идентификатор формы сценария (см. пункт #1. Создание формы сценария (Form scenario))

Рисунок 27.

Сохраните выполненные изменения

Рисунок 28.

Теперь можно приступать к тестированию.

6. Тестирование

Для запуска тестирования достаточно, кликнув по наименованию процесса, нажать на кнопку 

Рисунок 29.

Выберите табельный номер, для которого необходимо запустить процесс, и активируйте радио-кнопку Web Dynpro Screen

Рисунок 30.

Форма должна выглядеть примерно так, как она выглядит на Рисунке # 31

Рисунок 31.

Также обратите внимание на средства поиска, про которые упоминалось выше

Рисунок 32. Пример работы средства поиска

Заполните поля формы, нажмите на кнопку Check и проверьте, что не возникло никаких ошибок в процессе проверки формы; затем нажмите на кнопку Send. В результате отобразится сообщение об успешном завершении процесса

Рисунок 33.

Так как в представленном процессе не предполагалось использования согласования вносимых изменений, новые данные должны были сразу сохраниться в инфо-типе 0023. Проверяю

Рисунок 34.

Похоже на правду!

7. Обзор всех процессов

Web Dynpro приложение для просмотра информации по процессам и их содержимому: ASR_PROC_BROWSER_OVP

Уверен, что оно может быть полезным как функциональным консультантам, так и разработчикам.

Рисунок 35. Web Dynpro приложение ASR_PROC_BROWSER_OVP