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 11/03/09, 14:27:21
miguel.esteban.martin miguel.esteban.martin is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 89
Ayuda data_changed alv.

No tengo muy claro como se utiliza este metodo, podiais esplicarme como se usa.
Mi programa tiene un alv que muestra los datos de mi tabla interna, tengo un campo editable y cuando cambie ese campo quiero que se modifique en mi tabla interna, me podias decir como se hace???
muchas gracias
Responder Con Cita
  #2  
Viejo 11/03/09, 14:51:18
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, España
Mensajes: 227
Asi es, se puede utilizar para trasportar los datos de tu ALV OO a la tabla interna, pero tienes que registrar el evento que producira tal efecto...

Vamos por partes, como dijo Jack el Destripador

Este seria un ejemplo de un ALV con una columna editable, cuando me introduzcan un dato lo replico en todos los registros de la tabla interna con igual clave ( ZBOX, para el ejemplo )

1º La clase para manejar los eventos, tal que asi:

Código:
CLASS lcl_event_handler DEFINITION. PUBLIC SECTION. METHODS: HANDLE_DATA_CHANGED FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID IMPORTING ER_DATA_CHANGED E_ONF4 E_ONF4_BEFORE E_ONF4_AFTER. ENDCLASS. "lcl_event_handler DEFINITION *---------------------------------------------------------------------* * CLASS lcl_event_handler IMPLEMENTATION *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* CLASS lcl_event_handler IMPLEMENTATION. METHOD HANDLE_DATA_CHANGED. * itab_ty_agrup es tipo de la tabla interna del alv FIELD-SYMBOLS: <zfield> TYPE itab_ty_agrup, <FD> TYPE LINE OF itab_ty_agrup. ASSIGN er_data_changed->mp_mod_rows->* TO <zfield>. * Esta es la linea que ha cambiado READ TABLE <zfield> INDEX 1 ASSIGNING <FD>. * itab_alv_dynpro , tabla interna del ALV LOOP AT itab_alv_dynpro ASSIGNING <FS> WHERE ZBOX EQ <FD>-ZBOX. <FS>-ZDATA = <FD>-zdata. "Este es el campo editable ENDLOOP. call method gr_alvgrid->refresh_table_display. ENDMETHOD. "handler_method ENDCLASS. "lcl_event_handler IMPLEMENTATION

2.-
Cita:
DATA: r_handler TYPE REF TO lcl_event_handler.

3.- Cuando lanzo por primera vez el ALV

Cita:
*----REGISTRAMOS EL EVENTO ENTER
* gr_alvgrid es el nombre de mi implementacion del ALV OO

CREATE OBJECT r_handler.
SET HANDLER r_HANDLER->HANDLE_DATA_CHANGED FOR gr_alvgrid.

*---- Registrado el evento ENTER
CALL METHOD gr_alvgrid->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = CL_GUI_ALV_GRID=>MC_EVT_ENTER.

*---- Registrado el evento cambio de celda o cursor arriba , abajo
CALL METHOD gr_alvgrid->REGISTER_EDIT_EVENT
EXPORTING
I_EVENT_ID = cl_gui_alv_grid=>mc_evt_modified.

*---- ALV GRID por pantalla
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
is_layout = gs_layout_oo
CHANGING
it_outtab = itab_alv_dynpro[]
it_fieldcatalog = gt_fieldcat_oo
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4 .

Con esto ya lo tendrias controlado, permuta y combina a tu gusto pero no lo mezclez con ron que da resaca

Suerte
Responder Con Cita
  #3  
Viejo 11/03/09, 15:08:58
miguel.esteban.martin miguel.esteban.martin is offline
Member
 
Fecha de Ingreso: ene 2009
Mensajes: 89
muchisismas gracias, solo una pregunta mas, no hay forma de hacerlo sin fieldsymbols????
Responder Con Cita
  #4  
Viejo 11/03/09, 15:17:31
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, España
Mensajes: 227
Para leer el registro modificado

ASSIGN er_data_changed->mp_mod_rows->* TO <zfield>.


me parece que no, para el resto ya es una mania propia
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 03:55:34.


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