‎2007 Dec 27 10:41 AM
i want to display the values(f4) for a parameter on the selection screen based on selection screen criteria when the user requests for F4 for that parameter.
please let me know how to do that.
‎2007 Dec 27 11:18 AM
hi,
use this code it will work
parameters :p_pernr like pa0001-pernr
define like this
use this event
AT Selection-screen on p_pernr.
under this event call this function module and pass required data .
F4IF_FIELD_VALUE_REQUEST
F4 help also returning the value to be displayed in internal table
F4IF_INT_TABLE_VALUE_REQUEST
or else .
FORM HELP_CHECK.
*-- Set up fields to retrieve data
ltab_fields-tabname = 'ZFI_PMNTADV'.
ltab_fields-fieldname = 'CHECT'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
ltab_fields-tabname = 'ZFI_PMNTADV'.
ltab_fields-fieldname = 'PMNT_ADV'.
ltab_fields-selectflag = 'X'.
APPEND ltab_fields.
SORT ltab_fields.
DELETE ADJACENT DUPLICATES FROM ltab_fields.
*-- Fill values
SELECT chect
INTO TABLE ltab_values
FROM zfi_pmntadv
WHERE pmnt_adv NE space.
SORT ltab_values.
DELETE ADJACENT DUPLICATES FROM ltab_values.
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE'
EXPORTING
fieldname = 'chect'
tabname = 'zfi_pmntadv'
title_in_values_list = 'Select a value'
IMPORTING
select_value = so_chect
TABLES
fields = ltab_fields
valuetab = ltab_values
EXCEPTIONS
field_not_in_ddic = 01
more_then_one_selectfield = 02
no_selectfield = 03.
ENDFORM. "fiscal_year
please reward points, if it is useful,
regards,
satish.
‎2007 Dec 31 1:23 PM
Hi
See the following ex:
TYPES: BEGIN OF TY_MBLNR,
MBLNR LIKE MKPF-MBLNR,
END OF TY_MBLNR.
DATA: IT_MBLNR TYPE STANDARD TABLE OF TY_MBLNR WITH HEADER LINE.
data: it_ret like ddshretval occurs 0 with header line.
At selection-screen on value-request for s_mat-low.
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 S_mat-low.
ENDIF.
Go through the test program.
REPORT Ztest_HELP .
TABLES : MARA.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : P_MATNR(10) TYPE C.
SELECTION-SCREEN END OF BLOCK B1.
DATA : BEGIN OF ITAB OCCURS 0,
MATNR TYPE MATNR,
END OF ITAB.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MATNR.
SELECT MATNR
FROM MARA
INTO TABLE ITAB
UP TO 10 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'MATERIAL NUMBER'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'P_MATNR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = ITAB
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
with regards,
Hema Sundara.
pls reward if u find it helpful.
‎2008 Jan 01 5:48 AM
hi sripriya,
Refer this code.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vbeln-high.
dynprofield1 = 'S_VBELN-HIGH'.
PERFORM get_f4 USING dynprofield1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_vbeln-low.
dynprofield1 = 'S_VBELN-LOW'.
PERFORM get_f4 USING dynprofield1
DATA :retfield1 LIKE dfies-fieldname,
dynpprog1 LIKE sy-repid,
dynpnr LIKE sy-dynnr,
field_tab1 LIKE dfies OCCURS 0,
return_tab1 LIKE ddshretval OCCURS 0.
dynpprog1 = sy-repid.
DATA : BEGIN OF itab OCCURS 0,
vbeln LIKE vbak-vbeln,
END OF itab.
SELECT vbeln FROM vbak INTO itab .
APPEND itab.
ENDSELECT.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'VBELN'
dynpprog = dynpprog1
dynpnr = '1000'
dynprofield = dynprofield1
value_org = 'S'
TABLES
value_tab = itab
return_tab = return_tab1
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.
Reward if it usful,
Thanks,
Srikanth.A