SAP PI - AIF Development Guideline
SAP PI - AIF Development Guideline
Design documentation
Title
SAP PI / AIF Development Guideline Design
Work package
FC-Application – IT3 – Development & Interfaces
Version
V3.00
Document status
Released
Status
January 19th, 2011
Common Basic
FC-System
Common Basic FC-System
Integration Architecture Design
Document History
Date Version Changed Changed by Comment
chapter
26.03.2008 V0.01 Falk Winthuis Initial Creation
02.09.2008 V0.02 Jens Richter Include open points: Chapter 1
11.09.2008 V0.03 Dr. Robert Sowa Include Chapters about Mapping
and Integration Processes an
other design topics, Enhance
Chapter about Interface
Configuration
16.09.2008 V0.04 Jens Richter Adapt cbFC specific Guidance to
chapter 3
22.09.2008 V0.05 Sebastian Moch AIF Update & Review
23.09.2008 V0.06 Dr. Robert Sowa Include Chapter about Modelling
Capabilities in PI7.1
25.09.2008 V0.07 Dr. Robert Sowa Include Chapter about example
Model for CBFC Controlling
Scenario, Include chapter about
Versioning Capabilities in PI7.1
26.09.2008 V1.00 Jens Richter Released Version
29.09.2008 V1.00 Boris Basica Release
14.10.2008 V1.01 Jens Richter Outbound Concept
18.04.2008 V1.02 3.1, 3.26, 3.3 Jens Richter Update Modeling Guidelines;
Update Outbound Concept;
Add Chapter 3.3:cbFC related
Interface Configuration Guidelines
23.04.2009 V2.00 Jens Richter Released Version
23.04.2009 V2.00 Boris Basica Release
18.01.2011 V2.01 1.2.2.6; Markus Update AIF implementation steps
1.2.2.8; Schmidthuysen
19.01.2011 V3.00 Boris Basica Release
Table of contents
1 Application Interface Framework.................................................................................................... 5
1.1 Overview............................................................................................................................... 5
1.2 cbFC AIF Interface Design Guidelines..................................................................................6
1.2.1 General Rules................................................................................................................... 6
1.2.2 AIF implementation steps.................................................................................................. 6
1.2.3 Reusable AIF Objects....................................................................................................... 9
1.2.4 Working in parallel in AIF.................................................................................................. 9
1.2.5 Implementation of local and global parts within AIF..........................................................9
2 General PI Interface Design Guidelines.......................................................................................11
2.1 General PI design rules....................................................................................................... 11
2.2 Process Component Architecture Models in Enterprise Service Repository (ESR).............11
2.2.1 Available Model Types.................................................................................................... 11
2.3 Process Integration Scenarios in Enterprise Service Repository (ESR)..............................14
2.3.1 PI Integration Scenarios including actions......................................................................14
2.4 Typical Pattern to model Services in Enterprise Service Repository...................................14
2.5 PI Interface Objects............................................................................................................. 15
2.5.1 Data Types...................................................................................................................... 15
2.5.2 Data Type enhancements............................................................................................... 15
2.5.3 External Definitions......................................................................................................... 16
2.5.4 Context Objects............................................................................................................... 16
2.5.5 Message Type and Fault Message Type........................................................................16
2.5.6 Service Interface............................................................................................................. 16
2.6 PI Mapping Guidelines........................................................................................................ 17
2.6.1 Graphical mapping / General rules..................................................................................17
2.6.2 Java mapping.................................................................................................................. 18
2.6.3 XSLT mapping................................................................................................................ 18
2.6.4 ABAP mapping / ABAP XSLT mapping...........................................................................18
2.6.5 Mapping Templates......................................................................................................... 19
2.6.6 Mapping at Runtime........................................................................................................ 19
2.6.7 Imported Archive Object.................................................................................................. 19
2.6.8 Comparison of mapping type.......................................................................................... 19
2.6.9 Specific Mapping Scenarios............................................................................................ 21
2.6.10 Interface Mappings..................................................................................................... 23
2.6.11 Imported Archives....................................................................................................... 23
2.7 PI Integration Process Guidelines.......................................................................................23
2.7.1 Process Patterns............................................................................................................. 24
2.7.2 Using Correlation............................................................................................................ 24
2.7.3 Exception handling and Alerting......................................................................................24
2.8 PI Versioning Capabilities.................................................................................................... 24
2.8.1 Example Usage of PI Versioning.....................................................................................25
2.9 PI Interface Configuration Guidelines..................................................................................25
2.9.1 Configuration Scenario.................................................................................................... 27
2.9.2 Receiver Determination................................................................................................... 27
2.9.3 Interface Determination................................................................................................... 28
2.9.4 Routing Conditions.......................................................................................................... 28
2.9.5 Collaboration Agreements............................................................................................... 28
2.10 PI Technical Connection Guidelines....................................................................................28
2.10.1 ERP Connection......................................................................................................... 28
2.10.2 Configuration of Communication Channels.................................................................28
2.11 Code Documentation........................................................................................................... 31
2.11.1 Object Documentation................................................................................................ 31
2.11.2 Program Documentation............................................................................................. 31
2.11.3 Tracking of Changes................................................................................................... 32
3 cbFC related PI Interface Guidelines........................................................................................... 33
3.1 cbFC related Modeling in Enterprise Service Repository (ESR)..........................................33
3.1.1 Process Integration Scenario Example for Controlling....................................................34
The following figure provides a quick overview on activities which have to be executed during interface
implementation using SAP PI and the AIF. Green balloons indicate actions to be done in SAP PI,
whereas orange balloons indicate actions to be performed in the cbFC SAP ERP 6.0 (cbFC) system
and AIF.
Figure 1: Overview on activities for configuring an interface using SAP PI / AIF (inbound)
The AIF can be used for inbound (from SAP PI to cbFC) or outbound (from cbFC to SAP PI)
interfaces. The process of developing an inbound or outbound interface is very similar and will be
described later on.
• Before implementing any interface consider the naming conventions to be met within the
scope of the AIF as described in the current version of DMS Doc # 1188 (PI Naming
Conventions)
• By dividing the implementation in structured units of functionality a higher level of reusability
can be reached. This reduces implementation effort as existing implementation can be reused
multiple times. Most common reusable objects are value mappings, checks and actions.
After completion of the SAP PI configuration the following main steps can be performed in the AIF.
The steps should be performed in the suggested sequence.
The table type SALESORDERS satisfies the requirement to support multiple business documents, in
this case multiple sales orders. The other structures and table types are derived from the BAPI that is
used to post the sales orders in the cbFC system (BAPI_SALESORDER_CREATEFROMDAT2).
After the definition of the AIF namespace and AIF interface the required AIF action(s) can be defined.
An action can consist of multiple functions. A function is linked to one BAPI / function module.
Functions should be grouped into an action if they belong closely together from a business or technical
perspective. If an interface uses multiple actions they are based on the same SAP target structure,
since only one SAP target structure per interface can be assigned. Depending on the business
requirements the correct commit mode and commit level for each action has to be set.
In order to be able to map the fields from the proxy structure to the SAP target structure, the mapping
of the structures needs to be defined (hierarchical mapping). This is done by selecting a source
structure and assigning it to a destination structure. This step also ensures that the cardinalities on
each hierarchy level are reflected correctly. A structure mapping is required for each table type in the
proxy structure. Table types can only be mapped against table types. See example below:
Structure Mapping
Source Target Indirect Mapping
SALES_ORDER SALESORDERS
ITEMS ORDER_ITEMS_IN X
ITEMS ORDER_SCHEDULES_IN X
ITEMS BAPE_VBAP X
PARTNERS ORDER_PARTNERS X
CONDITIONS ORDER_CONDITIONS_IN X
SERIAL_NUMBER ORDER_TEXT X
TEXTS ORDER_TEXT X
AIF field mappings define how individual fields are mapped on the different hierarchy levels (e.g.
header or item level). Field mappings can be done by assigning fix values, value mappings or fields
from the proxy structure. Furthermore it is possible to use fields from different hierarchy levels. The
necessary syntax will be added via the F4 Help.
Note: Checks are not performed on field level, but on structure level. For checks on field level
conditional mapping should be used.
AIF fix values have a unique name per namespace, a description and the value itself.
AIF conditional mappings allow configuring an alternative to the standard AIF field mapping.
Therefore a check needs to be defined. The check can be an assigned check (see AIF checks) or a
simple field check (e.g. empty, numeric, etc.). In case the check is successful, the alternative field
mapping will be executed. There are three kind of alternative field mappings
Empty value (target field will not be mapped)
Ignore value mapping use alternative field mapping
Use alternative value mapping and alternative field mapping
!!! In case the AIF mapping will be changed upon the first execution of the interface, the report
/AIF/DELETE_STRUCTURE_CACHE needs to be executed in order to delete the AIF structure cache
which contains all the customized AIF mappings. The cache will be built up again when the interface is
executed the next time. !!!
All interfaces specified by the specific application teams have been clustered for reusability and
consolidation. Each interface cluster refers to a message interface and results in an ABAP Proxy. The
interfaces which are part of a cluster are mapped into AIF interfaces (cf. previous section). The
message contains a generic header (MessageProcessingInformation) which contains technical fields
for the AIF Interface Determination.
The details on global and local parts within AIF will be delivered at a later point in time.
In the process component model, the process component is modeled from the provider view.
The following process component types could be used: process component (A2A), process
component at business partner(B2B), third-party process component (A2A). Placeholders should show
interaction with important process components that are essential for the end-to-end scenario and
which have interactions with a lot of Servers in the model.
There are four types of interactions available between the process components that show how two
process components exchange data between each other or the technology on which this data
exchange is based:
Enterprise Service Interaction (implemented outbound from service interfaces in the ESR)
Web Service Interaction (represents synchronous point-to-point communication)
Direct Interaction (this interaction must be implemented in a deployment unit; it can be for
example a local RFC call)
Other Interaction (other interactions between deployment units, different from Enterprise
Service or Web Service Interactions)
Step 3: The required business objects should be added to the model. The BO data structure is defined
using data types.
Step 4: All the operations and service interfaces should be identified and modelled that will provide the
process components with access to the data.
1. Definition of the service interfaces (inbound and outbound). A service interface can consist
of one or more operations and one or more message types. Interfaces must also be able to
declare policy definitions in machine readable format for granting access to service contents,
or for requiring protection guarantees to service elements, such as encryption or signatures.
2. Definition of the service operations. The operation pattern and the operation mode
(synchronous or asynchronous) should be defined.
3. The message types required by each operation should be created and assigned to that
service operation.
Step 5: The operations and service interfaces should be identified and modelled that will provide the
access to the data of other application. A process component interaction model should be used. The
same steps as described in Step 4 should be performed.
Step 6: The integration scenario model should be used to show interactions with other applications.
Step 7: The process component interaction model (SAP ProComp interaction model) should be used
specifically to model the messages exchanged between two process components.
Step 8: All the changes should be activated and the service interfaces should be released.
Once these steps have been completed, the service interface definitions that are needed to build and
implement the services should be already created. The next step is to generate development objects
for the definitions using proxy generation.
Furthermore, if an application is used that exchange messages by using XI, data type enhancements
should be used for the related Integration Repository data types. These enhancements are used for
sending additional data with a message and can be accessed by using BAdIs, for example.
Please note that with SAP PI 7.1 and proxy technology only one operation per service interface is
allowed. Furthermore the operation has to have the same name as the service interface. For an
example see the screenshot below.
(transaction SXMB_MONI). The execution of the mapping is not interrupted when the entries are written
to the trace.
Concerning user-defined functions:
User defined functions are intended for transformation purposes only. Transactional processes
(e.g. create, delete, updates …) should not be realized through mappings.
Their naming and development should follow the general recommendations concerning Java
developments, which are defined at Daimler.
For large messages, during message mapping, user-functions using "context"s or "queue"s as this
can result in large memory utilization
If more complex Java programmes should be required for realizing a user defined function it is
advisable to develop it using the SAP NetWeaver Developer Studio and import them as archives
into the Integration Repository of the same or underlying SWCV. After the Java packages has
been added to the import statement of the user defined function the Java programme and
methods can be called out of the message mapping rather than implementing everything into the
user defined function.
● These development objects are created in the Object Navigator (transaction SE80) and
transported using ABAP transports. They must be available on the Integration Server at
runtime. XI ES Repository does not support these transports.
● ABAP mappings and XSLT mappings (ABAP Engine) can only exist in one active version on the
Integration Server. In contrast, the Java, XSLT, and message mappings that are executed on
the J2EE Engine can be used in multiple versions in parallel.
At present there is no mechanism for shipping mapping programs of the ABAP Engine with SAP
applications and importing them on the Integration Server. Therefore, only customers that can create
such mapping programs directly on the SAP Web AS of the Integration Server or can transport them
there can use ABAP Engine mappings. Unlike XSLT and Java mappings, which run on the J2EE
Engine, mapping programs of the ABAP Engine cannot be imported to the ES Repository. Therefore,
there are no mappings shipped by SAP that run on the ABAP Engine.
Due to performance reasons, mappings should be done always before entering the Integration
Process or after the integration Process. This rule helps to take away complex transformations in
Integration Processes and to shrink down the number of context switches.
Archives should be created on an interface mapping basis (at least one archive per interface mapping)
in order to ease the transport between different environments (e.g. from development to QA
landscape).
For performance reasons, XSLT and Java files should be stored in separate archives.
If Java is used, the .class and .java files should be uploaded into the Integration Repository even
though files of type .java will be ignored at runtime. But in the event of an exception, java files are quite
useful for analyzing and fixing errors. Keep in mind that java files cannot be recompiled within the
Integration Repository (corresponding .class files will not be updated). There is need to modify and
compile the Java source code in a Java development environment and then upload the updated
archive again into the Integration Repository.
The following table gives an overview of the possible mapping types and considerations regarding
their handling and their performance.
There are no published metrics or benchmarks from SAP on the mapping performance of the XI
Mapping Runtime versus other implementations; few benchmarks have been done. Hence,
performance tests in the project’s environment are necessary in order to provide throughput numbers.
In general, it can be said that performance depends on the complexity of the mapping scenario.
ABAP Objects are outside of Integration No switching required between ABAP stack
XSLT Repository, therefore versioning and (Integration Engine) and Java stack
transportation has to be handled (Mapping Runtime). This can enhance
differently than the other objects performance
Quick XSLT Transformer because it is
implemented in a system programming
language.
Notes:
(1) In Altova’s XMLSPY, the following command should be entered under Options -> XSL ->
External XSL transformation program to use XI’s XSLT processor which is part of SAP XML
Toolkit for Java:
java -cp <path>\sapxmltoolkit.jar com.inqmy.lib.xsl.Process -xsl=%3 -xml=%1 -out=%2
correlation is required (stateless processing). The response message is merged by using a multi-
mapping. The Access to back-end system via an communication channel.
o Value mappings:
If an object has got different representations, depending on the context in which it is used, a value
mapping as a special kind of data look up needs to be carried out. Value mappings can be realized
as follows:
Manual maintenance of value mappings within SAP XI:
For converting only few values value mapping groups can be maintained directly within
the integration directory. By doing so the cross-reference information is held within XI and
will be evaluated at runtime.
Value mapping replication for mass data:
If the value mappings are stored in external tables, these can be replicated in the runtime
cache (on the Integration Server). This is done through special message interfaces (value-
mapping replication interfaces) that allows to implement both synchronous and
asynchronous replication scenarios.
Other variants like using SAP MDM, harmonizing master data etc. are not discussed any further within
this context.
Depending on the requirements of the integration scenario the suitable variant for carrying out data
look ups needs to be selected:
Mapping Lookups:
o If real-time lookups are required and the corresponding application can be accessed
via RFC, SOAP or JDBC the mapping look ups using the lookup API should be used.
Into a logical routing (receiver or interface determination): For this purpose an enhanced
receiver/interface determination has to be selected within the Integration Directory which allows to
assign an interface mapping. This option just supports 1:n transformations in terms of a message
split.
Multi mappings within logical routings should be chosen for the following use cases:
If a 1:n multi mapping should be realized.
The related message interfaces are asynchronous.
As receiver communication channel an adapter of the J2EE adapter engine or the Java proxy
runtime are used (e.g. no HTTP, IDoc, no integration process as receiver of messages).
Attachments of the original message are not required as these are lost when splitting a message.
The outbound messages are processed through one J2EE adapter engine.
Multi mappings within an integration process should be chosen for the following use cases:
If a multi mapping within a logical routing cannot be used due to its limitations as listed above and
the integration scenario is suitable for using an integration process.
If an integration process is used anyway.
If both multi mappings cannot be used it should be sorted out if the sending application would be
capable of providing the messages in the correct format as required by the receiving application.
Another work around could be to use a file adapter in-between (merging inbound messages per
append mode, splitting one inbound messages by using the configuration parameter “record sets per
message” of the file content conversion).
References between Mapping Programmes
They are needed to reuse existing developments made for a specific mapping programme within other
ones. To be able to do so the mapping programs need to be located in the same, or an underlying
software component version:
The Java classes in an archive can be used in the user-defined functions of a message mapping.
Java classes can use each other.
XSLT programs in different archives can include or import each other. It is also possible to call
Java methods from an XSLT mapping (see: XSLT Mapping with Java Enhancement).
An integration process should be developed if this has been proposed within the High Level
Integration Solution Design document of the corresponding integration scenario. If this shouldn’t be the
case but it should turn out that the use of an integration process could be beneficial the integration
team is to be contacted in order to agree on how to proceed.
Process pattern could be reused own processes. To perform this task the following step must be done,
choose Insert -> Integration Process After form the context menu for a step or from the menu bar of
the Process Editor.
Each time an object is created or modified its version number is increased as soon as the object is
activated. The history of versions is stored and kept by the Integration Builder and can be accessed at
any time. If an old object version is edited, this version becomes the current object version (all
changes to previous versions of that Software Component Version (SWCV) are then lost).
Once a version of an PI object is released, i.e. for production, this object can be transferred to the next
Software Component Version (Release Transfer). This new version of the Software Component would
reflect a new phase of development.
If a bug occurs, the bug fixing needs to be done in the corresponding Software Component Version
and will imply a new version of the object. Once deployed this new version then needs to be
transferred to the next releases if a new Software Component Version has already been created. It
can happen that there is a conflict when merging two different objects (i.e. merging 1.3 and 2.1 in the
following figure). In this case the target object needs to be updated manually.
Release Bugfixing
Release transfer
Release Bugfixing
Release transfer
Release Bugfixing
Releases
(SWCV)
A release transfer will take place from Version 1 to Version 2 once developments for XYZ Version 2
will start.
The message path through PI should be configured within the “Integration Directory” of the PI Server.
Each message has to pass from the source system to the target system a queue with different stages.
And each step has to be configured, and will be used during runtime.
The elements for the Integration Directory will be shown within the following picture:
The following table defines the required configuration objects. The current PI naming conventions should
be used to create any object!
All development and configuration objects are to be documented by using the built-in facilities of the
Integration Builder.
This option should be selected if an inbound message is broadcasted to many receivers and it
could happen that no receiver can be found. There is no business impact expected if no receiver
would have been found. In this use case this option should be selected which forces the messages
just to terminate without causing any errors.
o Continue Message Processing with the a specific Receiver:
This option is to be used if a default processing can be defined if no receiver can be found for a
message. For example the messages could be sent to a support team by using the mail adapter.
Before drilling down into configuration settings per adapter type some general recommendations for
preparing and configuring adapters / CCs are given:
Before creating a new communication channel it should be checked whether an existing one
could be reused. For example in most cases one receiver CC of type IDoc should be sufficient
for one receiving business system.
For using specific adapter types it is not sufficient just to configure the communication
channels as some prerequisites need to be in place (e.g. RFC destinations, deployment of
libraries). For this reason it should be checked which kind of preparations need to be
performed within the Technology Consultant’s Guide for XI and request their implementation
at the team responsible (e.g. SAP Basis Team, owner of the system to be connected with SAP
XI).
It should be checked which security measurements have been requested for the integration
scenario for which the CCs are needed. Additionally it should be sorted out which security
configuration within SAP XI would fulfill these requirements and request their preparation as
soon as possible (e.g. at SAP Basis Team).
It should be checked if the system to be connected to SAP XI is reachable through the
network. It should be kept in mind that ping tests from a local PC cannot be considered as the
network connectivity between SAP XI and the respective system in both directions would need
to be checked. For this purpose RFC destinations could be used within SAP XI (transaction
SM59): If a system is to be connected with an adapter using http as transport protocol a RFC
destination of type “HTTP Connection to Ext. Server” could be used for testing purposes.
The status of the adapter type and the configured CC should be checked within the Runtime
Workbench of SAP XI. The component monitoring provides some functions for carrying out
ping and self tests. Within the communication channel monitoring the proper functioning or
errors for specific CCs is displayed.
CCs should be configured “active” only when needed (e.g. for developments, tests) otherwise
the XI system might be flooded by lots of unwanted messages. This applies especially for
sending File and JDBC adapters as these are using poll mechanisms for generating
messages.
Adapters which are running within the adapter framework of the J2EE Engine (e.g. File, JMS,
JDBC, RFC, Mail, RFC, SOAP) support the use of adapter modules. Adapter modules can be
considered as kinds of user exits for calling J2EE programs. By doing so the behavior of the
adapters can be enhanced as needed: One or a sequence of adapter modules can be called
when processing a message. There are some adapter modules provided by SAP. Additionally
partners and customers can develop their own adapter modules or even their own adapters
with the adapter development framework.
If desired the trace of single adapters can be increased for analyzing purposes within the
development and testing phase.
Sender adapters often support adapter specific message attributes. Their use is to be
activated and configured within the communication channel configuration. These values can
for example be read/set within mapping programs or used for message routing purposes
(check the context objects listed within expression editor). If content based routing should be
needed within a particular integration scenario check whether an adapter specific attribute
could be used for this purpose. As these are stored in the XI message header these can be
accessed faster than elements within the message body.
If the business system is supporting load balancing some settings would need to be applied in a
different way.
The system owner should be consulted in order to determine the appropriate initial and maximum
number of connections. These should be configured properly for productive environments as
multiple connections allow multiple processing threads at a client system’s gateway. As a result
the performance should increase.
RFC adapter specific attributes of the sender CC: RFC destination.
Some specific configuration can be applied by using the advanced mode on the configuration tab.
The supported parameters and settings are published in the SAP Online Help.
2.10.2.2 IDOC-Adapter
The IDoc adapter enables to process IDocs with SAP XI. IDocs from SAP systems Release 3.1x or
higher are supported. The native IDoc format is converted into IDoc-XML and vice versa. In contrast to
most of the other adapters the IDoc adapter is not running on the J2EE adapter engine but within the
ABAP stack of SAP XI. For this reason this adapter doesn’t support adapter modules. Non SAP
systems can also use the IDoc adapter to connect to an Integration Server. In contrast to other
adapters a communication channels just for sending IDocs from XI to a business system (receiver
IDoc CC) needs to be configured. For receiving IDocs from business systems just some RFC
connections between both systems need to be created.
The preparations should be checked and applied for connecting a business system using the IDoc
adapter. For example RFC destination (TA SM59), partner profiles (TA WE20) and ports (TA
WE21) need to be configured within the business system. After an RFC destination has been
created its functioning should be verified by using the test functionalities provided.
Within SAP PI some RFC destinations (TA SM59) and a port (IDX1) needs to be created. IDoc
adapter specific attributes the most fields of the IDoc’s control record could be used (e.g. sender /
receiver partner, message type and version, sender / receiver port). If a content-based routing
should be required these attributes should be favored over fields of the message body if possible.
IDocs which should not be converted into IDoc-XML and processed within the Integration Server
(IDoc tunneling) are to be listed within the exception table IDXIDOCINB through the report
IDX_SELECT_IDOCTYP_WITHOUT_IS.
The IDocs related to an XI message within the sender or receiver system can be sorted out
through the IDoc tracking functionalities within the IDoc monitoring.
The metadata of every IDoc message type to be processed must be loaded(TA IDX2). If the IDoc
structure should have been changed within the business system the IDoc structure would need to
be reloaded again. If it should not be clear if the IDoc metadata are still up to date this can be
tested by running a check in order to identify any inconsistencies.
IDocs are using specific acknowledgements (ALE audit IDocs) which have to be requested from
the sender. Some additional configurations (e.g. scheduling of reports within the receiver system)
need to be applied. This specific acknowledgement can be converted into an XI acknowledgement
if required.
2.10.2.3 XI Adapter
The XI adapter is used to exchange messages with an Integration Engine: SAP business systems as
of Web AS 6.20 are able to use proxies (ABAP or Java proxies) for exchanging XI messages with an
XI system. Additionally messages of – of course – other SAP XI systems and the Partner Connectivity
Kit (PCK) are able to communicate with an XI system through this adapter.
Even though the configuration of an XI CC is quite simple the preparation within the business
system can be considered as difficult for people who are not familiar with SAP XI. As the
configuration of an Integration Engine for a business system doesn’t differ that much from the
configuration of the Integration Server the Integration Team should support the system owner of
the business system in this regard.
If security settings are going to be used (message signing, message encryption, HTTPs) the
related preparations should be requested in advance at the SAP Basis Team.
Receiver XI CC:
For the parameter “Addressing Type” the option “HTTP Destination” should be chosen. When
selecting this type the connectivity details (e.g. user and password) are not maintained within the
CC configuration but within a RFC destination (TA SM59). Please note that different kinds of RFC
destinations having different values need to be created for non-ABAP and ABAP based receiving
systems.
Anonymous logon is not to be used.
The option “Transfer Hop List” should be activated for A2A communications. By doing so
acknowledgements can be passed backwards as the related XI message was sent through.
ABAP mappings
User defined functions for message mappings
Development of adapter modules in Java
If Java or ABAP proxies are used the related developments are not done within SAP XI but within the
corresponding application systems.
The code of the above listed developments is always to be documented. In case of XSLT and Java
mappings comments are used for documenting the source code. This should be done in a very
detailed manner. For ABAP developments the documentation rules for ABAP programs are to be
followed.
This example shows the modeling capabilities in ESR. This capabilities lead to models, which could be
used as blueprint for the scenario configuration wizard in the Integration Directory. This enables a
consistent and guided creation and change of directory objects.
The respective design objects are assigned wherever possible to the respective model objects to
enable a smooth top down navigation.
5. Global Systems
Global Systems like GLOBUS are independent from the roll-out location. They are part of the
global development, and require a separate development unit for interfaces and mappings.
The 6 different development units have to follow different guidelines, which are described in the following
chapters.
The ccBPM should be avoided. A justification with an approval should be provided to use the ccBPM in
minor exceptional cases.
The following table defines the required design objects for this development unit. The current PI naming
conventions should be used to create any object!
[The Software Component Version is imported from the SLD to the repository, to
provide a structure for the development (interfaces, datatypes, …).]
Namespace Namespaces are created in the Integration Repository and shall
have a 1:n relationship to the Software Component Version. In
other words, a Namespace can always be attached to only 1
Software Component Version. Therefore the Namespace
should be unique. This behaviour is guaranteed by using the
Software Component Name as part of the Namespace.
E.g.: http://corpintra.net/pi/CBFC_GLOBUS_IBM/ Procurement or
http://corpintra.net/pi/ XYZ/OrderManagement
The cbFC global software component should include the structure and definition of all required global
template interfaces, as well as a copy of the GDTs.
Due to the different structure between the local interface and the global template interface, a structure
mapping is required to map the message form one format to the other. The following table defines the
required design objects for this development unit. The current PI naming conventions should be used to
create any object!
If there are multiple receiver for one message (as usually used for master data), or the receiver
determination is not part of the cbFC template, or an SAP standard IDoc is used for the outbound
message, then the value mapping should be performed within the PI.
There is a separate document, which describes the usage and development of the Value Mapping
replication into the SAP PI server (DMS xxxx).
ID Mapping is the mapping between cbFC and the connected systems for the IDs of Master Data. E.g.
the IDs for Supplier, Customer or Material. There is an optional inbound interface available to import
those ID values from an external system (e.g. from an MDM system). ID Mapping are replicated to the
PI server, and could be used there for the outbound process. The usage has the same rules as for the
“Value Mapping PI”.
There is a separate document, which describes the usage and development of the ID Mapping
replication into the SAP PI server (DMS xxxx).
For test purposes messages from the test legacy could be used. For some exceptional cases
production data should be used:
MQS: There will be a separate MQS available to communicate with PI. PI should not communicate
directly with the MQS of the local system, only via this additional MQS.
RFTS(x): RFTSx functionalities are available on the PI server to exchange files via RFTS.
4 Miscellaneous
4.1 Glossary
Term Description
ABAP SAPs Programming Language
ABAP Proxy A generate ABAP Object Class based on a
message interface which is defined in the
integration repository of SAP PI
AIF (Tool) Application Interface Framework (by SAP CD)
cbFC Common basic Finance Transformation
BO Short term for Business Objects
GDTs Global Data Types
SAP CD SAP Custom Development
SAP ERP SAP Enterprise Resource Planning
SAP PI SAP Process Integration
SLD System Landscape Directory