Sending messages exactly in order
I am setting up the following scenario: IDocs from R/3 are handed over to XI. There is a message mapping to an inhouse XML format. During this message mapping, a counter is increased and mapped into the inhouse xml format. That means every message contains an element with a counter as unique ID, so that every message can be 100% identified and referenced. These messages are then sent to external partners, e.g. with FTP/File-Adapter.
The problem is: The partner only accepts the messages when they are received in the correct order concerning the counter inside the messages (first counter 154, then 155, then 156 and so on). That means: The messages MUST be sent exactly in the order in which they are handed over from R/3 to XI.
Normally everything works fine, but what happens if there is for a short moment an error in the adapter (e.g. ftp connection problems)? That might cause a problem, for example: Message with counter 98 is tried to be sent, there is an error in FTP adapter, the message will get status "waiting" and will be retried in a few minutes. But in the meantime the message with counter 99 is tried to be sent, and there is no error in the adapter. That means the partner get the message with counter 99 before the message with counter 98, which won't be accepted.
Is tehre any possibility to avoid this situation? Is there some kind of "exactly once in order" processing for outbound messages? The adapter engine should just process the messages exactly in the order in which they are received from the integration engine.