on 11-24-2010 10:00 AM
Hi Experts,
I have a requirement.
1) I need to post some data to Database Asynchronously.
2) After the posting is Sucessfull, i need to call another interface in PI.
I am looking for, how can we know that the Receiver JDBC Adapter posted sucessfully to Database ( This is Async posting to Databse) and subsequently call another interface from the same communication channel.
Best Regards
Subbu
You can do 1:n multi-mapping
Source: File Structure
Target: JBDC Structure and then the Other Output structure
In the interface determination you can choose "Maintain Order at runtime". This will make sure that only after insertion into JDBC, other Structure is populated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Here:
http://help.sap.com/saphelp_nw2004s/helpdata/en/42/ea20e737f33ee9e10000000a1553f7/frameset.htm
(btw you can search and find many more posts on this)
What I can explain in simple words is that by selecting "Maintain Order at Runtime" in Interface Determination... the subsequent steps will be in EOIO.
..which according to me is applicable in your case since you need maintain the order of the Inbound interfaces(JBDC and then another one).
@Arpil
Receiver JDBC adapter will throw error if query is not executed. And only after successful insertion next inbound message will be posted.
>
> I have tried similar JDBC receiver scenario... it works fine.
Are you sure of this? I don't think "maintain order at runtime" will prevent the 2nd message from being sent if the first one goes in error. The main reason is that there are two separate receivers (means two different business systems) ... your logic would have worked if there was a single receiver.
BPM is one of the solution that can be used, but the JDBC call needs to be made sync.
Hi,
your logic would have worked if there was a single receiver.
Yes "Maintain Order at Runtime" is a option in Interface Determination... so i guess its applicable only for Single Receiver Component.
However for achieving desired result, using Single Receiver is a possible option.
(especially since one can avoid BPM)
Isn't it?
Regards
Arpil
@ Arpil,
> Yes "Maintain Order at Runtime" is a option in Interface Determination... so i guess its applicable only for Single Receiver Component.
> However for achieving desired result, using Single Receiver is a possible option.
> (especially since one can avoid BPM)
> Isn't it?
I believe that there are going to be two business systems reason being one receiver is a JDBC connection and another is a web service call. Now, if these connections are being made to the same BS, then "maintain order at runtime" can work but if there are two BS, then it won't work.
And no harm in using BPM ... it is there to be used in such situation
Rama,
I believe you can use BPM if you want to trigger another interface as soon as you have posted to JDBC.
But since, yours is an Asynch posting into JDBC, there is no way to know that it has been posted successfully into the JDBC.
All you can check is whether the communication channel was successful or any errors have occurred using Acknowledgement in BPM step.
If the acknowledgement is in error, you just need to raise an exception else you can trigger another interface.
Regards
Krish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
additional information regarding subesquent 2nd call.
Once the Database update is sucessful, i need to trigger another webservice call.
Here, if the posting is not sucessful at Database, then communication channel fails. This should stop triggering the webservice call also.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
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.