Ver Mensaje Individual
  #10  
Viejo 11/03/08, 14:28:36
vickxo vickxo is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Madrid, Espaņa
Mensajes: 118
posteron esto mas arriba...

Mira, posteron esto ams arriba y es buena opcion, segun yo


Primero agrego el evento DATA_CHANGED a la llamada del alv, en tu codigo seria en el gt_events[]
FORM eventtab_build USING it_events TYPE slis_t_event.

DATA: l_event TYPE slis_alv_event.

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = it_events.


l_event-name = 'DATA_CHANGED'.
l_event-form = 'DATA_CHANGED'.
APPEND l_event TO it_events.
ENDFORM. "eventtab_build

Luego creo la rutina DATA_CHANGED para efectuar los cambios necesarios. El evento salta con el INTRO

FORM data_changed USING rr_data TYPE REF TO cl_alv_changed_data_protocol.
DATA : ls_mod_cell TYPE lvc_s_modi,
lv_value TYPE lvc_value .
data c_texto like tj30t-txt30.
* Inicialitzacions
data rs_selfield TYPE slis_selfield.

* Tractament de les dades modificades
SORT rr_data->mt_mod_cells BY row_id .
LOOP AT rr_data->mt_mod_cells INTO ls_mod_cell.
IF ls_mod_cell-fieldname = 'ESTAT'.
SELECT SINGLE txt30 INTO c_texto
FROM tj30t
WHERE stsma = 'ZCSIORD'
AND estat = ls_mod_cell-value
AND spras = sy-langu.
READ TABLE g_mseg index ls_mod_cell-row_id .
if sy-subrc = 0.
g_mseg-txt30 = c_texto.
modify g_mseg index ls_mod_cell-row_id.
call method rr_data->MODIFY_CELL
exporting i_row_id = ls_mod_cell-row_id
i_fieldname = 'TXT30'
i_value = c_texto.
ENDIF.
ENDIF.
ENDLOOP.
* MESSAGE i300.
ENDFORM.


Revisa de todos modos el posteo de modificar un alv...bye

__________________
el tema esta en hacer la pregunta correcta...

Úlima edición por vickxo fecha: 11/03/08 a las 14:30:42.
Responder Con Cita