Создание инфо-типа в PA

By: Execution Blog | 15 Дек 2017

При создании пользовательского инфо-типа может быть использован номер из диапазона 9000-9999. В этот диапазон входят как инфо-типы PA так и OM, поэтому при ведении проектов в регламенте ведения разработок, должны быть выделены отдельные диапазоны для пользовательских инфо-типов PA и ОМ во избежание случайного перетирания при генерации новых инфо-типов.

Для создания инфо-типов модуля PA используется транзакция PM01 «Расширение инфо-типов» (Для версий выше SAP ERP 4.7):

  1. Предварительно проверить, что номер инфо-типа, который мы хотим создать, еще не использован для создания другого инфо-тпа. Для этого используем ракурс T777D.
  2. Перейти на вкладку №1, указать номер инфо-типа:

3. Нажать на кнопку «Сгенерир. объекты», система предложит создать PS-структуру, создать и активировать структуру.

4. Вернуться на экран расширения инфо-типа кнопкой «Назад».

Будут созданы требуемые объекты для ведения и хранения данных нового инфо-типа

Созданные объекты:

PA9nnn – Таблица базы данных,

P9nnn – Структура,

MP9nnn00 – Пул модулей,

3 экрана (1000, 2000, 3000) для пула модулей,

Include MP9nnn10 – Глобальные данные. Здесь описаны определения используемых при этом таблиц и рабочих полей,

Include MP9nnn20 – Содержит модули, вызываемые по событию РВО, Специфичная для инфо-типа инициализация может быть выполнена в РВО-модуле P9nnn. Здесь, например, можно заполнить экранные поля, хранящиеся в структурах Qnnnn (SAP) и Znnnn (клиент).
Не следует изменять РВО-модули BEFORE_OUTPUT и HIDDEN_DATA.
С помощью глобальной переменной PSYST можно определить на каком шаге выполняется PBO: первый вызов PBO для новой записи, для существующей записи и т.п. (смотреть код сгенерированный по умолчанию для PBO-модуля Pnnnn).
Если пользователь осуществляет ввод в экранное поле, должен быть выполнен PAI-модуль INPUT_STATUS, поэтому все поля ввода должны быть представлены в цепочке CHAIN, где выполняется этот модуль.
По завершении обработки модуля PRE_INPUT_CHECKS можно выполнять собственные проверки ввода или вызывать собственные PAI-модули (В коде с помощью комментариев указано место куда надо вставлять собственные модули).

Include MP9nnn30 – Содержит модули, вызываемые по событию РAI,

Include MP9nnn40 – Содержит определения подпрограмм, статус интерфейса,

RP_9nnn – Диалоговый модуль.

При создании новых инфо-типов также автоматически создаются следующие записи таблиц:

T777D проверочная таблица инфо-типа

TDCD диалоговые модули

5. Указать характеристики инфо-типа

При создании инфо-типа система не создает автоматически записи таблиц, описывающие признаки инфо-типа (таблицы T582A и T582S). Поэтому соответствующие записи в таблицах необходимо создать вручную. Для ведения таблиц используется ракурс V_T582A. Ракурс отображается после выполнения шага «Сгенерир. объекты»(«Все»).

Существует два способа создания новых записей:

1) Выбрать Новые записи.

2) Скопировать запись инфо-типа с аналогичными признаками.

Внести изменения в эти таблицы можно в любой момент с помощью транзакции РМ01 на экране Создание инфо-типа, кнопка «Характеристики инфо-типов».

6. При дальнейших изменениях расширения инфо-типа все операции необходимо проделывать вручную: добавление полей в структуру PS, внесение полей на экран ведения записей инфо-типа, вставка полей в CHAIN-цепочки в логике экрана и т.п.

7. Более подробную информацию см. в SAPLibrary, раздел SAP ERP Central Component->Human Resources->HR Tools->Developing an Infotype in Personnel Administration-> Enhancing an Infotype Included in the SAP Standard System