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: 

Pass value to Select Option

Former Member
0 Kudos

Hi All,

I'm using the FM F4IF_INT_TABLE_VALUE_REQUEST for F4 help of a select-option

SELECT-OPTIONS reviewid FOR t71adm08-crevi OBLIGATORY NO INTERVALS.

as follows.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = 'T71ADM08T'

retfield = 'LTEXT'

  • PVALKEY = ' '

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'LTEXT'

  • STEPL = 0

WINDOW_TITLE = 'Help for Review ID'

  • VALUE = ' '

  • VALUE_ORG = 'C'

multiple_choice = 'X'

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

value_tab = it_value

field_tab = it_field

return_tab = it_return

  • DYNPFLD_MAPPING =

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

F4 help is working fine. Here I will be able to select multiple review ids. Now I will have the selected values in table it_return. How do I pass these values to the select option parameter?

I tried the following logic.

LOOP AT it_return.

reviewid-low = it_return-fieldval.

reviewid-sign = 'I'.

reviewid-option = 'EQ'.

APPEND reviewid.

CLEAR reviewid.

ENDLOOP.

But the values are not being passed to the Selection Screen.

Pls help as soon as possible.

Thanks a lot..

2 REPLIES 2

naimesh_patel
Active Contributor
0 Kudos

I have tried this but no Direct Solution.

Instead of filling the select option directly, if you fill the range and move that range to select option in the AT SELECTION-SCREEN, than it will dispaly all selected values. But you need to press Enter after selecting the values to be able to fire the AT SELECTION-SCREEN event.

Regards,

Naimesh Patel

Former Member
0 Kudos

HI,

&----


*& Report ZDE_F4

*&

&----


*&

*&

&----


REPORT ZDE_F4.

tables: vbak.

selection-screen: begin of block b1.

*parameters: vbeln LIKE vbak-vbeln,

PARAMETERS: vbeln like vbak-vbeln.

SELECT-OPTIONS:p_ernam for vbak-ernam.

selection-screen: end of block b1.

types: begin of ty_vbak,

vbeln LIKE vbak-vbeln,

p_ernam LIKE vbak-ernam,

end of ty_vbak.

data: i_vbak type table of ty_vbak,

w_vbak type ty_vbak.

data: i_dyn type table of DYNPREAD,

w_dyn like line of i_dyn.

at selection-screen on value-request for P_ernam-low.

w_dyn-fieldname = 'VBELN'.

APPEND W_DYN TO I_DYN.

CALL FUNCTION 'DYNP_VALUES_READ'

EXPORTING

DYNAME = SY-REPID

DYNUMB = SY-DYNNR

TRANSLATE_TO_UPPER = 'X'

  • REQUEST = ' '

  • PERFORM_CONVERSION_EXITS = ' '

  • PERFORM_INPUT_CONVERSION = ' '

  • DETERMINE_LOOP_INDEX = ' '

TABLES

DYNPFIELDS = I_DYN

  • EXCEPTIONS

  • INVALID_ABAPWORKAREA = 1

  • INVALID_DYNPROFIELD = 2

  • INVALID_DYNPRONAME = 3

  • INVALID_DYNPRONUMMER = 4

  • INVALID_REQUEST = 5

  • NO_FIELDDESCRIPTION = 6

  • INVALID_PARAMETER = 7

  • UNDEFIND_ERROR = 8

  • DOUBLE_CONVERSION = 9

  • STEPL_NOT_FOUND = 10

  • OTHERS = 11

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

READ TABLE I_DYN INDEX 1 INTO W_DYN.

data: v_DOCU(10) type c.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = W_DYN-FIELDVALUE

IMPORTING

OUTPUT = v_DOCU

.

SELECT VBELN ERNAM FROM VBAK INTO TABLE I_VBAK WHERE VBELN EQ V_DOCU.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

  • DDIC_STRUCTURE = ' '

RETFIELD = 'ERNAM'

  • PVALKEY = ' '

DYNPPROG = SY-REPID

DYNPNR = SY-DYNNR

DYNPROFIELD = 'P_ERNAM'

  • STEPL = 0

  • WINDOW_TITLE =

  • VALUE = ' '

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = ' '

  • DISPLAY = ' '

  • CALLBACK_PROGRAM = ' '

  • CALLBACK_FORM = ' '

  • MARK_TAB =

  • IMPORTING

  • USER_RESET =

TABLES

VALUE_TAB = I_VBAK

  • FIELD_TAB =

  • RETURN_TAB =

  • 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.

data: string1(3) type c,

string2(3) type c,

string3(3) type c,

string4(3) type c,

STRING5(16) TYPE C.

string1 = 'SAP'.

string2 = 'ERP'.

STRING3 = 'ECC'.

STRING4 = 'CON'.

CONCATENATE STRING1 STRING2 STRING3 STRING4 INTO STRING5 separated by ';'.

WRITE: STRING5.

I think it will be useful for you.

Thanks & regards

Deepika