Создание табличного инфо-типа
В очередной раз продолжаю «инфо-типную» тематику. На этот раз — создание табличного инфо-типа.
Инфо-типы подразделяются на две категории:
- Field infotype
- Table infotype
К первой (Field infotype) категории, относят инфо-тип, в котором поля предоставлены для единовременного хранения данных. Одно поле инфо-типа может быть использовано для сохранения информации только один раз.
К второй (Table infotype) категории, относят инфо-тип, одни и те же поля которого можно заполнить несколько раз. При этом поля доступны для многократного использования в рамках одной записи инфо-типа.
Задача
Создать табличный инфо-тип с наименованием «Schedule». Предположим, что в данном инфо-типе необходимо хранить расписание каких-нибудь событий, важных для компании. В инфо-типе должны использоваться поля
- Day
- Time block 1
- Time block 2
- Time block 3
Предполагается, что одна запись инфо-типа «Schedule» может выглядеть следующим образом
Day Time block 1 Time block 2 Time block 3
1 9:00-12:00 12:00-13:00 13:00-17:00
2 9:00-12:00 12:00-13:00 13:00-17:00
3 9:00-12:00 12:00-13:00 13:00-17:00
1. Создание структуры PT9nnn
Создайте структуру вида PT9nnn, где nnn — это номер создаваемого инфо-типа. В данной заметке я буду использовать номер 9905 для инфо-типа «Schedule»
Выберите тип создаваемого объекта
На следующем экране необходимо определить поля, используемые в инфо-типе. Я не буду особенно заморачиваться с элементами данных для полей. Чтобы показать основной принцип работы и представления данных в табличном инфо-типе достаточно будет использование типа данных CHAR
Активируйте созданную структуру.
2. Создание инфо-типа
Запустите транзакцию PPCI. Введите номер создаваемого инфо-типа, его наименование и нажмите на кнопку
В группе полей Infotype category активируйте радио-кнопку Table infotype и нажмите на кнопку
В открывшемся окне подтвердите создание нового инфо-типа
В случае успешного выполнения операции, появится окно с информационным сообщением
3. Определение допустимых типов объектов и временной привязки для нового инфо-типа
Откройте ракурс T777I в транзакции SM30
Вновь созданный инфо-тип уже будет присутствовать в списке доступных. Необходимо только определить временную привязку, и объект, для которого данный инфо-тип будет доступен. Я буду использовать объект O, временная привязка 3
Сохраните выполненные изменения.
4. Тестирование
Запустите транзакцию PP01, выберите объект, для которого доступен новый табличный инфо-тип, создайте новую запись
Заполните поля инфо-типа
Сохраните внесенные изменения.
Как видите, одни и те же поля были задействованы несколько раз в рамках одной записи инфо-типа.
P.S.
Обратите внимание на то, каким образом сохранились данные в табличном инфо-типе.
Откройте таблицу HRP9nnn в транзакции SE16N, где _nnn _— это номер вашего инфо-типа
Данные, которые были сохранены для объекта, отсутствуют в таблице HRP9nnn. Их можно найти в таблице HRT9nnn, по значению поля TABNR из таблицы HRP9nnn