Modificar los valores de los campos de una dynpro sin PAI ó PBO
Tercer Objetivo: Modificar los valores de los campos de una dynpro sin pasar por el Process After Input.
--------------------------------------------------------------------------------------------------------------------------------------------------
El Evento en donde se debe poner los módulos a desarrollar es:
PROCESS ON VALUE-REQUEST.
FIELD P9900-MARCA MODULE F4_QQQQ. "Cualquier otro módulo útil"
--------------------------------------------------------------------------------------------------------------------------------------------------
El código del módulo es el siguiente:
MODULE F4_QQQQ.
Declaración de variables: --------------------------------------------------------------------------------------------------------------------
DATA dynpfields LIKE dynpread OCCURS 0 WITH HEADER LINE.
.....
.....
Código del módulo que realiza otra función (o funciones)
.....
.....
Preparación "Mini PBO": ----------------------------------------------------------------------------------------------------------------------
Aquí se esta tratando una dynpro con 2 campos llamados 'P9900-MARCA' y 'TXT_INFO'.
" nombre del campo en la dynpro
dynpfields-fieldname = 'P9900-MARCA'. "txt_info.
" Nuevo valor del campo escribir.
dynpfields-fieldvalue = it_return1-fieldval.
" Realizar Actualización Inmediatamente
dynpfields-fieldinp = 'X'.
APPEND dynpfields.
dynpfields-fieldname = 'TXT_INFO'. "txt_info.
dynpfields-fieldvalue = txt_info.
dynpfields-fieldinp = 'X'.
APPEND dynpfields.
Función: ------------------------------------------------------------------------------------------------------------------------------------
CALL FUNCTION 'DYNP_VALUES_UPDATE' "
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpfields
EXCEPTIONS
OTHERS = 8.
Explicación: ---------------------------------------------------------------------------------------------------------------------------------
dynpfields: Es una Tabla que tiene cada campo (con su respectivo valor) a actualizar. Cada registro que tenga la tabla corresponde a un campo en la diynpro indicada por sy-dynnr.
|