SAP Components

You can catalog standard SAP interfaces to integrate your BPM processes with mySAP Business Suite.

Business Application Programming Interfaces (BAPIs) are standard SAP interfaces that enable software vendors to integrate their software into the mySAP Business Suite. BAPIs are implemented using RFC (Remote Function Call) enabled function modules inside SAP systems. BAPIs are defined in the Business Object Repository (BOR) as methods of SAP business objects that perform specific business tasks.

Requirements

Oracle BPM uses the SAP Java Connector (JCo) to use BAPIs to access SAP. The SAP Java Connector (JCo) is a toolkit that allows Java applications to communicate with SAP systems. JCo is an encapsulation of the RFC Library that supports all features of RFC. Oracle BPM is certified to work with versions 2.0.7 and 2.0.12 of the SAP JCo library.

If you are using the Studio in a Windows environment:
  • librfc32.dll: Must be located under the system32 directory.
  • sapjcorfc.dll: Must be located under the ext directory of the Studio installation.
If you are using the Studio in a Unix environment:
  • librfccm.so: Add to environment variable LD_LIBRARY_PATH the full path to the directory containing the file.
  • libsapjcorfc.so: Must be located under the ext directory of the Studio installation.

You must also rename sapjco.jar to sapjco-2.0.jar and copy it to the following directory of BPM Studio: <ORABPM_HOME>/studio/eclipse/plugins/fuego.sap_6.5.0/lib/.

SAP BAPI Objects, Tables, and Structures

After cataloging SAP BAPI, the following are available:
SAP Object Description
BAPI Objects An object is created for each of the introspected BAPIs
SAP Structures Represent SAP structures which are a set of attributes.
SAP Tables Represent an SAP table where each row has a set of attributes

BAPI Objects

Each BAPI Object contains the following:
   
Imports Input arguments for the BAPI.
Exports Output arguments for the BAPI
Tables Input/Output arguments for the BAPI.
Call Method Used to invoke BAPI.

Tables

Use the currentRow attribute to access the fields in the current row and the rows attribute to get an iterator to access all the rows in a for each statement.