cancel
Showing results for 
Search instead for 
Did you mean: 

Calling a R3 BAPI inside the RFC Created in XI

Former Member
0 Kudos

Hi,

Please help me. I have to call a R3 BAPI from a RFC already created in XI. Is it possible? Please let me know your Thoughts. If is possible, How to call R3 BAPI from a RFC available in XI?

Thanks and Regards,

Kannan.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Kannan,

Just check out this thread..

cheers,

Prashanth

Former Member
0 Kudos

Hi Prashanth,

I do not understand the code. It is Java or VB? I do not know either. I will describe the required scenario more detail here. There is a BAPI (RFC) created in XI and this is imported in the XI Design. This is the Meta Data (I am not good in XI, please excuse me for wrong naming). So XI calls this BAPI through RFC call. My task is to include one more BAPI (This is available in R3 only) inside the BAPI already available in XI. So when the BAPI in XI is called, based on some conditions, the program will call the R3 BAPI or will not call. This is to just save the resource during RFC call to BAPI in R3. When i put the code "call function "BAPI_XXXXX" in side the BAPI in XI, it throws Error Message that the Function does not exist. Error is quiet obvious, that BAPI exists only in R3 and not in XI. Is it possible to call a BAPI that exists in R3 through a BAPI that exists in XI?

Is the requirement clear now?

Thanks for your help in Advance.

Thanks and Regards,

Kannan.

stefan_grube
Active Contributor
0 Kudos

You described your BAPIs, but not the whole scenario. What is the sender, what the receiver, do you use BPM, do you use mapping.

1. approach: Do all with BPM. Call your XI RFC first, then the R/3 BAPI

2. approach: Do this stuff inside mapping with the look-up-API. Some Java skills are required.

3. approach: The XI RFC calls the R/3 directly as RFC call (call function ... destination ...). Here you have the problem, that you have to find the correct destination for dev/qa/prod system.

4. approach: Create your Z-table and RFC in backend

Regards

Stefan

Former Member
0 Kudos

Hi Stefan,

Thanks for the reply. Can you please elaborate little bit more on the approach 3 & 4?

Sender: Flat File through FTP Adapter.

Receiver: SAP R3 (same receiver as the one where we are calling the BAPI, but in the receiver we need to post an IDOC.) In between there is a ABAP mapping i.e. after the BAPI response. I am using a BPM for this. But i don't want to make too many RFC calls as the performance will suffer.

Scenario is like: flat file -> RFC call to R3 -> ABAP Mapping -> IDOC to R3

Please let me know if the Scenario is not yet clearly described.

Thanks for your help in advance.

Thanks and Regards,

Kannan.

stefan_grube
Active Contributor
0 Kudos

3: You want to call the BAPI in R/3 out of a function module in XI. So you do remote call. call function ... destination ... Check the ABAP help for details.

The destination of your R/3 function depends on the system environment and is different in development, q/a or production system. You need a way to apply the correct system

4: Check, if your Z_Table cannot be created in the R/3 instead ofXI. Then you can call both RFC in the same system

But anyway: You use BPM, so add a seperate send step, that is the best approach to this scenario.

Stefan

Former Member
0 Kudos

Hi,

You need to specify the destination also when you are calling the BAPI.

call function BAPI_XXXXX destination XXX

Regards,

Smitha.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Kannan,

You cant create an RFC in XI!

If you are talking about implementing an RFC to XI scenario...check out this blog:-/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step

Regards,

Sushumna

Former Member
0 Kudos

Hi Sushumna / Udo,

Thanks for your reply. I am creating a RFC in XI. In this RFC, i have to do some validation against some Z- Tables. Apart from the Z Table Validation, i need to call a BAPI available in R3 (Eg: BAPI_MATERIAL_EXISTENCECHECK).Based on the Return Values from the R3 BAPI, i need to do some manipulation of the data in the RFC defined in XI. Actually this RFC, defined in XI is going to be called by XI, which in turn make calls to the BAPI in R3. I hope i have made the scenario more clear. Please let me know if it is not clear. My task is to call a R3 BAPI inside the RFC defined in XI. When i try to put the code to call the R3 BAPI in side the RFC defined in XI, Error message says, "Function BAPI_MATERIAL_EXISTENCECHECK not Found". So to put my code to call the Function Module "BAPI_XXXX", inside the RFC defined in XI, what should it do? Please let me know if my Question is not clear.

Thanks and Regards,

Kannan.

udo_martens
Active Contributor
0 Kudos

Hi Kannan,

you cant create a RFC in XI, only in the ABAP stack of the WAS. If you have a RFC there, you can add some source like

call function ...

...

destination ...

to call the R3 BAPI but you wont have a message in XI monitoring.

Plz explain your scenario!

Regards,

Udo