#10
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|