cancel
Showing results for 
Search instead for 
Did you mean: 

Ximapping

Former Member
0 Kudos

Hi experts,

Need soome help.

Could anyone porvide me some content on studying mapping in brief not the links.

thanx

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

In XI there are 4 types of mappings are there

Graphical Mapping

XSLT Mapping

Java Mapping

ABAP Mapping

Here in Graphical mapping just we drag the lines from nodes, its very easy and maximum people use this.

In XSLT mapping by using some tools we can draw the mapping. first import both sender and receiver msg types and perform mapping(this is also like graphical i.e drag lines b/w nodes)

In Java mapping by using java EJB code we can perform the mapping, this code done by java EJB experts.

In ABAP mapping by using ABAP code we can perform the mapping.

Performance wise is :

ABAP, JAVA, XSLT and Graphical mapping.

Former Member
0 Kudos

Hi aman ullah ,

These r excellent websites which contain PPT & PDF documents on mapping:

Excellent PDF Document on Mapping

http://help.sap.com/bp_bpmv130/Documentation/Operation/MappingXI30.pdf

Mapping Development with the ABAP Workbench

http://help.sap.com/saphelp_nw04/helpdata/en/10/5abb2d9df242f6a62e22e027a6c382/content.htm

ABAP Mappings

http://help.sap.com/saphelp_nw04/helpdata/en/ba/e18b1a0fc14f1faf884ae50cece51b/content.htm

how to create a flat file out of an IDoc-XML by means of an ABAP mapping program and the J2EE File Adapter.

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1...

How to Use ABAP Mapping in XI 3.0

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4...

cheers!

gyanaraj

****Pls reward points if u find this helpful

aashish_sinha
Active Contributor
0 Kudos

Hi,

In SAP XI, there is 3 types of mappings. Namely

- XSLT Mapping

- Java Mapping

- ABAP Mapping

Here is the details of each mapping.

XSLT Mappings (ABAP Engine)

Interface descriptions are in the form of XML documents. XSL Transformation (XSLT) is a member of the XML family of languages. It describes how an XML structure is transformed into another XML structure.

Customers can develop an XSLT mapping by using the Transformation Editor of the ABAP Workbench. Such XSLT mappings are executed at runtime on the ABAP Engine of the Integration Server.

To simplify matters, this section refers to XSLT mappings of the ABAP Engine as transformation programs to differentiate them from XSLT mappings from imported archives that are executed on the J2EE Engine.

Features

XPath and <xsl:include>

You can define mappings using XSLT together with XPath. XPath is also a specification of the XML family. Using XPath you can address any node in an XML document. XSLT implements XPath expressions to select substructures of an XML document. Using templates in XSLT you can define the mapping rules for the selected substructures.

You can use the XSLT tags <xsl:include> and <xsl:import> to include predefined templates for substructures in a complete mapping definition. In this way, you can reuse mappings for data types.

Java Mapping

You can implement mapping programs in Java. To process XML documents, use Java API for XML Processing (JAXP), for example. The JAXP supports the Document Object Model (DOM) and the Simple API for XML (SAX). This gives you great flexibility for mapping definitions with Java.

Implementation Considerations

Java mapping programs are not permitted to be stateful. You are therefore not permitted to perform actions such as writing data to a database table during a Java mapping. The Integration Server cannot track such side effects. Therefore, if an attempt is made to resend a message that has not been received by the receiver, the data may inadvertently be written to the database twice in a Java mapping.

If you use JRE classes in your Java mapping programs then the same program restrictions apply as for Enterprise Java Beans (EJBs). For a detailed description of these restrictions, see the relevant EJB specification. It is important that you also refer to the information under Scope of Functions in Runtime Environment (Java Mappings).

The runtime environment for Java mappings has an mapping API. To use Java mapping, you must define a Java class that implements the Java interface com.sap.aii.mapping.api.StreamTransformation. This interface has two methods:

&#9679; public void execute(java.io.InputStream in, java.io.OutputStream out)

At runtime, the Integration Engine calls this method to execute a mapping. This method contains an input stream for the source document and an output stream for the target document as parameters. These streams are usually XML documents. You can import the substructures to be converted from the input stream and output the converted target document in the output stream.

&#9679; public void setParameter(java.util.Map param)

The Integration Engine transfers parameters to the mapping program with this method. It evaluates these parameters at runtime in the method execute(). This enables you to control the process flow of the mapping.

The transferred object that implements the Java interface java.util.Map contains seven key/value pairs as parameters. These correspond to corresponding fields in the message header. Apart from the MAPPING_TRACE constant, the value objects are of type java.lang.String. The key objects are defined in the class com.sap.aii.mapping.api.StreamTransformationConstants

ABAP Mappings

ABAP mappings are mapping programs in ABAP objects that customers can implement using the ABAP Workbench.

Features

An ABAP mapping comprises an ABAP class that implements the interface IF_MAPPING in the package SAI_MAPPING.

Exception: CX_MAPPING_FAULT

Applications can decide themselves in the method EXECUTE how to import and change the source XML document. If you want to use the XSLT processor of SAP Web AS, you can use the ABAP Workbench to develop a stylesheet directly (see XSLT Mappings (ABAP Engine)) rather than using ABAP mappings.

Runtime Constants

In ABAP mapping you can read access message header fields. To do this, an object of type IF_MAPPING_PARAM is transferred to the EXECUTE method. The interface has constants for the names of the available parameters and a method GET, which returns the respective value for the parameter name. The constants are the same as in Java mappings, although the constant MAPPING_TRACE does not exist for ABAP mappings. Instead, the trace object is transferred directly using the parameter TRACE of the method IF_MAPPING~EXECUTE

Example: Accessing a Runtime Constant

Method IF_MAPPING~EXECUTE.

  • Get mapping constant SENDER_SERVICE

data: l_sender_service type string.

l_sender_service = param->get( IF_MAPPING_PARAM=>SENDER_SERVICE ).

ENDMETHOD.

Hope this will help you, and don't forget to close this thread.

Regards

Aashish Sinha

PS : reward points if helpful

Former Member
0 Kudos

Hi Aman,

For studying about mapping u can find in this forum ,all u need to do is just search and try to see diffrent types of interfaces ......even though here are some links which may help u........

Just to remind u mapping takes place during design side ie(IR)

http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/65/334a4199d95c7fe10000000a155106/frameset.htm

About XSLT mapping,

http://help.sap.com/saphelp_nw04/helpdata/en/83/2200cb50d345c793336d9a1683163e/frameset.htm.

java mapping,

http://help.sap.com/saphelp_nw04/helpdata/en/7d/79dfa72d1049bc963f4f272bb1638e/frameset.htm

http://help.sap.com/saphelp_nw04/helpdata/en/9a/20e23d44d48e5be10000000a114084/frameset.htm

Hope this may help you

Regards,

Azeez khan.