‎2007 Mar 15 10:48 AM
Hi All,
Can any one tell me how to create an F4 functionality for an user deined field.
Ex: P_VAL type c.
i want to create an F4 functionality for that P_VAL.
Thanks in advance
‎2007 Mar 15 11:04 AM
hi,
we have two function modules
1.F4IF_INT_TABLE_VALUE_REQUEST' internaltable
2. the person above me posted remainder.
the advantage is that this gives ur selected values in ur unternal table as f4 help.
‎2007 Mar 15 10:50 AM
Hello,
U can do like this:
TYPE-POOLS: shlp.
DATA: lt_return TYPE STANDARD TABLE OF ddshretval.
PARAMETERS: p_belnr LIKE vbkpf-belnr,
p_gjahr LIKE vbkpf-gjahr.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_belnr.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = 'VBKPF'
fieldname = 'BELNR'
searchhelp = 'H_VBKPF'
shlpparam = 'BELNR'
dynpprog = 'ZSRITEST59'
dynpnr = sy-dynnr
dynprofield = 'P_BELNR'
* STEPL = 0
* VALUE = ' '
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* SUPPRESS_RECORDLIST = ' '
CALLBACK_PROGRAM = 'ZSRITEST59'
CALLBACK_FORM = 'HANDLE_F4'
TABLES
return_tab = lt_return[]
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.
START-OF-SELECTION.
*---------------------------------------------------------------------*
* FORM handle_f4 *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
* --> LT_DATA *
* --> LS_SHLP *
* --> LS_CALLCONTROL *
*---------------------------------------------------------------------*
FORM handle_f4 TABLES lt_data STRUCTURE seahlpres
****The following TYPE SHLP_DESCR_T is replaced with
****SHLP_DESCR from 4.7 onwards
CHANGING ls_shlp TYPE shlp_descr_t
ls_callcontrol LIKE ddshf4ctrl.
DATA: lwa_interface LIKE LINE OF ls_shlp-interface.
lwa_interface-valtabname = ''.
lwa_interface-valfield = 'P_GJAHR'.
MODIFY ls_shlp-interface FROM lwa_interface
TRANSPORTING valtabname valfield
WHERE shlpfield = 'GJAHR'.
ENDFORM.
Hope this helps..
REgards,
VAsanth
‎2007 Mar 15 10:52 AM
See the following ex:
DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.
data: it_ret like ddshretval occurs 0 with header line.
Parameters: p_mat like mkpf-mblnr.
At selection-screen on value-request for p_mat.
Select MBLNR from mkpf into table it_mblnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
RETFIELD = 'MBLNR'
PVALKEY = ' '
DYNPPROG = ' '
DYNPNR = ' '
DYNPROFIELD = ' '
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
VALUE_TAB = IT_MBLNR
FIELD_TAB =
RETURN_TAB = IT_RET
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC = 0.
read table it_ret index 1.
move it_ret-fieldval to p_mat.
ENDIF.
‎2007 Mar 15 10:53 AM
Hi,
Sample code for input help:
PARAMETERS: P_CARR_1 TYPE SPFLI-CARRID,
P_CARR_2 TYPE SPFLI-CARRID.
<b>AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_CARR_2.</b>
CALL SCREEN 100 STARTING AT 10 5
ENDING AT 50 10.
MODULE VALUE_LIST OUTPUT.
SUPPRESS DIALOG.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.
SET PF-STATUS SPACE.
NEW-PAGE NO-TITLE.
WRITE 'Star Alliance' COLOR COL_HEADING.
ULINE.
P_CARR_2 = 'AC '.
WRITE: / P_CARR_2 COLOR COL_KEY, 'Air Canada'.
HIDE P_CARR_2.
P_CARR_2 = 'LH '.
WRITE: / P_CARR_2 COLOR COL_KEY, 'Lufthansa'.
HIDE P_CARR_2.
P_CARR_2 = 'SAS'.
WRITE: / P_CARR_2 COLOR COL_KEY, 'SAS'.
HIDE P_CARR_2.
P_CARR_2 = 'THA'.
4 WRITE: / P_CARR_2 COLOR COL_KEY, 'Thai International'.
HIDE P_CARR_2.
P_CARR_2 = 'UA '.
WRITE: / P_CARR_2 COLOR COL_KEY, 'United Airlines'.
HIDE P_CARR_2.
CLEAR P_CARR_2.
ENDMODULE.
AT LINE-SELECTION.
CHECK NOT P_CARR_2 IS INITIAL.
LEAVE TO SCREEN 0.
Regars,
Sandhya
‎2007 Mar 15 11:04 AM
hi,
we have two function modules
1.F4IF_INT_TABLE_VALUE_REQUEST' internaltable
2. the person above me posted remainder.
the advantage is that this gives ur selected values in ur unternal table as f4 help.
‎2007 Mar 15 11:12 AM
Hi,
U have to Implement the Event At Selection-screen on value Request for this and
give the functionality which u have to do.
Regards,
Ravi