Login Form
Main Menu
ERPGenie Websites
ERP Software Corner
Communications Interfaces
- Details
- Category: Interfaces
- Published on Wednesday, 25 July 2007 22:57
- Written by Kevin Wilson
- Hits: 12836
Methods Of Interface
Communications Interfaces provided for integrating SAP Systems and External Applications
Synchronous Interface Methods | Description |
OLE Automation | An ABAP program can call up an OLE Automation Server (such as Excel) on the desktop. The ABAP OLE Automation Controller consists of a set of ABAP language elements that an ABAP client program can use to drive an OLE Automation server on either Windows or Apple Macintosh front-end. Special OLE functions contained in the SAPGUI are called via RFC. SAPGUI represents the actual OLE client that calls the server program. |
Communications interfaces provided for integrating External Applications and SAP Systems

Synchronous Interface Methods | Description |
| GUI | Using the GUI interfaces to R/3 you can write a client program that accesses the data stream that is communicated between the R/3 application server and its SAPGUI. By using the GUI interfaces your external client program can provide an alternative interface to the standard SAPGUI. This alternative interface can be either graphical or non-graphical (for example, it can be voice driven or Web-based). Programming using the GUI interfaces also allows your client program to monitor or record an end user interaction with SAPGUI screens. |
RFC | External programs using RFC’s can either make or receive remote function calls to or from an SAP system. Therefore, using RFC’s an external program can act as either the client or the server to an SAP system. Conversely, the SAP system can take the role of either the client or the server to the external application. SAP Automation PROVIDES products for programming of RFC’s from languages such as C, C++, Java, or COM-compliant languages, such as Visual Basic and applications such as Excel. |
BAPI | SAP Business Objects provide an object-oriented view of SAP data structures and functions. The Business API (BAPI) is an interface that allows you to call the methods of these SAP Business Objects. |
A-Synchronous Interface Methods | Description |
IDoc | Intermediate Document (IDoc) interface is an SAP standard format for exchanging data between SAP systems and between an SAP system and an external application. An IDoc document defines a SAP standard data container (template) for sending or receiving data from an SAP system. External programs can use the IDoc method of communicating data to and from an SAP system |
Batch Input | Allow you to feed data into R/3 using R/3 transactions. |
Choosing The Right Interface Method 
SAP Tools For Interface Development
Tools | Description |
RFC API | The RFC API is a C API (Application Programming Interface) for programming applications that use the RFC interface, that is, it allows external programs written in C to call RFC function modules in an SAP system. Using the RFC API you can develop client/server applications that act as both the client and the server to the SAP system. |
| SAP DCOM Connector | The SAP DCOM Connector uses services from Microsoft MTS to provide a DCOM interface for working with SAP RFC function modules and BAPI’s. It provides a C++ template library for creating COM objects from the SAP business objects. Using the DCOM Connector allows you to take advantage of the distributed computing, resource sharing and other benefits of using MTS when integrating your application with a SAP system. |
SAP Automation | SAP automation is a suite of ActiveX components, class libraries, and other tools to help you develop applications that integrate with a SAP system from outside. The various SAP Automation tools allow you to take advantage of the various interface types as mentioned above (GUI, RFC, BAPI, IDoc, Batch input). The different tools offer a variety of functionality with some overlap of functionality for the different programming languages. Several of the SAP Automation tools allow you to program using the GUI interfaces to an SAP system. Other SAP Automation tools expand the functionality of the RFC API to support programming with RFC function modules, business objects methods (BAPI’s), IDoc interface, or batch input. Some of the SAP Automation tools that are based on the RFC API are also based on the SAP DCOM Connector to support distributed programming when using business objects methods (BAPI’s) and RFC function modules. |
SAP Automation GUI Interfaces
Tool | Type | Function | Language |
GUI Library | C API | Like "screen-scraping" programs, the GUI Library takes the contents of R/3 SAPGUI screens and makes them accessible through standard data structures and function calls. Allows you to write programs that provide an alternative user interface to the standard R/3 SAPGUI. This alternative interface can be GUI or non-GUI. Also allows you to write programs that record the interaction between an end user and SAPGUI screens. | C |
GUI Component | ActiveX Server (both in process and out of process) | Exposes a subset of the GUI Library to COM-compliant programs and applications. Simpler to use but also less flexible than using the GUI Library directly. | Any COM-compliant application |
GUI Code Generator | Stand-alone executable | A code generator for the GUI Component. Can act as a macro recorder allowing you to generate Visual Basic and other code as you or an end-user work with the SAP system. Also lets you capture SAP screens as Visual Basic forms. | Produces VB, HAHTtalk Basic, or Delphi’s Object Pascal language code. |
SAP Automation RFC and BAPI Interfaces
Underlying Library
Tool | Type | Function | Language |
RFC API | C API | A set of C routines that allows you to write external applications that communicate with an SAP system through remote function calls (RFC’s). The external application can act as either a client or a server to the SAP system. | C |
SAP Automation RFC-based Class Libraries
Tool | Type | Function | Language |
RFC C++ Class Library | Class library | Provides a framework for the RFC API. Makes it easier to use RFC’s in C++ programs by providing pre-built functions for some common tasks, such as establishing a connection to R/3. | C++ |
Java RFC Class Library | Class library | Provides an object oriented Java view over the RFC API. Makes it easier to use RFC’s in Java programs by providing pre-built functions for some common tasks, such as establishing a connection to R/3, or performing data type conversion. | Java |
IDoc C++ Class Library | Class library | Provides a framework for processing inbound and outbound IDOC’s. Makes it easier to use IDoc technology in C++ programs by providing pre-built functions for some common tasks, such as creating and appending IDoc segments, accessing segments and fields by names, and working with fields. | C++ |
ActiveX Controls and Components
Tool | Type | Function | Language |
Logon Control | ActiveX Control (OCX) | Allows you to create a connection object with which you can establish a connection to R/3. | Any COM-compliant application |
Function Control | COM Server | Provides COM objects for handling RFC functions and their parameters. This allows you to create external applications that call RFC function modules in an SAP system. | Any COM-compliant application |
Table Control | COM Server | Allows you to create a Table object representing a table parameter of an RFC function. Works with the Function control to manage tables attached to Function objects. | Any COM-compliant application |
Transaction Component | COM Server | Exposes R/3 batch input capability to COM-compliant programs and applications. Allows an external program to send input field values to an R/3 screen (output field values are not returned). Makes using batch input easier by eliminating the need to populate the fields of the BDC table, which is a prerequisite to using the standard R/3 batch input method. | Any COM-compliant application |
BAPI ActiveX Control | ActiveX Control (OCX) | Allows you to develop external client/server applications (with R/3 as a server) that access business functions in the SAP system by calling BAPI’s (Business APIs) through OLE Automation. Achieves this by allowing you to create (on the client) local instances of business objects, which act as proxy objects for the business object in the SAP system. | Any COM-compliant application |
DCOM Connector-based Components and Tools
Tool | Type | Function | Language |
IDoc Connector for XML | COM Server | Provides an XML interface for working with IDoc documents. The IDoc Connector for XML component accepts your XML documents and sends them as inbound IDOC’s to a specified R/3 system. Conversely, it can receive outbound IDOC’s and it translate them into XML documents for your application to use. | Any COM/DCOM-compliant application |
COM Server | Helps programs that use the SAP DCOM Connector handle the connection parameters of the COM objects created by the SAP DCOM Connector. The DCOM Connector Logon Component provides a logon dialog with which you can get the necessary connection parameters from an end user. It also allows the end user to create and maintain destination definitions. The DCOM Connector Logon Component also allows you to easily copy connection parameters into a DCOM Connector COM object. | Any COM/DCOM-compliant application | |
Repository Services | COM Server | Provides read access to the metadata of business objects, RFC function modules, tables and structures in an R/3 system to COM-compliant programs and applications. Also allows you to save a copy of the metadata in a local database. Using a local database allows you to access the same metadata faster and without connecting to R/3. | Any COM/DCOM-compliant application |
BAPI Gateway | COM Server | Allows you to dynamically call BAPI’s and RFC’s through the DCOM Connector, that is, it allows you to determine at run time which BAPI’s or RFC’s you call. Eliminates the need to use the SAP DCOM Connector wizard for creating a DCOM Connector proxy component. | Any COM/DCOM-compliant application |
Repository Browser | COM Server | A control that can be hosted by any ActiveX container. It consists of a window with two panes for browsing SAP BAPI and RFC metadata information. Allows online calling of RFC functions from within the control. Also exposes several methods to enable the container application to control and automate metadata browsing. Allow you to export metadata information to an Excel spreadsheet. | Any COM/DCOM-compliant application |
SAP Assistant | Stand-alone executable | A tool for browsing (viewing and searching) the metadata of SAP RFC functions and SAP business objects and their methods (BAPI’s). Uses the SAP Browser Control (see above). Allow you to call RFC functions directly online. Also allow you to generate either Java or C++ classes for working with SAP business objects and their BAPI’s. | You can use the code generated with the BAPI Wizard tool for Java or C++ programming. The SAP Assistant window itself is not programmable |


