Создание инфо-типа в PA
При создании пользовательского инфо-типа может быть использован номер из диапазона 9000-9999. В этот диапазон входят как инфо-типы PA так и OM, поэтому при ведении проектов в регламенте ведения разработок, должны быть выделены отдельные диапазоны для пользовательских инфо-типов PA и ОМ во избежание случайного перетирания при генерации новых инфо-типов.
Для создания инфо-типов модуля PA используется транзакция PM01 «Расширение инфо-типов» (Для версий выше SAP ERP 4.7):
- Предварительно проверить, что номер инфо-типа, который мы хотим создать, еще не использован для создания другого инфо-тпа. Для этого используем ракурс T777D.
- Перейти на вкладку №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