SAP Обробляти за цінністю та обробляти запит на допомогу
По-перше, якщо ви нічого не знаєте про логіку Screen Flow та її використання в SAP , ми рекомендуємо вам переглянути наш підручник про програму Dialog
Тепер давайте детально розглянемо POH і POV
Обробка запиту на допомогу (POH): Довідка F1
- Щоразу, коли натискається F1, виконується подія POH для вказаного елемента даних.
- Якщо подія PROCESS ON HELP-REQUEST не існує в логіці процесу екрана, за основу береться та відображається документація поля у словнику ABAP. Навіть якщо це не виходить, довідка не відображається.
- Щоб відобразити довідкову документацію поля, ви повинні закодувати таку логіку потоку екрану в події POH:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- Якщо для цього поля є документація щодо елемента даних для екрана , ви можете відобразити його, вказавши його номер .
- Кількість може бути літералом або змінною. Змінна має бути оголошена та заповнена у відповідній програмі ABAP.
- Зауважте, оператор FIELD не передає вміст поля екрана до програми ABAP у події ПРОЦЕС ЗА ДОВІДКОЮ-ЗАПИТОМ. Він просто показує довідкову документацію. Це воно.
Модуль визначається в програмі ABAP як звичайний модуль PAI. Логіка обробки модуля повинна забезпечувати відображення адекватної довідки для відповідного поля. Замість того, щоб викликати додатковий екран із текстовими полями, вам слід використати один із наведених нижче функціональних модулів для відображення відповідного SAPдокумент сценарію
HELP_OBJECT_SHOW_FOR_FIELD
- Цей функціональний модуль відображає документацію елементів даних для компонентів будь-якої структури або таблиці бази даних зі словника ABAP.
- Ви передаєте назву компонента та структуру або таблицю в параметри імпорту FIELD і TABLE.
HELP_OBJECT_SHOW
- Використовуйте цей функціональний модуль для відображення будь-яких SAPдокумент сценарію.
- Ви повинні передати клас документа (наприклад, TX для загальних текстів, DE для документації елемента даних) і назву документа в параметри імпорту DOKCLASS і DOKNAME.
- З технічних причин ви також повинні передати порожню внутрішню таблицю з типом рядка TLINE до параметра tables функціонального модуля.
Процес за значенням (POV): F4
- Коли користувач вибирає функцію Можливі записи (F4), система відображає можливі вхідні значення для поля (значення, контрольна таблиця, код відповідності), якщо вони були збережені розробником.
- Подія PROCESS ON VALUE-REQUEST завжди обробляється, якщо користувач викликав «Можливі записи».
- Щоб визначити можливі значення для поля на екрані, вам потрібно визначити наступне в події POV логіки екранного потоку:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- Для можливих значень у визначеному вище модулі слід використовувати загальний функціональний модуль HELP_VALUES_GET_WITH_TABLE щоб отримати можливі значення зі словника ABAP.
Є деякі інші функції, які також можна використовувати для довідки щодо введення:
F4IF_FIELD_VALUE_REQUEST
- Динамічно викликає довідку щодо введення словника ABAP.
- Ви можете передати імена компонентів структури або таблиці бази даних словника ABAP до функціонального модуля в параметрах імпорту TABNAME і FIELDNAME.
- Функціональний модуль запускає Словник ABAP довідка щодо введення цього компонента. Зчитуються всі відповідні поля екрана.
- Якщо вказати параметри імпорту DYNPPROG, DYNPNR і DYNPROFIELD, вибір користувача повертається до відповідного поля на екрані.
- Якщо ви вказуєте параметр таблиці RETURN_TAB, замість цього вибір повертається до таблиці.
MODULE VALUE_CARRIER INPUT. CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' EXPORTING TABNAME = 'DEMOF4HELP' FIELDNAME = 'CARRIER1' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD= 'CARRIER'. ENDMODULE.
F4IF_INT_TABLE_VALUE_REQUEST
- Цей функціональний модуль відображає список значень, який ви створили в Програма ABAP.
- Список значень передається до функціонального модуля як параметр таблиці VALUE_TAB.
- Якщо вказати параметри імпорту DYNPPROG, DYNPNR і DYNPROFIELD, вибір користувача повертається до відповідного поля на екрані.
- Якщо ви вказуєте параметр таблиці RETURN_TAB, замість цього вибір повертається до таблиці.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
Це все для POH і POV. У разі виникнення сумнівів залишайте свої коментарі.