Powered By

Free XML Skins for Blogger

Powered by Blogger

Friday, August 22, 2008

Developing Multi-Mappings for Message Splits in SAP XI

Purpose

This section describes how to develop a multi-mapping for a message split (1:n transformation). You can specify the multi-mapping program by means of an interface mapping in logical routing. In this case, the interface mapping not only determines the mapping program, but also determines which target interface the target message is to be sent to in logical routing. Hence the term mapping-based message split.

Prerequisites

Multi-mappings require the interfaces involved to be asynchronous. There are no other restrictions on the outbound interface of the interface mapping.

Messages that result from the split in a mapping-based message split are sent using one Adapter Engine. For this reason, only those adapters that run on the Adapter Engine are supported. The Java proxy runtime is also not supported. This means that the selection of possible target interfaces is restricted to the corresponding adapter types. In particular, no target messages can be sent to an integration process.

See also: Enhanced (Mapping-Based) Interface Determination

The procedure described below requires that the message schemas for the messages to be mapped to each other already exist in the Integration Repository (see also Features in Multi-Mappings).

The following restriction applies for the source and target messages that you reference from a message mapping: the source and target messages can be in a different software component version to the message mapping, but must each originate from one software component version (and, if applicable, underlying software component versions).

Example

A multi-mapping that has a message mapping in software component version CRM 3.0, all source messages in software component version APO 2.0, and all target messages in software component version CRM 2.0, complies with the precondition above.

This restriction also applies for the export function of interface mappings, which you use for developing multi-mappings externally, described below.

Process Flow

Developing Multi-Mappings as Message Mappings

...

Create a message mapping.

1. In the mapping editor, switch to the Messages tab page.

Reference a (fault) message type, an IDoc, the request, response, or fault part of an RFC or an external message (external messages originate from external definitions).

2. Specify the occurrence for each message.

3. Switch to the Design tab page and edit your message mapping as usual. The rules that apply to message mappings also apply here.

Create an interface mapping and reference the interfaces that use these message schemas. Enter your message mapping in the interface mapping.

Developing Multi-Mappings Externally

Message mappings are not the only means of implementing multi-mappings. Develop the mapping program using the same approach that is described in Multi-Mappings:

...

Create an interface mapping and reference the interfaces that reference the message schemas that are relevant for the multi-mapping. Only target interfaces of those adapter types that run on the Adapter Engine (excluding the Java proxy runtime) are supported.

1. Export the schema of the request message from the interface mapping.

2. Develop the multi-mapping by using the exported schema. The resulting target structure must be structured as is described in multi-mappings.

If the mapping is an XSLT or Java mapping (see: Imported Archive (XSLT/Java)), import the mapping program to the Integration Repository and reference it from the interface mapping.

Result

You have developed a multi-mapping program and included it in an interface mapping. You can now enter the interface mapping in an interface determination in order to configure a message split (see also: Enhanced (Mapping-Based) Interface Determination).

No comments:

Archives