SAP:与PI对接proxy接口获取PI的消息ID(MSGID) ,方便查询具体数据或者做PI穿透查询

可查看接口具体发送的数据,方便PI查询


定义部分

 

DATA: go_message_protocol TYPE REF TO if_wsprotocol_message_id."用来取MESSAGE ID Message Protocol 用来去Message ID
  DATA: lv_message_id            TYPE sxmsguid. "Message ID
  DATA: lv_message_id_o          TYPE sxmsguid. "Message ID,指向SAP标准日志程序的链接
  DATA: lo_server_context       TYPE REF TO if_ws_server_context. "ServerContext对象,用来取接口相关控制信息
  DATA: go_header_protocol TYPE REF TO if_wsprotocol_xi_header.

程序中获取PI消息ID部分
   

 

TRY .
        CREATE OBJECT proxy.
        zoutput-in0-funds_pay_info[]  = gt_output[].
        "从message protocol中获得message id
        " Create Object for Proxy Class
        go_header_protocol ?= proxy->get_protocol( if_wsprotocol=>xi_header ). "取Header Protocol
        go_message_protocol ?= proxy->get_protocol( if_wsprotocol=>message_id ). "取Message Protocol
        CALL METHOD proxy->si_ecc_payment_out
          EXPORTING
            output = zoutput
          IMPORTING
            input  = gt_return.
        "****Execute Proxy
        lv_message_id_o = go_message_protocol->get_message_id( ). " 取得反馈消息的masssage ID
        COMMIT WORK.
      CATCH cx_ai_system_fault .
        t_return-type = 'E'.
        t_return-message = 'system_fault,请查询PI!'.
        APPEND t_return .
    ENDTRY.

lv_message_id_o就是获取的Message GUID

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论