Application Development and Automation 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: 
Read only

Problem with dropdown list inside an ALV Grid

Former Member
0 Likes
5,704

Hi,

I have a dropdown list in a field of an ALV Grid. Before I use the method SET_TABLE_FOR_FIRST_DISPLAY, I filled the dropdown list table with some values. After that, I filled another table with the data I want to display in the ALV Grid.

The problem is that when I put all this together in my ALV, the dropdown list just show the Key an not the Text of the Listbox. For the dropdown list table I use the structure LVC_T_DRAL and the method like this:

DATA: IT_DROPDOWN TYPE LVC_T_DRAL,
      WA_DROPDOWN TYPE LVC_S_DRAL.
  
CLEAR WA_DROPDOWN.
WA_DROPDOWN-HANDLE    = '1'.
WA_DROPDOWN-VALUE     = '000001'.
WA_DROPDOWN-INT_VALUE = 'First Option'.
APPEND WA_DROPDOWN TO IT_DROPDOWN.

CLEAR WA_DROPDOWN.
WA_DROPDOWN-HANDLE    = '1'.
WA_DROPDOWN-VALUE     = '000002'.
WA_DROPDOWN-INT_VALUE = 'Second Option'.
APPEND WA_DROPDOWN TO IT_DROPDOWN.

CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
  EXPORTING
    IT_DROP_DOWN_ALIAS = IT_DROPDOWN.

In the fields catalog I put the field of the dropdown like this:

...
WA_FIELDCAT-FIELDNAME  = 'OPTION'.
WA_FIELDCAT-DRDN_HNDL  = '1'.
...

When I use the method SET_TABLE_FOR_FIRST_DISPLAY, it shows the data inside the dropdown list correctly, with the texts. But the selected option with the Key and not the Text.

For example, the table that I load with the data just have one value:

OPTION
------
000002

Then the field of the dropdown list shows me the Key 000002 and not the Text that should be 'Second Option'. If I open the dropdown list, it shows me 'First Option' and 'Second Option', but none of this was selected.

Somebody knows what I am doing wrong.

Regards,

Isaac Meléndez

Hi,

I have a dropdown list in a field of an ALV Grid. Before I use the method SET_TABLE_FOR_FIRST_DISPLAY, I filled the dropdown list table with some values. After that, I filled another table with the data I want to display in the ALV Grid.

The problem is that when I put all this together in my ALV, the dropdown list just show the Key an not the Text of the Listbox. For the dropdown list table I use the structure LVC_T_DRAL and the method like this:

DATA: IT_DROPDOWN TYPE LVC_T_DRAL,
      WA_DROPDOWN TYPE LVC_S_DRAL.
  
CLEAR WA_DROPDOWN.
WA_DROPDOWN-HANDLE    = '1'.
WA_DROPDOWN-VALUE     = '000001'.
WA_DROPDOWN-INT_VALUE = 'First Option'.
APPEND WA_DROPDOWN TO IT_DROPDOWN.

CLEAR WA_DROPDOWN.
WA_DROPDOWN-HANDLE    = '1'.
WA_DROPDOWN-VALUE     = '000002'.
WA_DROPDOWN-INT_VALUE = 'Second Option'.
APPEND WA_DROPDOWN TO IT_DROPDOWN.

CALL METHOD G_GRID->SET_DROP_DOWN_TABLE
  EXPORTING
    IT_DROP_DOWN_ALIAS = IT_DROPDOWN.

In the fields catalog I put the field of the dropdown like this:

...
WA_FIELDCAT-FIELDNAME  = 'OPTION'.
WA_FIELDCAT-DRDN_HNDL  = '1'.
...

When I use the method SET_TABLE_FOR_FIRST_DISPLAY, it shows the data inside the dropdown list correctly, with the texts. But the selected option with the Key and not the Text.

For example, the table that I load with the data just have one value:

OPTION
------
000002

Then the field of the dropdown list shows me the Key 000002 and not the Text that should be 'Second Option'. If I open the dropdown list, it shows me 'First Option' and 'Second Option', but none of this was selected.

Somebody knows what I am doing wrong.

Regards,

Isaac Meléndez

9 REPLIES 9
Read only

Former Member
0 Likes
2,949

Hi,

You need to give the handle name and values. both these fields are enough. so the value should be populated with First option and secodng option ...not the int_value field.

Cheers

Kothand

Read only

0 Likes
2,949

hi,

maybe this can help you as well


DATA: go_grid_ctrl TYPE REF TO cl_gui_alv_grid,


  ls_dropdown-handle = '1'.
  ls_dropdown-value = 'G'.
  APPEND ls_dropdown TO lt_dropdown.

  ls_dropdown-handle = '1'.
  ls_dropdown-value = 'H'.
  APPEND ls_dropdown TO lt_dropdown.

  ls_dropdown-handle = '1'.
  ls_dropdown-value = 'I'.
  APPEND ls_dropdown TO lt_dropdown.

  ls_dropdown-handle = '1'.
  ls_dropdown-value = 'M'.
  APPEND ls_dropdown TO lt_dropdown.

  CALL METHOD go_grid_ctrl->set_drop_down_table
    EXPORTING
      it_drop_down = lt_dropdown.

Read only

Former Member
0 Likes
2,949

Try this:

CLEAR WA_DROPDOWN.

WA_DROPDOWN-HANDLE = '1'.

WA_DROPDOWN-VALUE = 'First Option'..

APPEND WA_DROPDOWN TO IT_DROPDOWN.

CLEAR WA_DROPDOWN.

WA_DROPDOWN-HANDLE = '1'.

WA_DROPDOWN-VALUE = 'Second Option'.

APPEND WA_DROPDOWN TO IT_DROPDOWN.

CALL METHOD G_GRID->SET_DROP_DOWN_TABLE

EXPORTING

IT_DROP_DOWN_ALIAS = IT_DROPDOWN.

Regards,

Joy.

Edited by: Joyjit Ghosh on Jul 11, 2008 8:03 PM

Read only

Former Member
0 Likes
2,949

Hi,

Thanks guys, but that do not solve my problem.

I need to use an alias, because I reference the field with a key, but I want to show in the field the text that correspond to that key, like a mask.

Somebody have more ideas?

Regards,

Isaac Meléndez

Read only

0 Likes
2,949

Hi Isaac,

Maybe the form d0100_set_grid_drdn in the program - BCALV_TEST_GRID may help you. They used Alias in this program

Cheers

Kothand

Read only

former_member498350
Discoverer
0 Likes
2,949

Isaac,

Any resolve on this issue? I too am having this same problem where the key field displays instead of the corresponding alias value. Unfortuantely none of the replies to this address the specific issue.

Thanks,

Mike

Read only

0 Likes
2,949

Hi Michael,

I still have the same problem. Sorry. If you found something let me know.

Regards,

Isaac Meléndez

Read only

0 Likes
2,949

Hi,

in your field catalog you need to set the field 'drdn_alias' to 'X', otherwise the int_value will be ignored. There is an example program 'BCALV_TEST_GRID_EDIT' that shows how to work with aliases in dropdown list boxes.

HTH, Andreas

Read only

Former Member
0 Likes
2,949

Hi Isaac,

I've faced the same problem and the only solution I've found for it was implementing INPUT/OUTPUT conversion routines for the required ALV field.

I've written quite self-explanatory article on my blog oprsteny.com where you can check details if it's still relevant issue for you.

With best regards

  -- Miroslav