cancel
Showing results for 
Search instead for 
Did you mean: 

Idempotent processing of IDocs

Former Member
0 Kudos

I have a requirement to process messages using IDocs, and at the same time, the processing must be idempotent. Are there a set of classes / FMs that can be used to extend standard IDoc functionality to realise this? Since idempotency is possible with Web Service calls, I assume that there may be a set of classes that may assist with this behaviour.

- Tony.

Accepted Solutions (1)

Accepted Solutions (1)

former_member181962
Active Contributor
0 Kudos

Hi,

You can try to have the following logic in the inbound idoc processing user exit.

1) Identify the fields that make the inbound idoc unique. e.g. PO Number and customer.

2) in the inbound IDOC user exit, check if an order already exists for the same combination of the PO number and Customer.

3) If there is a match found, then exit with an error.

4) If there is no match, continue with normal processing.

Best Regards,

Ravikanth Talagana

Answers (1)

Answers (1)

prateek
Active Contributor
0 Kudos

Webservices are exposed over some application logic and therefore Idempotency makes perfect sense.

Idocs are not really used for this purpose. What do you want to achieve with this Idempotency? If you could detail the requirement, you may probably get more inputs.

Regards,

Prateek Raj Srivastava

Former Member
0 Kudos

The customer likes the advantages of having IDocs because of the ease of reprocessing if there is a problem that prevents many messages from being successfully processed. I concur to this idea. Web Services are not reprocessible. However, in the case of receiving a sales order, they want to make sure that the order is only created once, even if for some reason the same order information appears in a different message.

The requirement seems perfectly clear and logical to me.

BR,

Tony.

prateek
Active Contributor
0 Kudos

If your customer is the one who has SAP system, why do you want to handle it externally? I don't think there is any separate API to handle idocs externally. Within ECC however, you may write a report which can reprocess the Idocs based on certain condition. If you want to manage this report externally, you may schedule the report and handle it with external scheduler (in my opinion).

Regards,

Prateek Raj Srivastava