cancel
Showing results for 
Search instead for 
Did you mean: 

Help with ordering EO scenario

Former Member
0 Kudos

Hi PI experts,

I've come across a scenario where the customer requires Delete records before Insert records but would like to have it using EO (so that if it errors, it processes subsequent records).

The messages are created from a proxy interface in CRM - would this be possible, and if so, how?

Thanks in advance!

Accepted Solutions (0)

Answers (1)

Answers (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Vivian,

Not sure if I understood your requirements completely, but this should be possible. In your proxy code, make it such that you always send the delete records (one message) and then send the insert records (another message) afterwards. By default, abap proxy uses EO for asynch interfaces.

Regards,

Mark

Former Member
0 Kudos

hi Mark,

but if you separate the messages, in EO any message can be processed first right. What if delete message works after insert message?

hi Vivian,

please tell us what is the target? is JDBC?

Former Member
0 Kudos

Hi Naresh,

The target is MS SQL.

RE Mark's response, Naresh you are correct - that is exactly the issue.

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Naresh/Vivian,

Sorry for not being clear By separate I mean send the messages at a different interval e.g schedule a batch job for all delete records and after an hour another batch job will send all the insert records.

Regards,

Mark

Former Member
0 Kudos

hi Mark/Vivian,

Though it is batch job, unless you make sure that delete job executes first (till target), we can not insert the records.

The one way in can think of is, use the multiple statements in mapping, Statement 1 for delete and Statement 2 for insert and in rcv channel use the isolation level as "serializable". so that you can make sure that delete statement executes at database first then insert.

Now, when sending data to PI, just think about how effectively you can split the data. Means, create batch jobs based on plant or location ot club etc.. this way you can make sure that per a given plant data, delete job works first and then insert.

Hope this gives you an idea. please let me know your thoughts.

--Naresh