07-10-2006 11:40 AM
i am useing the function maodule F4IF_INT_TABLE_VALUE_REQUEST.
here with this func module i getting only one value by selecting one option in the drop down.
but as per my requirment i want to return more than one value to b return for one selection in the drop down list.
can u give me any other func module,which returns multiple values.
07-10-2006 11:42 AM
You can do that using F4IF_INT_TABLE_VALUE_REQUEST itself. Just set the paramter MULTIPLE_CHOICE to X and you should be able to received multiple values.
Regards,
Ravi
Note : Please mark all the helpful answers
07-10-2006 11:43 AM
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_auskt-low.
PERFORM get_excep USING s_auskt-low.
FORM get_excep USING p_auskt TYPE t458a-auskt.
*Constant Declatration
TYPES : BEGIN OF t_auskt,
auskt LIKE t458a-auskt,
END OF t_auskt.
DATA: lc_auskt TYPE dfies-fieldname VALUE 'AUSKT',
lc_s_auskt TYPE help_info-dynprofld VALUE 'S_AUSKT-LOW',
lc_display(15) TYPE c VALUE 'Exceptn message',
lc_org TYPE ddbool_d VALUE 'S',
w_dynnr TYPE sy-dynnr VALUE '1000',
i_return TYPE STANDARD TABLE OF ddshretval WITH HEADER LINE,
i_auskt TYPE STANDARD TABLE OF t_auskt WITH HEADER LINE.
CLEAR : i_auskt, i_return, i_return[] .
Select the list of material for the selceted location
SELECT auskt
INTO CORRESPONDING FIELDS OF TABLE i_auskt
FROM t458a
WHERE auskt NE space.
SORT i_auskt BY auskt.
DELETE ADJACENT DUPLICATES FROM i_auskt.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = lc_auskt
dynpprog = gv_repid
dynpnr = w_dynnr
dynprofield = lc_s_auskt
window_title = lc_display
value_org = lc_org
TABLES
value_tab = i_auskt
return_tab = i_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc NE 0.
ELSE.
lc_auskt = i_return-fieldval.
ENDIF.
ENDFORM. " get_excep
This will give you multiple values. Just try it.
Regards
Nishant
07-10-2006 11:48 AM
Hai Check the following Code
TABLES : MARD.
DATA: BEGIN OF IT_MARD OCCURS 0,
WERKS LIKE MARD-WERKS,
LGORT LIKE MARD-LGORT,
END OF IT_MARD.
DATA : T_RETURN TYPE STANDARD TABLE OF DDSHRETVAL WITH HEADER LINE.
parameters : P_WERKS LIKE MARD-WERKS.
parameters : P_LGORT LIKE MARD-LGORT.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_WERKS.
SELECT WERKS LGORT FROM MARD UP TO 10 ROWS INTO table IT_MARD.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'WERKS'
DYNPPROG = SY-REPID
DYNPNR = '1000'
DYNPROFIELD = 'P_WERKS'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_MARD
RETURN_TAB = T_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
if sy-subrc = 0.
read table it_mard index 1. "transporting werks.
move it_mard-lgort to p_lgort.
endif.
Thanks & regards
Sreenivasulu P
07-10-2006 11:48 AM
Hi CyrilVictor,
You can use the Function Module F4IF_FIELD_VALUE_REQUEST. In that FM, there is a parameter for Multiple selection. You have to set it
as 'X'. Call the FM in this following event
AT SELECTION-SCREEN ON VALUE-REQUEST FOR parameter_name .
<b>Whatever values that you have selected will be stored in the table parameter.</b>
Regards,
SP.
07-10-2006 11:53 AM
Hi cyrilvictor,
1. U have on selection screen,
a) a SELECT-OPTION
b) u want F4 (on low, high)
c) the user selects MULTIPLE Records,
d) those records, u want in your select-option.
2. just copy paste
3.
REPORT ABC.
*----
DATA : BEGIN OF ITAB OCCURS 0,
UNAME LIKE USR01-BNAME,
END OF ITAB.
data : RETURN_TAB LIKE DDSHRETVAL occurs 0 .
data : wa LIKE DDSHRETVAL .
DATA : MY(12) TYPE C.
*----
SELECT-OPTIONS: A FOR MY.
*----
AT SELECTION-SCREEN ON VALUE-REQUEST FOR A-LOW.
PERFORM MYPOPULATE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR A-HIGH.
PERFORM MYPOPULATE.
*----
mypopulate
*----
FORM MYPOPULATE.
REFRESH ITAB.
CLEAR ITAB.
ITAB-UNAME = 'U01'. APPEND ITAB.
ITAB-UNAME = 'U02'. APPEND ITAB.
ITAB-UNAME = 'U03'. APPEND ITAB.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'ITAB-UNAME'
PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'A'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
VALUE_ORG = 'S'
MULTIPLE_CHOICE = 'X'
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
tables
value_tab = ITAB
FIELD_TAB = FTAB
RETURN_TAB = return_tab
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF RETURN_TAB IS NOT INITIAL.
REFRESH A.
CLEAR A.
*----
LOOP AT RETURN_TAB INTO WA.
A-SIGN = 'I'.
A-OPTION = 'EQ'.
A-LOW = WA-FIELDVAL.
A-HIGH = WA-FIELDVAL.
APPEND A.
ENDLOOP.
ENDIF.
ENDFORM. "MYPOPULATE
regards,
amit m.