cancel
Showing results for 
Search instead for 
Did you mean: 

Calling BAPIs from PI

Former Member
0 Kudos

Hi Experts

I have a business scenario here

Legacy System sends the Production Order Number and Production Order Data to PI in form of a flat file. PI should map this data and send to SAP system.

The customer want to call a custom BAPI from PI which executes the follows steps:

u2022 Calls BAPI_XXXX_GET_PROP: this function receives the Production Order Number and the Production Order Data as input from the flat file and returns the Production Order detail.

and

u2022 Calls BAPI_XXXX_CREATE which receives as input the Production Order detail from the previous BAPI and updates some data in SAP tables

BPM cant be used frm performance perspective

Can anyone share ur inputs please..

Is it possible to call two BAPIs from XI... i mean call one BAPI and use the response of first BAPI as request to second BAPI..

Valube inputs are appreciated..

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

No need to do a wrapper RFC or BPM. USE LOOK UP feature for BAPI FOR THE FIRST bapi and then based on the results send SECOND bapi. More modular and less development

sumesh_k2
Participant
0 Kudos

As mentioned in the reply,

1. you can create a ZBAPI and wrap both the Bapi's inside the Wrapper function modue and use the RFC adapter.

2. create webservcie of the wrapper ZBAPI and use SOAP adapter or

3. Use ABAP proxy and write the wrapper modules inside this proxy. This I think is the best solution as it would make use of an Outside In approach too. (Receiver XI adapter)

Former Member
0 Kudos

Hi

Thanks for your information.

I've done some scenaios in which the XI and ECC are in one landscape. But now XI server is in a different landscape and obviously in different physical location. so we connect to XI through VPN.

Now i have to do a file to ABAP Proxy scenario in which file system, XI and ECC are in different locations.

Can i use the ECC as Business Serivice. If so how do i define in the SLD.

Would appreciate if you could help me out with the basic ECC and XI settings in such scenarios(Business Service)..

former_member181962
Active Contributor
0 Kudos

Hi Keerthika,

YOu have to create a Business system for your ECC system(NOt a business service).

HOw to create a business system for ecc?

http://help.sap.com/saphelp_nw70/helpdata/en/87/7277e8fba34421a45d97a41ec27381/frameset.htm

Sample File to Proxy scenario:

/people/siva.maranani/blog/2005/04/03/abap-server-proxies

Regards,

Ravi Kanth Talagana

Former Member
0 Kudos

Hi Keerthi,

Please find the below information when you will use Business Service & Business Systems

Business Service:

It is mostly used in B2B scenario - within two different companies (internet), where you don't know the Business Systems of your partner.

Business Service, you need to maintain entries manually for inbound & outbound interface in ID.

Business Service denotes a service like WebService, HttpService etc.

While creating Business Services need not to registered in SLD.

A Business Service represents an abstract, addressable unit. Business services are used in cross-company processes, for example, if the parties involved have only published their interfaces and not their system landscape, or it is only partly known. Using a business service, you can define the technical or business subunits of the companies involved and then assign them the relevant interfaces.

Business System:

Systems which are defined in SLD called Business System.

A Business System is something that physically exists.

A Business System are Technical,Physical or logical system. Like R/3 System.

For all our A2A Scenario within the company (intranet)we generally define Business System.

Business Systems are used when you are sending data to and from an R3 system and can be of ABAP, JAVA & Third Party Systems.

In your case you need to go for a Business System only, not for the Business Service.

And for ABAP Proxy Scenario, please follow Ravi Kanth's provided blog.

Regards

Venkata Rao .G

Former Member
0 Kudos

For this need to register your ECC as Business system in SLD

Also In ECC need to set role of IE as application system in SXMB_ADM tcode

also need to provide URL of your Integration server

Rajesh

Former Member
0 Kudos

Hi

Thanks for the info.

the link which u sent talks much about the IR/ID settings. Im aware of that.

But i need help regarding the basic settings i need to make in XI and R3 for a simple file to RFC scenario

thanks

Former Member
0 Kudos

>

> Hi

> Thanks for the info.

>

> the link which u sent talks much about the IR/ID settings. Im aware of that.

> But i need help regarding the basic settings i need to make in XI and R3 for a simple file to RFC scenario

>

> thanks

For File to RFC

you dont need any extra settings to be done for this

Just import the RFC signature using IR and mapp the inputs to be passed.

Rajesh

Former Member
0 Kudos

Hi Keerthi,

Find the below link will be useful to yours.

Accessing BAPIs Using the SAP Java Resource Adapter Through PI:

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/ad09cd07-0a01-0010-93a9-933e247d...

Regards

Venkat Rao .G

Former Member
0 Kudos

Hi,

[http://help.sap.com/saphelp_nw04/helpdata/en/78/2173f551ce11d189570000e829fbbd/content.htm]

Hope the above link will help u.

samiullah_qureshi
Active Contributor
0 Kudos

Please check the following link:-

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file-rfc-file%28without+bpm%29

In Interface detemination you can use both the BAPIs as receiver interfaces.

I think this should work for your scenario.

Former Member
0 Kudos

Kreethika,

the simplest solution is to handle this using a custom Bapi - z_bapi in R3...

This would be like a wrapper bapi. this wrapper would take the same input as ur first bapi...read the output of the first bapi and then call the second bapi and the results of the second bapi/ customized messages back to Pi.

U can use other solutins like BPM etc...but they will not that elegant..

regards,

Arvind R

Former Member
0 Kudos

Agreed. Make a ZBapi, do the calls you need in there. Then take that Zbapi and create a webservice (there is a wizard for this).

Former Member
0 Kudos

Hi mike,

would really appreciate if you can you pls explain about this webservice wizard ?

thanks

Keerthi

jagesh_lakdawala
Active Participant
0 Kudos

Hi,

Go through this thread, this will help you.

Thanks

Regards

Jagesh