cancel
Showing results for 
Search instead for 
Did you mean: 

Async/Sync BPM passing a ID from the Req msg to Rsp MSg

hugo_willie
Explorer
0 Kudos

Hi,

I have a File to SAP Standard proxy scenario. The file go though a Async/Sync BPM which sends a SAP standard message post a document to SAP and SAP sends a success or error response back. I then send this response back as a mail message. The problem is that in the response message there is nothing that ties it to the request message. What I need to do is to pass an ID in the request message to the Response message when the Response message comes back from the SAP Proxy.

This will enable us to determine which file was successful and which not.

Your assistance in this matter will be greatly appreciated.

Regards

Willie Hugo

Accepted Solutions (0)

Answers (3)

Answers (3)

hugo_willie
Explorer
0 Kudos

Shabarish,

Thanks again for the prompt response. There is a Unique ID in the file that is not in the file name. Now there is a mapping happening between the file request message structure to the standard SAP Sync Request Message structure. In the Request message there is a unique id that is not pass to the SAP Proxy Request message as there is no field in the SAP Standard proxy that it logically could be pass to. So this id does not exist in the SAP system. Now when the response message come back from SAP to the BPM in PI the there is nothing in the response that ties it to the request message. So correlation to me does not seem to be useful. However I do not understand you mapping option fully.

Please could you elaborate or assist in another solution.

Regards

Willie Hugo

Shabarish_Nair
Active Contributor
0 Kudos

lets say;

interface ReqSource has the unique field called ID, RespfromSAP is the response from SAP;

you want to have ID in the response to source in message RespToSource...

in this case you can have a mapping after the sync send to SAP. The source messages for the mapping will be ReqSource & RespfromSAP.

Since in BPM your messages are stateful, the value of ID is still retained in your ReqSource message and hence you can do the mapping.

hugo_willie
Explorer
0 Kudos

Thank you Shabarish, but the Id I refer to is a uniue id in the request message payload that I would like to pass to response message payload.

Shabarish_Nair
Active Contributor
0 Kudos

>

> Thank you Shabarish, but the Id I refer to is a uniue id in the request message payload that I would like to pass to response message payload.

there are two ways;

1. Pass the id into sap and let sap pass it back to you

2. do a transformation in your BPM once you get the response from SAP - in this transformation you can add the request message also as source (i.e response from SAP and request message). thus you can map the required value to the final response. In BPM, the data is always persisted so the id will be available always until the BPM execution is ended

my preference will be option 1

Shabarish_Nair
Active Contributor
0 Kudos

I think its best to use the message ID in the request message to SAP (in an additional field).

When SAP responds back the logic needs to ensure that the same msg id as in the request is returned back in a response field.

You can then use correlation in the BPM (if needed)

On second thoughts,

you can use the file name instead of the mesg. id to give you a better visibility of the message and track the same as your requirement.