on 06-04-2012 1:40 PM
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
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
If you dont want to do in in sync interface then develop one more interface to get the count details and update in ECC.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
92 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.