global_tab_catalog-edit = 'X'.
This code will make the column in the grid changeable. But what you have to remember is unless you have code to do something with these changes nothing will happen.
The code to handle the changes is placed in the i_callback_user_command you handle this subroutine just like I did in the last entry.
Once you figure out what row your working on and what cell your working with use whatever method you want to update the actual entry either an internal table or an external table. At this point I like to Refresh the grid.
Step 1: Add these lines to your data statement either global or local your call.
lt_event_exit TYPE slis_t_event_exit,Name them whatever you want.
ls_event_exit TYPE slis_event_exit,
gc_refresh TYPE syucomm VALUE '&REFRESH',
c_x VALUE 'X',
Step 2: Prior to the call to REUSE_ALV_GRID_DISPLAY add this code.
CLEAR ls_event_exit.Step 3: Add an additional parameter to the REUSE_ALV_GRID_DISPLAY
ls_event_exit-ucomm = gc_refresh. " Refresh
ls_event_exit-after = c_x.
APPEND ls_event_exit TO lt_event_exit.
it_event_exit = lt_event_exitYou do have to have a call back User Command populated. In that routine you need to add code to handle this event.
Step 4:
CASE r_ucomm.I would perform a routine to rebuild the internal table that this ALV grid is built over.
WHEN '&REFRESH'.
If you would like an example program drop me an e-mail and I will be happy to send you the code.