Теперь давайте подробно рассмотрим POH и POV.
Процесс по запросу о помощи (POH): Справка F1
- Каждый раз, когда нажимается F1, выполняется событие POH для указанного элемента данных.
- Если событие PROCESS ON HELP-REQUEST не существует в логике процесса экрана, документация поля в словаре ABAP берется за основу и отображается. Даже если этого не произошло, помощь не отображается.
- Чтобы отобразить справочную документацию по полю, вы должны закодировать следующую логику экранного потока в событии POH:
ПРОЦЕСС ПО ЗАПРОСУ ПОМОЩИПОЛЕ & lt; f & gt; [МОДУЛЬ & lt; mod & gt;] С & lt; num & gt;
- Если для поля
имеется документация по элементам данных для конкретного экрана, вы можете отобразить его, указав его номер . - Число
может быть литералом или переменной. Переменная должна быть объявлена и заполнена в соответствующей программе ABAP. - Обратите внимание, что оператор FIELD не передает содержимое поля экрана
в программу ABAP в событии PROCESS ON HELP-REQUEST. Он просто показывает справочную документацию. Вот и все.
HELP_OBJECT_SHOW_FOR_FIELD
- Этот функциональный модуль отображает документацию по элементам данных для компонентов любой структуры или таблицы базы данных из словаря ABAP.
- Вы передаете имя компонента и структуры или таблицы в параметры импорта FIELD и TABLE.
- Используйте этот функциональный модуль для просмотра любого документа SAPscript.
- Вы должны передать класс документа (например, TX для общих текстов, DE для документации по элементам данных) и имя документа в параметры импорта DOKCLASS и DOKNAME.
- По техническим причинам вы также должны передать пустую внутреннюю таблицу с типом строки TLINE в параметр таблицы функционального модуля.
Процесс по значению (POV): F4
- Когда пользователь выбирает функцию Возможные записи (F4), система отображает возможные входные значения для поля (значения, контрольная таблица, код соответствия), при условии, что они были сохранены разработчиком.
- Событие PROCESS ON VALUE-REQUEST всегда обрабатывается, если пользователь вызвал «Возможные записи».
- Чтобы определить возможные значения для поля на экране, вам необходимо определить следующее в событии POV логики экранного потока:
ПРОЦЕСС ПО ЗАПРОСУ СТОИМОСТИFIELD имя поля MODULE имя модуля
- Для возможных значений в определенном выше модуле следует использовать общий функциональный модуль HELP_VALUES_GET_WITH_TABLE, чтобы получить возможные значения из словаря ABAP.
F4IF_FIELD_VALUE_REQUEST
- Динамически вызывает справку по вводу словаря ABAP.
- Вы можете передать имена компонентов структуры или таблицы базы данных ABAP Dictionary в функциональный модуль в параметрах импорта TABNAME и FIELDNAME.
- Функциональный модуль запускает справку по вводу словаря ABAP для этого компонента. Читаются все соответствующие поля экрана.
- Если вы укажете параметры импорта DYNPPROG, DYNPNR и DYNPROFIELD, выбор пользователя возвращается в соответствующее поле на экране.
- Если вы укажете параметр таблицы RETURN_TAB, выбор будет возвращен в таблицу.
МОДУЛЬ VALUE_CARRIER INPUT.ВЫЗОВ ФУНКЦИИ 'F4IF_FIELD_VALUE_REQUEST'ЭКСПОРТTABNAME = 'DEMOF4HELP'FIELDNAME = "CARRIER1"DYNPPROG = PROGNAMEDYNPNR = DYNNUMDYNPROFIELD = "ПЕРЕВОЗЧИК".ENDMODULE.F4IF_INT_TABLE_VALUE_REQUEST
- Этот функциональный модуль отображает список значений, созданный вами в программе ABAP.
- Список значений передается в функциональный модуль как параметр таблицы VALUE_TAB.
- Если вы укажете параметры импорта DYNPPROG, DYNPNR и DYNPROFIELD, выбор пользователя возвращается в соответствующее поле на экране.
- Если вы укажете параметр таблицы RETURN_TAB, выбор будет возвращен в таблицу.
ВЫЗОВ ФУНКЦИИ 'F4IF_INT_TABLE_VALUE_REQUEST'ЭКСПОРТRETFIELD = 'CONNID'DYNPPROG = PROGNAMEDYNPNR = DYNNUMDYNPROFIELD = 'ПОДКЛЮЧЕНИЕ'VALUE_ORG = 'S'ТАБЛИЦЫVALUE_TAB = VALUES_TAB.Это все POH и POV. Оставляйте свои комментарии в случае сомнений.