SAP Обработка на стойност и обработка на молба за помощ

Първо, да започнем с това, ако не знаете нищо за логиката на потока на екрана и тяхното използване в SAP , препоръчваме ви да проверите нашия урок за Dialog Program

Сега нека разгледаме подробно 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. Оставете вашите коментари в случай на съмнения.