Ver Mensaje Individual
  #1  
Viejo 17/03/10, 16:51:30
fenix28 fenix28 is offline
Member
 
Fecha de Ingreso: may 2007
Mensajes: 39
Problema detectar cambio valor ALV OO Celda

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.
Responder Con Cita