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