cancel
Showing results for 
Search instead for 
Did you mean: 

Three Receiver DB in Proxy to JDBC Scenario?

0 Kudos

Hi All,

My requirement is Proxy to JDBC scenario, in which i need to insert the three different JDBC systems.

If the message is successfully sent to three jdbc receivers systems then the ecc system should get the status as "Y" , if not "N".

It is not synchronous interface.

for ex: 100 records sent from ecc system, for various reasons the first system gets 100 successful records,second and third don't receive all the records, in that

we need to send error status messages to ecc for the failed records. And the ecc should send back to those failed records to second and third systems.

is it possible? if it is possible could you please explain.

Regards,

Praneeth

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

IMO, Even if you do ccbpm, you might not able to achieve all your requirement fully in one interface. The problem here is to resend those failed records again from ECC to JDBC.  The mere count updates does not help for ECC to resend the appropriate insert records again. The count number can sure mislead here. What will happen if the insert goes well 1 through 50 and fails 51st and goes well in the middles and fail 93rd again and rest goes through well?

So for better clarity purpose, I would recommend to create three different interface and trigger the flow from proxy and validate accordingly for the insert action in each individual jdbc interface.

0 Kudos

Hi Baskar,

Sorry for the late reply.

100 records sent from ecc system, for various reasons the  system gets 80 successful records, in that case we need to send error status messages to ecc for the failed records. And the ecc should send back to those failed records to  system.

As per my knowledge, if the 100 records are processed in single message, in that 80 records contain correct data and remaining 20 records has incorrect data. In that case the whole message id gets fail in PI level or will it insert the correct data in to the JDBC receiver system.

Please could you explain in detail.

Regards,

Praneeth

Former Member
0 Kudos

Hi,

Your understanding is correct, by default PI is having control over the transaction. So, suppose if 99th record gets failed PI will rollback all the previous statements/records but having said that you can avoid this behaviour.

You can give the control to ur SP (DB), under Advanced mode check the option-> Database auto commit enabled.

So, now in this case if any exception occurs while executing the SP it will not rollback the previous records (apparently u have to catch the exception in the SP) and continue with the processing of rest of the records and then probably u can also log the exception (related to that failed record) in some table and at the you can trigger a mail from DB to ur interface owner.

Thanks

Amit Srivastava

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Praneeth,

Design interface like this:

1)If any error occurs in PI , then you can resend those messages to data base so no need to worry about PI errors.

2)If record failed at Data base level then ask your Data base team to move failed records to Error table.

3)develop interface error table to ECC and update the same in ECC.

This works.

i dont recommend sync scneario .

Regards,

Raj

Answers (1)

Answers (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

If you dont want to do in in sync interface then develop one more interface to get the count details and update in ECC.