Search on this Website

Wednesday, June 13, 2007

Create F4 help

To avoid the standard F4 help to be show, insert the event PROCESS ON-VALUE-REQUEST request in the program and add a field statement for the field that should trigger the F4 help. In the module called from PROCESS ON-VALUE-REQUEST request, call function module F4IF_FIELD_VALUE_REQUEST.



Example Code :

process before output.
.....

process after input.
.....

PROCESS ON VALUE-REQUEST.
FIELD sflight-carrid MODULE f4_help_for_carrid.

MODULE f4_help_for_carrid INPUT.
* NOTE:
* Tabname/fieldname is the name of the table and field
* for which F4 should be shown.
*
* Dynprog/Dynpnr/Dynprofield are the names of the Progran/Dynpro/Field
* in which the f4 value should be returned.
*
* Value: The value of the Dynpro field when calling the F4 help.
* You can limit the values shown, by inseting a value in this parameter
* e.g 'A*' to show only values beginning with A

CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'SFLIGHT'
fieldname = 'CARRID'
* SEARCHHELP = ' '
* SHLPPARAM = ' '
dynpprog = 'ZDANY_F4_OWN_CALL'
dynpnr = '0100'
dynprofield = 'SFLIGHT-CARRID'
* STEPL = 0
value = 'A*'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* TABLES
* RETURN_TAB =
* EXCEPTIONS
* FIELD_NOT_FOUND = 1
* NO_HELP_FOR_FIELD = 2
* INCONSISTENT_HELP = 3
* NO_VALUES_FOUND = 4
* OTHERS = 5
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

ENDMODULE. " F4_help_for_carrid


To control F4 help in a selection screen use the AT SELECTION-SCREEN ON VALUE-REQUEST FOR event.Note that for ranges both the low and high value of the field must have there own ON VALUE-REQUEST

Example:



AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_prctr-low.
PERFORM f4_help_carrid.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_prctr-high.
PERFORM f4_help_carrid


Other Useful Link :
Modify recording scenario
change attributes of an item in a screen and in a table control at runtime
Hide a column in a table control at runtime
Dialog Programming FAQ
Download Dialog programming Tutorial


Website : http://abapcode.blogspot.com/

No comments: