09-10-2008 4:41 PM
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..
09-10-2008 5:29 PM
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
09-10-2008 5:51 PM
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