Ver Mensaje Individual
  #2  
Viejo 21/06/11, 11:31:02
mialma mialma is offline
Junior Member
 
Fecha de Ingreso: mar 2008
Mensajes: 19
*OPCIONES
DATA opt TYPE ctu_params.

opt-dismode = v_mode.
opt-defsize = 'X'.
opt-updmode = 'S'.

* Errores
DATA: BEGIN OF t_err OCCURS 0.
INCLUDE STRUCTURE bdcmsgcoll.
DATA: END OF t_err.

CLEAR t_err.REFRESH t_err.

* Batch Input
DATA: BEGIN OF tabla OCCURS 0.
INCLUDE STRUCTURE bdcdata.
DATA: END OF tabla.

CALL TRANSACTION v_tcode USING tabla OPTIONS FROM opt
MESSAGES INTO t_err.

* Manejaremos los errores del call transaction en t_errores
LOOP AT t_err WHERE msgtyp = 'E'.
DATA: l_text(255),
numero LIKE sy-msgno.

numero = t_err-msgnr.
CALL FUNCTION 'RPY_MESSAGE_COMPOSE'
EXPORTING
language = sy-langu
message_id = t_err-msgid
message_number = numero
message_var1 = t_err-msgv1(50)
message_var2 = t_err-msgv2(50)
message_var3 = t_err-msgv3(50)
message_var4 = t_err-msgv4(50)
IMPORTING
message_text = l_text.

MOVE-CORRESPONDING i_datos TO i_errores.
i_errores-dyname = t_err-dyname+2(4).
i_errores-fldname = t_err-fldname.
MOVE l_text TO i_errores-texto.
APPEND i_errores.
CLEAR i_errores.
ENDLOOP.
ELSE.
* Si el call transaction se ha ejecutado correctamente
REFRESH tabla. CLEAR tabla.
ENDIF.
Responder Con Cita