cancel
Showing results for 
Search instead for 
Did you mean: 

How to retrieve the Source XML Payload into an External System using message ID?

Former Member
0 Kudos

Dear Experts,

I have a requirement to retrieve the inbound XML message payload based on Message ID into Backend ERP system for reference or re-process as needed. Request you to let me know the technique to get the source payload of successful message.

Kind Regards,

Madhu

Accepted Solutions (0)

Answers (1)

Answers (1)

deepak_shah
Contributor
0 Kudos

Hi Madhu,

If assume you are aware of transaction SXMB_MONI for checking payload of message in SAP system.

if I understand your query correctly, you want to check main payload which source system send and not the payload after mapping step is executed.

IF yes, then I guess you will have to go to PI system and check the payload using the message id.

I am not sure if there is any other way.

-Deepak

Former Member
0 Kudos

The requirement is to fetch the PI- XML payload of Message ID into another external system.

prasanthi_chavala
Active Contributor
0 Kudos

Hi Madhu,

The xml payload in SAP PI is stored in Standard SAP tables and you can construct interface to fetch payload data from these tables as per your requirement.

Refer the below wiki to get overview of tables involved

http://wiki.sdn.sap.com/wiki/display/XI/XI+Tables

Another point is, if you have defined retention period of your regular interfaces then the data will be purged by PI housekeeping jobs whose retention period exceeds than defined limit and you will not get the payload if you want to reprocess.

Thanks,

Prasanthi

Former Member
0 Kudos

Dear Prasanthi,

Many thanks for your reply.. The tables mentioned in above link are just giving property information only but not actual payload of given message ID for which I am able to retrieving through SXMB_MONI etc.

Best Regards,

Madhu

prasanthi_chavala
Active Contributor
0 Kudos

Hi Madhu,

Since the data is stored in binary formate, you need to use the class cl_xms_persist + method read_msg_all which gives you the payload.

Thanks,

Prasanthi


Former Member
0 Kudos

Any suggestions through the java UDF to achieve the same?