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 18/12/09, 07:21:52
fenix28 fenix28 is offline
Member
 
Fecha de Ingreso: may 2007
Mensajes: 39
Duda cuando se disparan estos dos eventos ALV OO???

Hola a todos estoy con un ALV orientado a objetos que es editable, y tengo una duda seria........ cuando se disparan los eventos:

- data_changed
- data_changed_finished

Ya que lo que quiero es que cuando modifique una línea un campo grabar los cambio en la tabla que tiene por detrás.... pensaba que cuando pulsaba el ENTER se activaría el data_changed, pero no hay manera...... se activa a veces cuando hago doble click........... Alguien me puede decir sino en que evento debería de poner mi código para grabar los cambios.....

Muchas gracias por leer este mensaje y un saludo a todos......
Responder Con Cita
  #2  
Viejo 18/12/09, 12:42:05
The_best_for_less The_best_for_less is offline
Junior Member
 
Fecha de Ingreso: may 2009
Mensajes: 7
Prueba...

Estimado, espero que este código te sirva.
Lo que hago es definir y luego implementar.

Despues recorro el catalogo, y cuando encuentro el valor del catalogo
modifico la tabla y despues hago un refresh.

Todo esto debe ir después de las declaraciones de las variables.
Saludos.



CLASS lcl_event_receiver DEFINITION DEFERRED.

DATA: g_event_receiver TYPE REF TO lcl_event_receiver.

**************************************************************
* LOCAL CLASS Definition
**************************************************************
*§4.Define and implement event handler to handle event DATA_CHANGED.
*
CLASS lcl_event_receiver DEFINITION.

PUBLIC SECTION.
METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed.

PRIVATE SECTION.

DATA: error_in_data TYPE c.

ENDCLASS. "lcl_event_receiver DEFINITION
*---------------------------------------------------------
CLASS lcl_event_receiver IMPLEMENTATION.

METHOD handle_data_changed.
DATA pr_data_changed TYPE REF TO cl_alv_changed_data_protocol.

DATA: ls_good TYPE lvc_s_modi.
DATA: valor TYPE s_seatsocc.

error_in_data = space.

LOOP AT er_data_changed->mt_good_cells INTO ls_good.
CASE ls_good-fieldname.
WHEN 'REEMPLAZO'.

READ TABLE er_data_changed->mt_good_cells INTO ls_good
WITH KEY row_id = ls_good-row_id
fieldname = ls_good-fieldname.

CALL METHOD er_data_changed->get_cell_value
EXPORTING
i_row_id = ls_good-row_id
i_fieldname = ls_good-fieldname
IMPORTING
e_value = valor.

* Leímos tabla interna
READ TABLE gt_outtab INTO wa_outtab INDEX ls_good-row_id.
wa_outtab-total = wa_outtab-cantidad + valor.
wa_outtab-difer = wa_outtab-venta - wa_outtab-total.

* Modificamos
MODIFY TABLE gt_outtab FROM wa_outtab .
CALL METHOD grid1->refresh_table_display.

ENDCASE.
ENDLOOP.

IF error_in_data EQ 'X'.
CALL METHOD er_data_changed->display_protocol.
ENDIF.

ENDMETHOD. "handle_data_changed

ENDCLASS. "lcl_event_receiver IMPLEMENTATION
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 05:14:30.


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