on 05-11-2011 7:55 AM
Hi Experts,
I am integrating Third party (web service) system with SAP ECC.
1) Web service system sends SOAP req to SAP ECC (BAPI1), BAPI 1 validate the request and sends response back with status flag.
2) if Status flag is positive results then I have to call BAPI 2 to process the process elase I will not call other BAPI.
3) If flag status IS positive or negative I have to send back response to Web service system
How to design this interface.
Regads,
Jam
Hello,
Your scenario can be implemented without the use of BPM. Message flow looks like this
Third Party -> PI -> SAP (request)
<- PI <- (response)
|
SAP
Notes:
1.) Sender and Receiver Interface are Synch
2.) Based on the response message, implement an RFC LookUp such that BAPI2 is called if flag is present.
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
SOAP is sync call and BAPI1 also Sync cal and i want to send BAPI 1 response to SOAP.
1)SOAP sends req to BAPI1---->BAPI1 gives response with status->if status positive then i want to send SOAP Req once again to BAPI 2 and same time i want to send BAPI1 response back to SOAP->if response not positive from BAPI1 no need to call BAPI 2.
1) Use a BPM:
Receive (Open S/A Bridge) --> Transformation1 --> SYNC_Send (BAPI1) --> Transformation2 --> ASYNC_Send (BAPI2) --> Send (Close S/A Bridge)
Include Transformation2 and ASYNC_Send inside a Switch Block which will check if the Status is positive or negative.
2) As mentioned by Monika you can make BAPI1 itself to update the BAPI2 when status is positive....in this case no need of a BPM. It will be a normal SOAP <-> PI <-> BAPI1 SYNC Call.
For better performances, I would prefer the SOAP <--> RFC synch scenario. Based on RFC response , decide in response mapping to call BAP2 or not. This would be simpler in design too.
Question: if the BAPI one response is positive, you are sending soap request to BAPI2 but you don't expect any response from BAPI2 , right? If so then without BPM, you can implement. Plus using ICO (going through local processing) will help performance in many fold than going through sync async bridge with BPM.
Edited by: Baskar Gopal on May 11, 2011 12:11 PM
For better performances, I would prefer the SOAP <--> RFC synch scenario. Based on RFC response , decide in response mapping to call BAP2 or not. This would be simpler in design too.
How can i call BAPI 2 using response.
Now i have two mapings, one is SOAP Req-> RFC BAPI1,BAPI1 Res>SOAP Res.
how can i check condition in mapping to call SOAP Req -->BAPI2.
Regards,
JAM
Hello,
how can i check condition in mapping to call SOAP Req -->BAPI2.
In message mapping, implement an ifThenElse logic based on the flag from your response. BAPI2 can be called using RFC LookUp inside message mapping. See example code from the blog below:
/people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
Hope this helps,
Mark
Hello,
but the point here is for positive or negative results i want to send BAP1 response back to Thrid party.
The response of BAPI1 will still be sent to third party (because you have response mapping). BAPI2 will only be called depending on the message mapping conditions.
Hope this helps,
Mark
Hi
You can design a normal Soap-RFC sync scenario. In fact you use ICO and bypass the integartion engien to achive good performance. Regarding invoking the second bapi, you can manage this inside the code of RFC itself.
Regards
Monika
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
75 | |
9 | |
7 | |
6 | |
6 | |
6 | |
6 | |
6 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.