First ,to begin with if you know nothing about Screen Flow logic and their uses in SAP ,we recommend you check our tutorial on Dialog Program
Now , lets look into POH and POV in detail
Process on Help-Request (POH) : F1 Help
- Whenever F1 is pressed the POH event for the specified data element is executed.
- If the PROCESS ON HELP-REQUEST event does not exist in the process logic of a screen, the documentation of the field in the ABAP Dictionary is taken as a basis and displayed. Even if that does not exit no help is displayed.
- To display field help documentation, you must code the following screen flow logic in the POH event:
PROCESS ON HELP-REQUEST
FIELD <f> [MODULE <mod>] WITH <num>
- If there is screen-specific data element documentation for the field <f>, you can display it by specifying its number <num>.
- The number <num> can be a literal or a variable. The variable must be declared and filled in the corresponding ABAP program.
- Note, the FIELD statement does not transfer the contents of the screen field <f> to the ABAP program in the PROCESS ON HELP-REQUEST event. It just shows help documentation. That’s it.
The module <mod> is defined in the ABAP program like a normal PAI module. The processing logic of the module must ensure that adequate help is displayed for the field in question. Instead of calling an extra screen with text fields, you should use one of the following function modules to display a suitable SAPscript documentHELP_OBJECT_SHOW_FOR_FIELD
- This function module displays the data element documentation for components of any structure or database table from the ABAP Dictionary.
- You pass the name of the component and structure or table to the import parameters FIELD and TABLE.
HELP_OBJECT_SHOW
- Use this function module to display any SAPscript document.
- You must pass the document class (for example, TX for general texts, DE for data element documentation) and the name of the document to the import parameters DOKCLASS and DOKNAME.
- For technical reasons, you must also pass an empty internal table with the line type TLINE to the tables parameter of the function module.
Process on Value (POV): F4
- When the user chooses the function Possible entries (F4), the system displays the possible input values for a field (values, check table, matchcode), provided they were stored by the developer.
- The event PROCESS ON VALUE-REQUEST is always processed if the user has called “Possible entries”.
- To define Possible values for a field on screen, you need to defined following in POV event of screen flow logic:
PROCESS ON VALUE-REQUEST
FIELD <em>field name</em> MODULE <em>module name</em> - For Possible values, within module defined above, you should use the general function module HELP_VALUES_GET_WITH_TABLE to get possible values from ABAP Dictionary.
There are some other functions that can also be used for input help :
F4IF_FIELD_VALUE_REQUEST
- Calls the input help of the ABAP Dictionary dynamically.
- You can pass the component names of a structure or database table of the ABAP Dictionary to the function module in the import parameters TABNAME and FIELDNAME.
- The function module starts the ABAP Dictionary input help for this component.All of the relevant screen fields are read.
- If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the user’s selection is returned to the corresponding field on the screen.
- If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.
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
- This function module displays a value list that you created in an ABAP program.
- The value list is passed to the function module as the table parameter VALUE_TAB.
- If you specify the import parameters DYNPPROG, DYNPNR, and DYNPROFIELD, the user’s selection is returned to the corresponding field on the screen.
- If you specify the table parameter RETURN_TAB, the selection is returned into the table instead.
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
EXPORTING<p>
RETFIELD = ‘CONNID’
DYNPPROG = PROGNAME
DYNPNR = DYNNUM
DYNPROFIELD = ‘CONNECTION’
VALUE_ORG = ‘S’
TABLES
VALUE_TAB = VALUES_TAB.</p>That’s all to POH and POV. Leave your comments in case of any doubts.