Connector for SAP Business Suite - Developer's Guide, Part 1
Requirements
This documentation will help you integrate SAP into your Intrexx portal. You need at least Intrexx 7 and SAP with a Basis release higher than 4.6x (e.g., SAP R/3 4.6c) to follow the examples described here. The connector for SAP Business Suite must be configured in the portal. Systems based on SAP Gateway, such as SAP CRM, SAP BW, and similar systems. are also supported technically. However, most of the example scenarios are based on an ERP R/3 data model.
Choosing the Right Technology
SAP can be integrated into Intrexx portals using various techniques:
- External Data Group
Reading and Modifying SAP Data.
- Scripting
Using SAP integration with Groovy scripts in processes or with Velocity in applications. Licensing: View & Write or higher.
- Remote Services
SAP access to the Intrexx portal database. Reading and manipulating portal data within jobs, etc. Licensing: Developer API.
- Web Services
Technically possible starting with SAP Basis 6.40. This is subject to certain limitations in both Intrexx and SAP.
- Single Sign-On SAPGUI Integration
Integration of SAP web pages or launching the SAPGUI without having to log in again; authorization of portal users against SAP. Licensing: Developer API.
Integration with an External Data Group
When connecting to SAP databases, Intrexx uses the concept of external data groups. Reading from or writing to the SAP system's database directly would undermine the fundamental concepts of SAP systems, such as authorizations and business logic. For the SAP Business Suite connector, the standard approach using RFC (Remote Function Calls) was therefore chosen. To this end, an SAP Portal Plugin (SAPPOPI) was developed for SAP, which must be imported into the SAP systems to be integrated as a transport. The SAPPOPI plugin for SAP (version 4.6c and later) is available free of charge and can also be used to connect other external systems to SAP. For more information about the plugin, see the SAP API Developer's Guide. SAPPOPI provides a lightweight RFC API that implements the most important API methods for accessing table-like SAP objects:
-
Get_MetaInfo
-
Get_List
-
Get_Detail
-
Modify
-
Delete
An Intrexx portal redirects requests for external SAP data groups to this RFC API via SAP middleware (SAP Java Connector).
In SAP, access requests are processed by special handlers.
A generic handler is available for accessing tables and views, which allows tables and views to be integrated into SAP without programming. This makes it possible, for example, to display the SAP customer master data (ERP table KNA1) in just a few minutes without any programming. If access to tables and views is not sufficient, or if write access needs to be implemented, the object-oriented extension concept in the SAP Portal Plugin can be used. The SAP API Developer's Guide contains extensive information and examples on implementing such handlers.
Integration with Scripting
Groovy Script offers the best options for accessing SAP BAPI functions or RFC-enabled function modules without having to use integration with third-party data sources. A script generator is available to speed up the implementation of the necessary script. This helps prevent errors, especially with large SAP function modules, since the necessary Java code for populating extensive SAP structures and tables is generated automatically.
Integration with Remote Services
Remote Services allow SAP to access an Intrexx portal. This functionality allows, for example, the information entered in the portal to be retrieved by a batch job and processed in SAP. All write operations (create, update, delete) from SAP to the portal are also available only through Remote Services. This usually involves replicating SAP objects (e.g., master data) into corresponding Intrexx data groups when access to SAP using third-party data groups is not desired. In the simplest case, an event in SAP (e.g., an order is changed) is used to transfer the current status (e.g., "delivered") to the portal.
Integration with Web Services
The use of web services is often associated with conceptual limitations or additional effort. Intrexx can consume virtually any web service. It is necessary to determine where data from web services is needed and how it can be integrated into the user interfaces. Not all of the options available when using external data groups are available here. As a web service provider, all Intrexx data groups can be used. However, this can also be a limitation if the data is not available within data groups. In the SAP environment, consuming third-party web services always involves development, even though a great deal can be generated automatically. However, it is important to note that there were extensive changes between base releases 6.40 and 7.10, so you should expect some effort to be required after installing support packages or performing upgrades. As a user of SAP Web Services, you may be able to draw on the large library of SAP Web Services that are already available (e.g., SAP ERP 2005 – ECC 6.0). If no usable web services are available, the same rules apply as when consuming third-party web services.
More Information
More Information
SAP Trust Manager SSO Configuration
API Description, Part 1 - Overview
API Description, Part 2 - SAP Portal Plugin
API Description, Part 3 - Implementing Custom Processing Modules
API Description, Part 4 - Sample Code
Developer's Guide, Part 2 - Integration Scenario: SAP External Data Group
Developer's Guide, Part 3 - Integration Scenario: Scripting
Developer's Guide, Part 4 - Personalized SAP Access / Single Sign-On (SSO)


