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.
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 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
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |