Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

difference between poh and pov in module pool programming

Former Member
0 Kudos

hi all,

pls tell me difference between poh and pov and how i check validation in screen

4 REPLIES 4

Former Member
0 Kudos

Hi,

POV: Triggers on Pressing of F4 Button.

POH: Triggers on Pressing of F1 Button.

Check

http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbaac935c111d1829f0000e829fbfe/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/9f/dbad1135c111d1829f0000e829fbfe/content.htm

For Validation:

you just need to put a validation module in the PAI in the screen flow logic. eg if your field is zzz-field1, use a statement in the PAI like this:

FIELD ZZZ-FIELD1 MODULE VALIDATE_FIELD1.

or, to only process conditionally, use

FIELD ZZZ-FIELD1 MODULE VALIDATE_FIELD1 ON INPUT

or

FIELD ZZZ-FIELD1 MODULE VALIDATE_FIELD1 ON REQUEST.

if your module then generates an error message this field will be highlighted for action.

if you have several fields you need to chain them eg ZZZ-FIELD1 and ZZZ-FIELD2:

CHAIN.

FIELD: ZZZ-FIELD1, ZZZ-FIELD2.

MODULE VALIDATE_FIELDS ON CHAIN-INPUT " (or ON CHAIN-REQUEST)

ENDCHAIN.

Regards,

Omkar.

Edited by: Omkaram Yanamala on Jan 31, 2008 4:05 PM

Former Member
0 Kudos

POH is help like F1 functionality

POV is value request like F4 functionality

madhavi

Former Member
0 Kudos

hi,

PROCESS ON HELP-REQUEST (POH) and PROCESS ON VALUE-REQUEST (POV) are triggered when the user requests field help (F1) or possible values help (F4) respectively. You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.

reward if its useful

Former Member
0 Kudos

Hi,

POV gives you F4 help.

like:

You can call dialog modules in the POV event using the event keyword PROCESS ON VALUE-REQUEST.

PROCESS ON VALUE-REQUEST.

...

FIELD f MODULE mod.

...

After the PROCESS ON VALUE-REQUEST statement, you can only use the MODULE statement together with the FIELD statement. When the user chooses F4 for a field f, the system calls the module mod belonging to the FIELD statement. If there is more than one FIELD statement for the same field f, only the first is executed. The module mod is defined in the ABAP program like a normal PAI module. However, the contents of the screen field f are not available, since it is not transported by the FIELD statement during the PROCESS ON HELP-REQUEST event. You can now program your own value lists in the module. However, this procedure is only recommended if it really is not possible to use a search help. Defining search helps is much easier than PROCESS ON VALUE-REQUEST, since the system takes over some of the standard operations, such as getting field contents from the screen. It also ensures that the F4 help has a uniform look and feel throughout the system. Furthermore, it means that you do not have to reassign input help to fields on each screen.

Despite the introduction of search helps (and search help exits), there are still cases in which you need to use parts of the standard F4 functions directly. In this case, there are some standard function modules that you can use in the POV event. They support search helps, as well as all other kinds of input help, and are responsible for data transport between the screen and the input help. These alll have the prefix F4IF_. The most important are:

· 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.

· F4IF_INT_TABLE_VALUE_REQUEST

This function module displays a value list that you created in an ABAP program. The self-programmed 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.

There are also two function modules - DYNP_VALUES_READ and DYNP_VALUES_UPDATE - that can read the values of screen fields and return values to them during the POV event. For further information, refer to the relevant function module documentation.

Input help in dialog modules

REPORT demo_dynpro_f4_help_module.

TYPES: BEGIN OF values,

carrid TYPE spfli-carrid,

connid TYPE spfli-connid,

END OF values.

DATA: carrier(3) TYPE c,

connection(4) TYPE c.

DATA: progname TYPE sy-repid,

dynnum TYPE sy-dynnr,

dynpro_values TYPE TABLE OF dynpread,

field_value LIKE LINE OF dynpro_values,

values_tab TYPE TABLE OF values.

CALL SCREEN 100.

MODULE init OUTPUT.

progname = sy-repid.

dynnum = sy-dynnr.

CLEAR: field_value, dynpro_values.

field_value-fieldname = 'CARRIER'.

APPEND field_value TO dynpro_values.

ENDMODULE.

MODULE cancel INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE value_carrier INPUT.

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

EXPORTING

tabname = 'DEMOF4HELP'

fieldname = 'CARRIER1'

dynpprog = progname

dynpnr = dynnum

dynprofield = 'CARRIER'.

ENDMODULE.

MODULE value_connection INPUT.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

dyname = progname

dynumb = dynnum

translate_to_upper = 'X'

TABLES

dynpfields = dynpro_values.

READ TABLE dynpro_values INDEX 1 INTO field_value.

SELECT carrid connid

FROM spfli

INTO CORRESPONDING FIELDS OF TABLE values_tab

WHERE carrid = field_value-fieldvalue.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'CONNID'

dynpprog = progname

dynpnr = dynnum

dynprofield = 'CONNECTION'

value_org = 'S'

TABLES

value_tab = values_tab.

ENDMODULE.

*POH gives you F1 documentation:*

like:

If data element supplement documentation is insufficient for your requirements, or you want to display help for program fields that you have not copied from the ABAP Dictionary, you can call dialog modules in the POH event:

PROCESS ON HELP-REQUEST.

...

FIELD 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 document:

HELP_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.

For further information about how to create SAPscript documents, refer to the Documentation of System Objects documentation.

Field help on screens.

REPORT DEMO_DYNPRO_F1_HELP.

DATA: TEXT(30),

VAR(4),

INT TYPE I,

LINKS TYPE TABLE OF TLINE,

FIELD3, FIELD4.

TABLES DEMOF1HELP.

TEXT = TEXT-001.

CALL SCREEN 100.

MODULE CANCEL INPUT.

LEAVE PROGRAM.

ENDMODULE.

MODULE F1_HELP_FIELD2 INPUT.

INT = INT + 1.

CASE INT.

WHEN 1.

VAR = '0100'.

WHEN 2.

VAR = '0200'.

INT = 0.

ENDCASE.

ENDMODULE.

MODULE F1_HELP_FIELD3 INPUT.

CALL FUNCTION 'HELP_OBJECT_SHOW_FOR_FIELD'

EXPORTING

DOKLANGU = SY-LANGU

DOKTITLE = TEXT-002

CALLED_FOR_TAB = 'DEMOF1HELP'

CALLED_FOR_FIELD = 'FIELD1'.

ENDMODULE.

MODULE F1_HELP_FIELD4 INPUT.

CALL FUNCTION 'HELP_OBJECT_SHOW'

EXPORTING

DOKCLASS = 'TX'

DOKLANGU = SY-LANGU

DOKNAME = 'DEMO_FOR_F1_HELP'

DOKTITLE = TEXT-003

TABLES

LINKS = LINKS.

ENDMODULE.

Regards,

Renjith Michael