ABAPPIPOMSGID
Para poder conocer el MSGID de una llamada de PI/PO y poder guardarlo en el LOG para encontrarlo a posteriori con mayor facilidad, bastará con preguntarselo al proxy.
Para los OutBound ->
- DATA: lo_protocol TYPE REF TO if_wsprotocol_message_id.
- TRY.
- lo_protocol ?= {MI_PROXY}->get_protocol( if_wsprotocol=>message_id ).
- DATA(lv_pi_msgid_out_raw) = lo_protocol->get_message_id( ). "<-- Ahí está el ID
- CATCH cx_ai_system_fault.
- clear sy-subrc.
- ENDTRY.
Para los InBound <-
- DATA: gr_proto_msg_id TYPE REF TO if_wsprotocol_message_id,
- gr_srv_context TYPE REF TO if_ws_server_context,
- gs_msg_id TYPE sxmsmguid.
- try.
- gr_srv_context = cl_proxy_access=>get_server_context( ).
- gr_proto_msg_id ?= gr_srv_context->get_protocol( if_wsprotocol=>message_id ).
- gs_msg_id = gr_proto_msg_id->get_message_id( ). "<-- Ahí está el ID
- catch cx_ai_system_fault .
- clear sy-subrc.
- endtry.