cancel
Showing results for 
Search instead for 
Did you mean: 

EOIO processing in SAP CI

Bhargavakrishna
Active Contributor
0 Kudos

Hello All,

We have a requirement to send the data to the target application in the order (EOIO/FIFO) that we get from the source application.

High level interface flow - SAP ECC ---> XI Sender --> SAP CI ---> HTTP Receiver --> APIM

Interface mode - Asynchronous

Requirement

The data is getting processed in the order when the target application is available. if we have intermittent connectivity issues when posting the messages to the target application the messages are not getting processed in the order that we get from the source system. once the application is up, the messages are getting picked randomly from the Data store and processed.

Anyone worked on similar usecase? Appreciate your support to achieve this requirement.

Thanks in advance.


Best Regards

Bhargava Krishna Talasila

View Entire Topic
SivaPO
Participant
0 Kudos

Your design doesn't guarantee EOIO. You may have to orchestrate, as mentioned in the below thread.

https://answers.sap.com/questions/13547805/

Bhargavakrishna
Active Contributor
0 Kudos

Hi Siva,

Thanks for your response.

I have already checked the above link and tried implementing it, but stuck with issues. so looking for alternative approaches to achieve the requirement. i have tried using both Data store and JMS Queues still the messages are not getting processed in sequence. instead of select specified in the design mentioned in the above link, I have used GET operation, because i don't want to process all the messages once and it will have impact the sequencing.

Error Detailscom.sap.esb.datastore.MessageNotFoundException: No message found for id x-incfs-correlationid in store DS01

Best regards

Bhargava Krishna

SivaPO
Participant
0 Kudos

Hi Bhargav, The "Select" query is to fetch all the GUIDs and Timestamp details (not actual payload) from the DS2 datastore. These details can't be sequential as we need to do sorting on all the details at once in the given time period. These sorted details are needed to fetch the message payload "in order" in the second call.

And 'Get' is used in the second call to pick the payload sequentially in order (by making use of sorted values) from DS1 for EOIO.