Double clicking a row and column in ALV Grids

babno picture babno · Nov 30, 2012 · Viewed 11.6k times · Source

Currently I have an ALV grid and I can double click to call transaction IE03 and pass the information in the first column (which is eqkt-equnr). However, this transaction is called regardless of what column you click on. This wouldn't be so bad, but I need to be able to call IW33 if you click on the 3rd column and pass along the equz-J_3GEIGNER value there.

My current double click code is as follows. t_report is my struct and matnr is the equnr part of it. maktx is the J_3GEIGNER part of it.

FORM user_command USING r_ucomm
     wa_selrow TYPE slis_selfield.

   IF r_ucomm = '&IC1'.
     READ TABLE t_report INDEX wa_selrow-tabindex.
     IF sy-subrc = 0.
       SET PARAMETER ID 'EQN' FIELD t_report-matnr.
       CALL TRANSACTION 'IE03' AND SKIP FIRST SCREEN.
     ENDIF.
   ENDIF.
ENDFORM.

Answer

vwegert picture vwegert · Nov 30, 2012

Use the field wa_selrow-fieldname to determine which column was clicked. Be aware that you may have to switch the grid from row selection mode to cell selection mode - since you didn't show us how you created the grid in the first place, I can't tell you how to do this in your case. Take a look at the SEL_MODE property, it might help.