2013 Dec 30 1:42 PM
Hi,
I have a Table Control Element on a Dynpro. Some colums are displayed as a Dropdown List (Listbox).
How can I put values into this listbox? I have looked at this thread http://scn.sap.com/thread/764416 and tried to use the FB F4IF_INT_TABLE_VALUE_REQUES. But it did not work. The Dropdown Box is still empty.
Every example I looked at, used a reference to DDIC Objects. But my table structure has no DDIC Referenz. I is defined in the report by TYPE statements. How can I build the DropDown List with a structure without any DDIC Reference?
Thank you very much in advance!
Best regards.
Hi!
Thanks for your reply!
Here are the properties of the table control and the field, which should get DropDown. I'm working in a German system, unfortunantelly se80 don't show me the english property labels even if I log in with english. Therefore I have translated the Properties by my own, hope you can see which one I mean.
Table Control TC_KRITERIEN
Type of Table:
X With Column Heading
X Configurable
No Title
Resizing:
X Vertical
X Horizontal
Separator:
X Vertical
X Horizontal
Row Markers:
Multiple
Column Markers:
No
With Marking Column:
WA_SEL_KRITERIEN-LFD_NR
Fixed Columns:
0
Input/Output Field for DropDown WA_SEL_KRITERIEN-QUELLSYSTEM
Dropdown: Listbox
FktCode: empty
Format: Char; No DDIC
No SET/GET Parameter
Inputfield: Yes
Outputfield: Yes
Input Assistance: Yes
Value List: Space (From Dict. / Flow Control)
Best regards,
Daniel
2013 Dec 30 1:59 PM
Hi Daniel,
Can you try this code?
Global Data Def.
DATA : GT_VALUES TYPE VRM_VALUES.
DATA : GS_VALUES LIKE LINE OF GT_VALUES.
in PROCESS BEFORE OUTPUT.
loop at gc_control.
MODULE INIT_LISTBOX.
endloop.
*&---------------------------------------------------------------------*
*& Module INIT_LISTBOX OUTPUT
*&---------------------------------------------------------------------*
MODULE INIT_LISTBOX OUTPUT.
REFRESH GT_VALUES.
LOOP AT GT_APACT INTO GS_APACT.
MOVE : GS_APACT-VALUE TO GS_VALUES-KEY,
GS_APACT-TEXT TO GS_VALUES-TEXT.
APPEND GS_VALUES TO GT_VALUES.
ENDLOOP.
PERFORM VRM_SET_VALUES
USING
'G_APACT' " Screen element name
GT_VALUES.
ENDMODULE. " INIT_LISTBOX OUTPUT
*&---------------------------------------------------------------------*
*& Form vrm_set_values
*&---------------------------------------------------------------------*
form vrm_set_values using id values.
call function 'VRM_SET_VALUES'
exporting
id = id
values = values
* EXCEPTIONS
* ID_ILLEGAL_NAME = 1
* OTHERS = 2
.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
endform. "vrm_set_values
2013 Dec 30 2:09 PM
some sample code
* datas
DATA: it_dropdown TYPE lvc_t_drop,
ty_dropdown TYPE lvc_s_drop.
*set
ty_dropdown-handle = '1'.
ty_dropdown-value = ' '.
APPEND ty_dropdown TO it_dropdown.
ty_dropdown-handle = '1'.
ty_dropdown-value = '1 kalite'.
APPEND ty_dropdown TO it_dropdown.
ty_dropdown-handle = '1'.
ty_dropdown-value = '2 kalite'.
APPEND ty_dropdown TO it_dropdown.
ty_dropdown-handle = '1'.
ty_dropdown-value = '3 kalite'.
APPEND ty_dropdown TO it_dropdown.
CALL METHOD alv_con->set_drop_down_table
EXPORTING
it_drop_down = it_dropdown.
LOOP AT fcat .
CASE fcat-fieldname .
WHEN 'KALITE'.
fcat-drdn_hndl = '1'.
fcat-outputlen = '10'.
MODIFY fcat.
ENDCASE.
ENDLOOP.
2013 Dec 31 4:05 AM
Hi,
In the PBO create a module for the listbox.Use the FM VRM_SET_VALUES to set initial values to list.
MODULE LISTBOX.
x_drop-KEY = '001'.
x_drop-TEXT = 'Test1'.
append x_drop to t_drop.
x_drop-KEY = '002'.
x_drop-TEXT = 'Test2'.
append x_drop to t_drop.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'X_TAB-TYPE' --->Table Control fieldName
values = t_drop
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2.
ENDMODULE.
2013 Dec 31 5:07 AM
Hi Daniel,
Please post the properties of your table control.Specially for what field(Properties list) you want drop down list.
2014 Jan 02 6:58 AM
Hi!
Thanks for your reply!
Here are the properties of the table control and the field, which should get DropDown. I'm working in a German system, unfortunantelly se80 don't show me the english property labels even if I log in with english. Therefore I have translated the Properties by my own, hope you can see which one I mean.
Table Control TC_KRITERIEN
Type of Table:
X With Column Heading
X Configurable
No Title
Resizing:
X Vertical
X Horizontal
Separator:
X Vertical
X Horizontal
Row Markers:
Multiple
Column Markers:
No
With Marking Column:
WA_SEL_KRITERIEN-LFD_NR
Fixed Columns:
0
Input/Output Field for DropDown WA_SEL_KRITERIEN-QUELLSYSTEM
Dropdown: Listbox
FktCode: empty
Format: Char; No DDIC
No SET/GET Parameter
Inputfield: Yes
Outputfield: Yes
Input Assistance: Yes
Value List: Space (From Dict. / Flow Control)
Best regards,
Daniel
2013 Dec 31 5:21 AM
Hi Daniel,
In the top include of the program declare internal table and workarea like this.
TYPES : BEGIN OF ty_value_tab,
TEXT TYPE char100,
END OF ty_value_tab.
DATA : return_tab TYPE STANDARD TABLE OF ddshretval,
t_itab TYPE STANDARD TABLE OF ty_value_tab,
x_itab TYPE ty_value_tab.
And in the flow logic of your screen write the code like this.
"New event
PROCESS ON VALUE-REQUEST.
FIELD LV_LIST MODULE f4_help_test.
"LV_LIST is a input field that we declared it in the layout.
"f4_help_test is a module that we are going to create in which we are going to write the logic.
Double click on the ""f4_help_test" and create a new module
Inside the module write code like .
x_itab-TEXT = 'alen'.
APPEND x_itab TO t_itab.
x_itab-TEXT = 'lee'.
APPEND x_itab TO t_itab.
x_itab-TEXT = 'mj'.
APPEND x_itab TO t_itab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'LV_LIST'
value_org = 'S'
dynprofield = 'LV_LIST'
TABLES
value_tab = t_itab
return_tab = return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
"Hope this helps.
"Change the code according to requirement. I am saying about the internal table and all.
Regards,
Alenlee MJ
2014 Jan 02 4:32 PM
| User | Count |
|---|---|
| 6 | |
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |