cancel
Showing results for 
Search instead for 
Did you mean: 

Calling a BAPI from SAP PI 7.0

0 Kudos

Hi,

Scenario: We are getting the data from Legacy server into the SAP PI from multiple tables using JCO connection. Now PI is collecting that data in 1 Single table and wanted to send that data to SAP R/3.

Q. I would like to know,

Can we call a BAPI from within the SAP PI using RFC Adapter, and its fill multiple structures and afterwards call another BAPI to COMMIT the updates.

(ii) If yes, how can we do it, screen shot would be helpful ; or steps in SAP PI to achieve it.

(iii) which one will be more feasible, calling a BAPI from within the SAP PI or writing a ABAP Proxy to achieve the same results (taking into consideration, whereby large amount of data will be passed from Legacy Server).

Example:

Legacy Server Tables:

1. TABLE_1 - FIELD_11, FIELD_12, FIELD_13

2. TABLE_2 - FIELD_21, FIELD_22, FIELD_23, FIELD_24

3. TABLE_3 - FIELD_31, FIELD_32, FIELD_33, FIELD_34, FIELD_35

SAP PI collects the data from 3 Legacy Tables and puts them in 1 Single Container:

CONTAINER_TABLE_PI - FIELD_11, FIELD_12, FIELD_13, FIELD_21, FIELD_22, FIELD_23, FIELD_24,FIELD_31, FIELD_32, FIELD_33, FIELD_34, FIELD_35.

SAP PI calls a BAPI using RFC Adapter for posting data in SAP R/3, whereby, BAPI contain multiple tables, like below:

1. SAP_TAB_1 - FIELD_11,FIELD_12, FIELD_13, FIELD_21

2. SAP_TAB_2 - FIELD_11,FIELD_12, FIELD_13, FIELD_21, FIELD_22

3. SAP_TAB_3 - FIELD_11,FIELD_12, FIELD_13, FIELD_21, FIELD_31, FIELD_32, FIELD_33

4. SAP_TAB_4 - FIELD_11,FIELD_12, FIELD_13, FIELD_21, FIELD_22, FIELD_34, FIELD_35

Regards,

Saurabh

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi All,

Similar kind of expertise needed from you..I have a excel file(Statsical Key Figure (SKF) which will be placed in my N drive and requirement is to pick up this excel , call a bapi(BAPI_ACC_STAT_KEY_FIG_POST) and post it to SAP.

Please direct me to the links/steps.

Much thanks in advance.

former_member463616
Contributor
0 Kudos

Hi,

>>>>>(i) Can we call a BAPI from within the SAP PI using RFC.

Yes...

>>>>(ii) If yes, how can we do it, screen shot would be helpful ; or steps in SAP PI to achieve it.

In Integration Repository go in to your Software component and in that go in to "Import Objects" which will be at the

bottom of your software component .From there you can import your RFC by selecting any of the

BAPI's from the List of RFC's available.

>>>>(iii) which one will be more feasible, calling a BAPI from within the SAP PI or writing a ABAP Proxy to achieve the same results (taking into consideration, whereby large amount of data will be passed from Legacy Server).

In your case ABAP Proxy is useful to you for performance wise. Please look at these links, it will might be helpful to you.

ABAP Proxies:

/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy

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

Activate ABAP Proxies:

/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies

Regards,

Rajesh

Former Member
0 Kudos

hi,

you can do it.

you need to define the bapi in your r/3 system. then import it in the ESR in pi and you can fill it there and then submit it to your r/3 using an rfc connection.

sorry I don't have time to put in screenshots but you can come with questions once you started working

Former Member
0 Kudos

Hi,

Most of your doubts will get answered if you go through the following link buddy:

http://www.saptechnical .com/Tutorials/XI/SYNCASYNC/Page1.htm

Just remove the space between 'saptechnical' and the dot('.') and paste the url.

Hope it helps you buddy!!!

Thanks

Biswajit