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: 

alv input feild drop down

Former Member
0 Kudos

hi all,

i want a <b>drop down</b> list in the <b>ALV GRID</b> input field, but i hv no idea for it can anybody gave me some idea or sample program for that,

thanks in advanced

chetan vishnoi

Message was edited by: chetan vishnoi

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Chetan,

U need to declare the data for drop down.

for ex.

data : drop_down_handle type int4.

then set your dropdown field editable and assign the fieldname

ex..

ls_fcat-edit = 'X'.

ls_fcat-drdn_field = 'DROP_DOWN_HANDLE'.

ls_fcat-outputlen = 5

Then define the drop drown pass it to alv

ex....

form< name u give>

data: lt_dropdown type lvc_t_drop,

ls_dropdown type lvc_s_drop.

ls_dropdown-handle = '1'.

ls_dropdown-value = 'car'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'fan'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'pan'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'can'.

append ls_dropdown to lt_dropdown.

call method g_grid->set_drop_down_table

exporting it_drop_down = lt_dropdown.

endform.

This is how we write the drop down.....

regards,

Deepti.

plz reward if found helpful..

5 REPLIES 5

Former Member
0 Kudos

Check both the demo programs

BCALV_EDIT_06

BCALV_EDIT_07 and change your code as per your requirement.

0 Kudos

hi kishan,

thank u very much for that but can u plc tell me how i code in our program ,

<b>my module is this--></b>

MODULE status_0100 OUTPUT.

SET PF-STATUS 'ALV'.

SELECT matnr ernam pstat mtart lvorm FROM mara

INTO CORRESPONDING FIELDS OF TABLE t_mara

WHERE matnr LIKE '100%'.

CREATE OBJECT custom_container

EXPORTING

container_name = 'CONTAINER'

.

CREATE OBJECT alvgrid

EXPORTING

i_parent = custom_container.

fieldcattab-col_pos = 1.

fieldcattab-checkbox = 'X'.

fieldcattab-edit = 'X'.

APPEND fieldcattab.

fieldcattab-col_pos = 2.

fieldcattab-fieldname = 'LVORM'.

fieldcattab-tabname = 'T_MARA'.

fieldcattab-edit = 'X'.

fieldcattab-no_out = 'X'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 3.

fieldcattab-fieldname = 'MATNR'.

fieldcattab-tabname = 'T_MARA'.

fieldcattab-coltext = 'Material no'.

  • fieldcattab-edit = ' '.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 4.

fieldcattab-fieldname = 'ERNAM'.

fieldcattab-tabname = 'T_MARA'.

fieldcattab-coltext = 'User name'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 5.

fieldcattab-fieldname = 'PSTAT'.

fieldcattab-tabname = 'T_MARA'.

fieldcattab-coltext = 'Status'.

APPEND fieldcattab.

CLEAR fieldcattab.

fieldcattab-col_pos = 6.

fieldcattab-fieldname = 'MTART'.

fieldcattab-tabname = 'T_MARA'.

fieldcattab-coltext = 'Material type'.

  • fieldcattab-edit = 'X'.

  • fieldcattab-drdn_field = t_mara-MTART.

  • fieldcattab-outputlen = 5.

APPEND fieldcattab.

CLEAR fieldcattab.

<b>fieldcattab-col_pos = 7.

fieldcattab-fieldname = 'MTART'.

fieldcattab-edit = 'X'.

fieldcattab-drdn_field = 'DROP_DOWN_HANDLE'.

fieldcattab-outputlen = 5.

fieldcattab-checktable = T_MARA.

APPEND fieldcattab.</b>

gs_layout-grid_title = text-003.

  • gs_layout-no_toolbar = 'X'.

gs_layout-sel_mode = 'A'.

gs_layout-zebra = 'X'.

gs_layout-info_fname = 'C600'.

fcode = '&VCRYSTAL'.

APPEND fcode TO t_print.

CALL METHOD alvgrid->set_table_for_first_display

EXPORTING

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • I_CONSISTENCY_CHECK =

  • I_STRUCTURE_NAME =

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

is_layout = gs_layout

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

it_toolbar_excluding = t_print[]

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

CHANGING

it_outtab = t_mara[]

it_fieldcatalog = fieldcattab[]

  • IT_SORT =

  • IT_FILTER =

  • EXCEPTIONS

  • INVALID_PARAMETER_COMBINATION = 1

  • PROGRAM_ERROR = 2

  • TOO_MANY_LINES = 3

  • others = 4

.

IF sy-subrc <> 0.

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

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

ENDIF.

SET HANDLER lcl_event_receiver=>handle_user_command

  • lcl_event_receiver=>handle_menu_button

lcl_event_receiver=>handle_toolbar FOR ALL INSTANCES.

*CALL METHOD alvgrid->set_toolbar_interactive.

ENDMODULE. " STATUS_0100 OUTPUT

i want to doo the change in highlighted part, want a drop down here in material filed.

how do this?

thanks in advance

chetan vishnoi

0 Kudos

Hello,

Just add this form in your code

form DROP_DOWN_HANDLE.

data: lt_dropdown type lvc_t_drop,

ls_dropdown type lvc_s_drop.

loop at itab.

ls_dropdown-handle = sy-tabix.

ls_dropdown-value = itab-matnr.

append ls_dropdown to lt_dropdown.

endloop.

call method g_grid->set_drop_down_table

exporting it_drop_down = lt_dropdown.

endform.

Regards,

Naimesh

Former Member
0 Kudos

Hi Chetan,

U need to declare the data for drop down.

for ex.

data : drop_down_handle type int4.

then set your dropdown field editable and assign the fieldname

ex..

ls_fcat-edit = 'X'.

ls_fcat-drdn_field = 'DROP_DOWN_HANDLE'.

ls_fcat-outputlen = 5

Then define the drop drown pass it to alv

ex....

form< name u give>

data: lt_dropdown type lvc_t_drop,

ls_dropdown type lvc_s_drop.

ls_dropdown-handle = '1'.

ls_dropdown-value = 'car'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'fan'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'pan'.

append ls_dropdown to lt_dropdown.

ls_dropdown-handle = '2'.

ls_dropdown-value = 'can'.

append ls_dropdown to lt_dropdown.

call method g_grid->set_drop_down_table

exporting it_drop_down = lt_dropdown.

endform.

This is how we write the drop down.....

regards,

Deepti.

plz reward if found helpful..

0 Kudos

hi deepti,

see my problem again and gave me solution i post my code also

thanks in advance

chetan vishnoi