Продолжая, и одновременно заканчивая тему работы с атрибутами инфо-типа 1222, в данной заметке рассмотрим пример использования сценария инфо-типа 1222 с возможностью выбора пользователем значений из Z* таблицы. За основу я возьму ранее настроенный атрибут и сценарий. В качестве таблицы-источника, возьму ранее созданную таблицу ZUSER_VALUES. Пока более чем достаточно.

Откроем настроечную таблицу T77OMATTR в транзакции SM30, и внесем изменения в наш атрибут, заменив имя таблицы и поля

Рисунок 1. Изменение таблицы и поля для атрибута

К сожалению, в стандарте отсутствует возможность настройки, при активации которой, станет доступным выбор значений из Z* таблицы. Здесь пригодится старый добрый ABAP, который и поможет выбрать значения из любой таблицы, которую мы захотим. Необходимо создать функциональный модуль со следующими параметрами импорта/экспорта:

 Рисунок 2. Параметры импорта ФМ

Рисунок 3. Параметры экспорта ФМ

Далее привожу исходный код ФМ, который, ни в коем разе не претендует на то, на что может претендовать ABAP-код вообще:

Думаю, что не стоит объяснять, что нужно делать, если наименования полей/таблиц отличается от того, что представлено выше.

Продолжим настройку, открыв узел Атрибуты/Сценарий таблицы T77OMATTR, добавив наименование только созданного ФМ в соответствующее поле

Рисунок 4. Определение ФМ для средства поиска

Похоже на то, что мы все сделали. Начинаем тестирование, открыв транзакцию PPOMA, выбрав штатную должность, и созданный атрибут:

Рисунок 5. Выбор значения из пользовательской таблицы

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