This documentation supports you in integrating SAP into your Intrexx portal.
You require at least Intrexx 7 and SAP with a Basis release better than 4.6x
(z.B. SAP R/3 4.6c) to implement 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 the like,
are also supported. However, most example scenarios are based on an
ERP-R/3 data model.
2. Selecting the right technology
SAP can be integrated into Intrexx portals with various methods:
External data group
Read and modify SAP data.
Scripting
Use the SAP in processes using Groovy script or in applications
using Velocity. Licensing: at least View & Write.
Remote services
SAP can access the Intrexx portal database. Read
and manipulate portal data within jobs and similar.
Licensing: Devloper API.
Web services
Possible as of SAP Basis 6.40. Connected with reservations, both
in Intrexx and in SAP.
Single Sign On SAPGUI Integration
Integration of SAP internet pages or call of the SAPGUI
without logging in again; authorization of the portal
user against SAP.
Licensing: Developer API.
3. Integration with external data groups
When integrating SAP databases, Intrexx uses the
external data group
concept. Direct read and write access to the SAP system's database would undermine
the foundational concepts of SAP systems such as permissions and business logics.
For this reason, the usual method via RFC (remote functional calls) was selected
for the Connector for SAP Business Suite. An SAP Portal Plugin (SAPPOPI)
was developed for SAP for this, this is installed as a transport on the
SAP systems that are to be connected. The SAPPOPI Plugin for SAP from SAP R/3 4.6c
is freely available and can also be used for integrating other external systems
into SAP. Additional information about the plugin can be found in the
SAP API Developer's manual.
The SAPPOPI provides a lean RFC API which implements the most important
API methods for accessing SAP objects in table-like formats:
Get_MetaInfo
Get_List
Get_Detail
Modify
Delete
An Intrexx portal directs accesses to SAP external data groups to this RFC API
via the SAP middleware (SAP Java Connector).
The accesses are processed in SAP via special handlers.
A generic handler is available for accessing tables and views. This handler
enables the integration of tables or views in SAP without programming.
With this, displaying, for example, the SAP customer base (ERP table KNA1)
can be done in a few moments without any programming. If the access to tables
and views is not sufficient or you would like to switch to write access, the
object-oriented expansion concept in the SAP Portal Plugin can be used.
The
SAP API Developer's manual contains comprehensive information and examples
regarding the implementation of such handlers.
4. Integration with scripting
Groovy script provides the best options for accessing SAP BAPI functions or
RFC-capable functional modules without having to use the integration
with external data froups. A Script Generator
is available to speed up the implementation of the necessary script.
Especially with complex SAP functional modules, errors are avoided because
the required Java coding for populating complex SAP structures and tables
is generated automatically.
5. Integration with remote services
Remote services enable the SAP system to access the Intrexx portal. With
this functionality, information recorded in the portal in the batch job can
be read and processed in SAP, for example. All write accesses (create, modify,
delete) from SAP to the portal are also only available via the remote
services. This generally refers to the replication of SAP objects (e.g.
master data) in the corresponding Intrexx data groups if accessing
SAP using external data groups is not wanted. In the simplest case, an
event in SAP (e.g. order is modified) is used to transfer the current status
(e.g. "delivered") to the portal.
6. Integration with web services
Using web services is often connected to conceptional limitations or effort.
Intrexx can consume almost every web service. You should check where data
from web services is required and how this can be integration into
the user interface. Not all of the options available when using
external data groups are available here. Every Intrexx data group can be used
as the provider of web services. However, this can also be a limitation if the
data is not available within data groups. In the SAP environment, consuming external
web services always requires development even though a lot can be generated here.
It should however be noted that there were a lot of changes between
Basis release 6.40 and 7.10 meaning that effort is to be expected after
installing support packages or upgrades. As the consumer of SAP web services,
you can potentially draw on the large amount of readily available
SAP web services (e.g. SAP ERP 2005 – ECC 6.0). If no usable web services
are available, the same applies as when you're consuming foreign
web services.