IDocs arriving at XI are by default processed in Exact Once (EO) mode. However, you may have a business case where certain IDoc type must be strictly processed in the order which they are sent out from the Application System. This post shares with you simple steps to serialize your IDocs fed to XI, i.e., in Exact Once In Order (EOIO) fashion.
h4. Configuration steps in XI (Optional)
From my experience, the steps in the section are not necessary if your Application System is based on WAS 6.40 and above.
Assume you have already configured IDoc port type (IDX1) and RFC destination for your application system (SM59). That is, your EO IDoc works.
In SE16, enter Table name IDXQUEUE and create a new table entry. Supply the parameters: PORT, CLIENT, MESTYP and QUEUEID for each of the IDoc message type that you want to serialize using the IDoc adapter. Save each entry.
h4. Configuration steps in Application System
From CRM, basically you need to enable queue processing mode for this IDoc type, and specify which XI queue will handle the messages. Some simple coding is required.
First, create a function module, e.g., IDOC_QUEUE_BP, which is basically used to indicate QueueID for this IDoc type (SE37).
- Export parameter: NAME of type CHAR16
- Tables: DATA of type EDID4
In the body of source code, simply specify the QueueID with one line of code. Note that it must match with the QueueID specified in IDXQUEUE table in your XI system.