Codigo ABAP para capturar la modificación de un dato de una campo editable de un ALV  
Es para capturar si modifican un dato de un ALV para un campo editable  
A la función 'REUSE_ALV_GRID_DISPLAY' se le han de pasar dos parametros, que 
son: 
i_grid_settings = i_lvc_s_glay 
it_events       = tab_events[]  	
Los datos que han de tener estos parametros son: 
1. i_lvc_s_glay: 
 DATA i_lvc_s_glay LIKE lvc_s_glay.  
 i_lvc_s_glay-edt_cll_cb = 'X'.  
2. tab_events: 
 FORM eventtab_build USING it_events TYPE slis_t_event.  
   DATA: l_event TYPE slis_alv_event. 
*    Hago la llamada de todos los eventos 
   CALL FUNCTION 'REUSE_ALV_EVENTS_GET' 
     EXPORTING 
       i_list_type = 0 
     IMPORTING 
        et_events   = it_events.  
*     Agrego a la tabla el evento DATA_CHANGED ya que no lo trae la 
rutina anterior 
   l_event-name = 'DATA_CHANGED'. 
   l_event-form = 'DATA_CHANGED'. 
   APPEND l_event TO it_events. 
 ENDFORM.                    "eventtab_build   
Luego se tiene que crear el FORM DATA_CHANGED para insertar el código que 
quieres realizar 
 FORM data_changed USING rr_data TYPE REF TO 
cl_alv_changed_data_protocol. 
   DATA : ls_mod_cell TYPE lvc_s_modi. 
   DATA : c_texto LIKE tj30t-txt30.  
   SORT rr_data->mt_mod_cells BY row_id . 
   LOOP AT rr_data->mt_mod_cells INTO ls_mod_cell. 
*    Compruebo que el campo que se ha modificado es el que quiero 
tratar 
     IF ls_mod_cell-fieldname = 'ESTAT'. 
*    Haces las comprobaciones necesarias 
       SELECT SINGLE txt30 INTO c_texto 
        FROM tj30t 
           WHERE stsma = 'ZCSIORD' 
            AND txt04 = ls_mod_cell-value 
             AND spras = sy-langu. 
       READ TABLE g_mseg INDEX ls_mod_cell-row_id . 
        IF sy-subrc = 0. 
*       Con el resultado, modifico el campo que quiero 
         g_mseg-txt30 = c_texto. 
*       Primero modifico la tabla interna 
         MODIFY g_mseg INDEX ls_mod_cell-row_id. 
*        Luego hago el refresh del campo que quiero que se modifique 
en el ALV 
         CALL METHOD rr_data->modify_cell 
            EXPORTING 
             i_row_id    = ls_mod_cell-row_id 
             i_fieldname = 'TXT30'  "Aquí va el campo que quieres 
modificar 
             i_value     = c_texto. "Aquí el texto que quieres 
modificar 
       ENDIF. 
     ENDIF. 
   ENDLOOP.  
 ENDFORM.                    "data_change   
Y luego, a modificar lo que quieras sin que se escape nada :P