#10
|
|||
|
|||
Hola!
Hola, encontre este codigo:
FORM data_changed USING rr_data TYPE REF TO cl_alv_changed_data_protocol. DATA : ls_mod_cell TYPE lvc_s_modi. DATA : c_texto LIKE tj30t-txt30. SORT rr_data->mt_mod_cells BY row_id . LOOP AT rr_data->mt_mod_cells INTO ls_mod_cell. * Compruebo que el campo que se ha modificado es el que quiero tratar IF ls_mod_cell-fieldname = 'ESTAT'. * Haces las comprobaciones necesarias SELECT SINGLE txt30 INTO c_texto FROM tj30t WHERE stsma = 'ZCSIORD' AND txt04 = ls_mod_cell-value AND spras = sy-langu. READ TABLE g_mseg INDEX ls_mod_cell-row_id . IF sy-subrc = 0. * Con el resultado, modifico el campo que quiero g_mseg-txt30 = c_texto. * Primero modifico la tabla interna MODIFY g_mseg INDEX ls_mod_cell-row_id. * Luego hago el refresh del campo que quiero que se modifique en el ALV CALL METHOD rr_data->modify_cell EXPORTING i_row_id = ls_mod_cell-row_id i_fieldname = 'TXT30' "Aquí va el campo que quieres modificar i_value = c_texto. "Aquí el texto que quieres modificar ENDIF. ENDIF. ENDLOOP. ENDFORM. "data_change lo tome de aqui ... No c muy bien si puedes controlar el user_command su fuese asi podria intentar esto: FORM user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. DATA: w_answer TYPE c. rs_selfield-refresh = 'X'. CASE r_ucomm. WHEN 'EXEC'. *--La comprobación sólo se realiza si no estamos en test, ya que *..cuando ejecutamos en test no se crea el juego de datos *****Campo PA_CHECK ya no se utiliza.JRMR2008 *****Se cambia por pregunta si se requiere ejecutar el registro de *****las Facturas. CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE' EXPORTING diagnosetext1 = 'Va a procesar las Facturas' diagnosetext2 = 'Desea Continuar' textline1 ... Saludos. Saludos
__________________
el tema esta en hacer la pregunta correcta... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|