on 07-20-2020 8:10 AM
Hi,
we have an EOIO issue with following SAP PI (7.5 – Java Only) scenario.
A JDBC adapter reads entries from a database (poll cycle = 60 sec). An operation mapping creates via message split an IDOC for each record of the resultset. (In dependency of the payload a CREATE, CHANGE or DELETE – IDOC).
An EJB adapter module of the IDOC receiver channel dynamically sets the queue ID wit a value from the payload.
During a mass test following error occurred. With the first query PI retrieved a huge number of data records. As soon as PI finished the mapping (with the split), PI set the state DLVD to the query message and starts to process the next query-message even some of the created IDOCs have not been delivered successfully to the receiver system (SAP S/4).
So it happened that a DELETE IDOC of the second query was delivered before the change IDOC of the first query.
Does anyone of you have a suggestion hwo to avoid / fix this issue? The configuration should be clean (EOIO Flag of the sender channel, “Maintain Order at Runtime” of the operation mapping and Queueprocessing of the IDOC adapter are all set).
Thanks and best reagrds,
Peter
Hi Peter!
As far as I know, quality of service EOIO and the queue name should be set in the sender channel's properties.
Regards, Evgeniy.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Evgeniy,
you are correct and we do this, too.
But as it looks the operation mapping overrides the serialization context of the sender adapter and creates a new serialization.
Therefore it happens that split messages of a later message overtake split messages of the first message.
Best regards,
Peter
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.