Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

select option with f4 help returning muliple values

Former Member
0 Kudos

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.

5 REPLIES 5

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

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.