cancel
Showing results for 
Search instead for 
Did you mean: 

Call multiple RFC in sequence

Former Member
0 Kudos

Hello all,

i want to try making the following scenario:

- User enters a order for items via SOAP

- PI Needs to check the supply of this item via RFC

- If there is enough supply PI needs to place the order via RFC

- after the order is placed another RFC needs to be called to inform the user of the placed order. If the order is not placed because of limited supply then the content of the message in this RFC needs to be different.

How can i best approach this? I need to create a ccBPM scenario for this i assume, so any help is appreaciated!

By the way we are running with PI 7.1.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Other approach could be using the synchronous proxy. In your proxy code you can call the RFC/BAPI in your desired order and then you can finally send the respons back to the receiver. And also you don't have to use BPM.

Regards,

Sarvesh

Answers (2)

Answers (2)

Shabarish_Nair
Active Contributor
0 Kudos

my suggestion - use a wrapper and put all the functionality into one BAPI instead of multiple bapi/rfc calls in a BPM.

the above is the ideal solution (i strongly recommend that) else you configure your BPM, place each RFC/BAPI calls in a send step in serial and use your logic.

former_member181962
Active Contributor
0 Kudos

Okay. You need to two approaches.

First approach using ccBPM.

The tentative steps would be something like this.

1) receiver step to receive the soap message from the sender appliaction.

2) Transformation to convert the soap message to RFC structure.

3) Send step(Sync) to trigger the RFC1 which checks for supply.

4) Condition step to check for whether supply is there or not.

5) Positive branch, have another tranformation step to convert the order message to RFC2 which places the order.

6) Send step to trigger RFC2 which places the order.

7) based on the return information, have a tranformation step to convert the return information into a format that is understandable for the user and have a send step to send that information as a mail.

Approach 2.

Have all the logic embedded in ABAP as a single RFC .

have the RFC as the receiver message.

Configure the SOAP to RFC scenario.

Regards,

ravi

Former Member
0 Kudos

Thanks for the replies all, i really want to use BPM for this.

Im trying to make the first step work. The first step is a simple SOAP to RFC.

I have created 2 Abstract Interfaces, one for each message type of the SOAP and RFC message types.

I have created a corresponding message mapping and a corresponding operation mapping.

In my BPM scenario i have the following steps:

1. Async receive step with Abstract Interface of iSOAP messagetype in the Message property

2. Transformation step with in the source and target message values the Abstract Interfaces

3. Async Send step with Abstract interface of the RFC Message type in the message property.

In integration Builder i have configured the scenario as usual. With the inbound interface the SOAP Abstract interface and with the outbound interface the RFC Abstract interface. I also made sure i selected the correct operation mapping.

In SXMB_MONI i can see the message is mapped correctly and the RFC is called.

But i have doubt this went through the BPM process. I think this scenario works without it even though i want to do this with a BPM scenario.

How can i make this work with a BPM scenario? Thanks all for the help so far!

former_member181962
Active Contributor
0 Kudos

"But i have doubt this went through the BPM process. I think this scenario works without it even though i want to do this with a BPM scenario."

Check if you have got two messages in SXMB_MONI

one message would have the sender as the soap sender system and receiver as your integration process and

the second msg will have integration process as the sender and your R/3 system as the receiver.

Why do you think your message did not go through the BPM?

Did you configure a scenario without BPM?

If you didn't, you should be worried.

Regards,

ravi kanth talgana

Former Member
0 Kudos

I have configured the scenario without BPM. But i am not sure if the work in the ESR is correct. I am also having difficulty with the configuration of this scenario.... Any suggestions?

Former Member
0 Kudos

If the scenario you are building is for learning purposes, its okie.. Else, you really need to think about the design...

Wrapping all the calls into a Single ABAP Object (& executing the RFC's u need in the requried sequence) as suggested by many earlier is the BEST approach..

If you want to go ahead using a BPM, Good luck in Prod System..

Regards,

Siva Maranani

Former Member
0 Kudos

This scenario is for learning purposes since i want to learn BPM. When i test this scenario it starts the BPM scenario. Only i get a error message: No object type found for the message. Check that the corresponding process is activated

The sender and receiver interface are the same in SXMB_MONI. But i cant figure out where it goes wrong since the configuration looks ok to me.... Any help is greatly appreciated!

Former Member
0 Kudos

This error was fixed!

so now i have a async BPM scenario that sends data to a RFC.

This data needs to be updated with the output of a second RFC.

In short i want to extend the existing scenario to the following scenario:

1. User sends data via SOAP

2.1 SOAP Message is mapped to first RFC.

2.2 SOAP message is mapped to second RFC

3. Response of second RFC is mapped to first RFC.

I now have a async scenario since the SOAP Call does not wait for a response.

Is this possible with BPM with abstract async interface in the receive step in BPM?