MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 23/12/09, 15:03:03
gotelyn gotelyn is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 58
Unhappy Ayuda!!!

Hola,

Estoy intentando leer el método CL_GUI_ALV_GRID->get_modified_cells , para poder obtener la tabla que contiene los valores que he puesto en un ALV y no he dado al intro para guardar y me dice que no se puede usar porque es un método protegido.

Alguien sabe si hay manera de usar ese método protegido? y si no como puedo saber antes de guardar el ALV los valores que ha metido el usuario y no ha dado al INTRO para actualizar.

GRACIAS.
Responder Con Cita
  #2  
Viejo 23/12/09, 15:47:38
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
El metodo esta protegido precisamente para eso, para que no lo puedas utilizar

En este caso en particular las unicas clases que podrian utilizar los metodos protected serian las que aparecieran en la pestaña FRIENDS de la clase CL_GUI_ALV_GRID

Para obtener los datos que se han modificado en un ALV debes hacer lo siguiente

Declarar un metodo receptor de eventos que reciba el evento HANDLE_DATA_CHANGED_FINISHED de la clase CL_GUI_ALV_GRID

Enlazar el evento a tu metodo con
SET HANDLER nombre_metodo for cl_gui_alv_grid for all instances.

Asi cuando el usuario cambie algo pasara por el metodo que hayas puesto para recepcionar el handle_data_changed_finished y te viene una tabla como parametro que contiene todas las celdas que se han modificado
Responder Con Cita
  #3  
Viejo 23/12/09, 16:11:44
gotelyn gotelyn is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 58
Unhappy Ayuda!!

Como declaro el método? Podias ponerme el código?

Declarar un metodo receptor de eventos que reciba el evento HANDLE_DATA_CHANGED_FINISHED de la clase CL_GUI_ALV_GRID

Gracias.
Responder Con Cita
  #4  
Viejo 23/12/09, 16:14:32
cgd cgd is offline
Junior Member
 
Fecha de Ingreso: ene 2007
Mensajes: 19
no estoy seguro, pero no te sirve este post??


fijate esto en particular:
* 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.
Responder Con Cita
  #5  
Viejo 23/12/09, 16:27:18
gotelyn gotelyn is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 58
Ayuda!!!

Mi ALV no es OO, se me olvido mencionar ese detalle.....
Responder Con Cita
  #6  
Viejo 28/12/09, 07:36:41
gotelyn gotelyn is offline
Member
 
Fecha de Ingreso: may 2008
Mensajes: 58
Solución

Hola,


Por si a alguien le vale de ayuda al final lo consegui de la siguiente manera:

Se recupera el objeto asociado al ALV ( Mi ALV no es orientado a objetos ):

DATA: l_ref_alv TYPE REF TO cl_gui_alv_grid.

CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = l_ref_alv.

Y una vez recuperado ese objeto, usamos el siguiente método:

CALL METHOD l_ref_alv->CHECK_CHANGED_DATA.

Este evento comproyeba si ha habido cambios en el ALV y llama al evento DATA CHANGE para que los actualice.

A mi me fue muy util, espero que sirva de ayuda.
Responder Con Cita
  #7  
Viejo 28/12/09, 08:16:53
tiggerhippie tiggerhippie is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 5
Muchas gracias gotelyn, a mi me ha servido de mucha ayuda!!
Responder Con Cita
  #8  
Viejo 30/05/13, 15:43:15
fsandovalz fsandovalz is offline
Junior Member
 
Fecha de Ingreso: ago 2007
Localización: Mexico
Mensajes: 27
gracias.

en mi caso no utilice la función y solo lo iguale al objeto grid del ALV, y ya con eso puedo mandar llamar la clase de actualización cada vez que lo necesite

Saludos.
__________________
Ing, Fernando Sandoval Parra.
Sr. ABAP/4 developer Consultant
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:18:15.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web