Hola a todo el mundo tengo un problemilla, que cuando en un ALV OO me cambian el valor numérico en una celda editable y le dan por ejemplo a botón "GUARDAR" del status de la pantalla el ALV no detecta que se ha modificado el dato y claro no puedo guardar ese valor. Estoy usando lo siguiente para que me lo detecte.
create object obj_contenedor2 "Creating container object
exporting
container_name = i_container2.
create object obj_grid2 "Creating AlV Grid Object
exporting
i_parent = obj_contenedor2.
create object i_event_receiver2. "Creating event receiver object
set handler i_event_receiver2->handle_user_command for obj_grid2.
set handler i_event_receiver2->handle_toolbar for obj_grid2.
set handler i_event_receiver2->handle_double_click for obj_grid2.
set handler i_event_receiver2->handle_hotspot_click for obj_grid2.
set handler i_event_receiver2->handle_data_changed for obj_grid2.
perform exclude_tb_functions changing l_exclude2.
*Registrar Evento Enter para poder activar el evento data_changed.
call method obj_grid2->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
* Registramos el evento cuando se modificar el dato por si acaso no pulsan el ENTER
call method obj_grid2->register_edit_event
exporting
i_event_id = cl_gui_alv_grid=>mc_evt_modified.
* En el catálogo decimos en que orden van a salir los campos.
perform create_field_catalog2. "Field Catalogue creation
* Esto hay que hacerlo para que salga la columna de selección.
i_layout2-sel_mode = 'D'.
call method obj_grid2->set_table_for_first_display
exporting
is_layout = i_layout2
it_toolbar_excluding = l_exclude2
changing
it_outtab = g_t_zinvt_posic[]
it_fieldcatalog = g_fieldcatalog2.
Si bien me detecta cuando cambian de celta o le dan al enter, no hay manera de conseguir que cuando pulsen un icono del status de la pantalla "no del ALV" me detecte el cambio.
Otra pregunta es posible a nivel de ALV OO hacer editable una celde, es decir en una misma columna tener unas celdas editables y otra que no se pueden editar...
Muchas gracias por leer este mensaje y un saludo a todo el mundo