cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create message for HTTP receiver to send Acknowledgments

0 Kudos
389

I have the follwoing scenario

R/3 Purchase Order IDOC sender ---> PI 70 ---> HTTP receiver external vendor system

What it does it sends an ORDERS IDOC from R/3 to XI and in XI the IDOC is transformed to an XML sent with PlainHTTP to the vendor system. In design I am using:

1) XCBL standard XSD schemas for PurchaseOrder message types and interface (that the Vendor provided me with)

2) Some old SAP XSLT mapping programs I found from the Business Connector era, that do exactly that convert R/3 IDOC to the standard XCBL Order.

All this works fine. What I want to do now, is get a system acknowledgment from the vendor system that they have received the message. I know that this can't be done in terms of XI acknowledgments (at least not without BPM).

But the vendor partner has also provided me with another standard XSD for MessageAcknowledgments and he has also given me an example of what his response message would look like. They have implemented this with another customer of theirs that uses XI and I would like to do the same, only I don't know how.

The vendor response (based on the XCBL standard XSD) looks like this and has three fields. The first and third are obviously populated from the PurcheseOrder XML received by the vendor him and the second field looks like the message ID of the XI system that sent him the PurchaseOrder

<MessageAcknowledgement>

<AcknowledgementLocation>Other</AcknowledgementLocation>

<AcknowledgementReferenceNumber>01ddb5c6-7a75-1000-a53c-0a1006170001</AcknowledgementReferenceNumber>

<AcknowledgementNote>Date:20090614T12:00:00+01:00 DocType:Order DocNum:4550195032 Originator:265755319</AcknowledgementNote>

</MessageAcknowledgement>

I would appreciate any jumpstart ideas on how to go about this.

regards

Lukas Karambelas

View Entire Topic
0 Kudos

Aamir thanks for the tip. Note that I am talking about a simple system acknoledgment. It can stay in XI or ideally go back to the R/3 backend and update the ORDERS IDOC status to "received"

But the point is that some time later, the vendor system will sent a real Purchase Order Response (HTTP sender) with info such as accepting quantities, prices, delivery dates, etc. This POR should be posted back to the R/3 backend as an incoming ORDRSP IDOC. And the business is that such POR can arrive many days later, it is a normal scenario

So the question is can a single BPM handle sending the PO and receiving both a quick "MessageAcknowledgment" and an application "PurchaseOrderResponse" that can arrive days later?

regards

Lukas

Former Member
0 Kudos

Hey

Here are two things which can be done.

lets say you send a request from ECC to XI which goes to the Vendor.You can do a simple acknowledgment for this without BPM.its ALEAUD IDOC,and comes by default.

Now if the Vendor sends a response immediately and you need to route this response to ECC,then you have to handle the whole scenario via BPM(as IDOC adapter does supports modules or sync. scenarios)

But if the Vendor waits for some time and sends the response later on,you can split the scenario into 2 async scenarios.

First scenario will send the request from ECC to XI to Vendor,this will just send back an acknowledgment to ECC saying that IDOC was posted properly to XI.(IDOC to HTTP async scenario)

Second scenario will send the response from HTTP to XI to ECC,this will be HTTP to IDOC async

scenario.

if your response is coming days later,then dont use BPM.

Just split your scenario into 2 async scenarios as i have described above

Thanks

Aamir

Edited by: Aamir Suhail on Jun 18, 2009 11:35 AM