Cuando se definen interfaces con Fault Message Type, para rellenar la estructura estándar cuando se han producido errores existe el siguiente método:
data: standard_data type zpi_exchange_fault_data,
detail_data type zpi_exchange_log_data,
ls_return type bapiret2.
clear standard_data.
standard_data-fault_text = 'Ha ocurrido una excepción'(001).
loop at gt_return into ls_return.
call method cl_proxy_fault=>get_fault_detail
exporting
msgty = ls_return-type
msgid = ls_return-id
msgno = ls_return-number
msgv1 = ls_return-message_v1
msgv2 = ls_return-message_v2
msgv3 = ls_return-message_v3
msgv4 = ls_return-message_v4
importing
severity = detail_data-severity
text = detail_data-text
url = detail_data-url
id = detail_data-id.
append detail_data to standard_data-fault_detail[].
endloop.
raise exception type zpi_cx_fmt_ecc_factura
exporting
automatic_retry = abap_false
no_retry = abap_true
standard = standard_data.
Para poder ver la descripción del mensaje a través del explorador. Será necesario tener activo el servicio /sap/xi/docu_apperror en la tx: SICF.
No hay comentarios:
Publicar un comentario