Skip to Content
Author's profile photo Stefan Grube

New functions in the Graphical Mapping Tool XI 3.0 SP13

Before you read this article, I recommend first to go through Sravya Talanki’s Weblogs Message Mapping Simplified Part I and Message Mapping Simplified Part II

The graphical mapping provides some useful functions with starting with XI 3.0 SP13:

– The node functions mapWithDefault, formatByExample, sort and sortByKey

– The statistic function index

The function mapWithDefault

This function provides a default value, whenever the source element is not available. This is useful function, when you want to use the content conversion of the file adapter. Look at this example:


Before SP13 we had to use a combination of the functions exists and if, now we need only one function:


The function formatByExample

This function allows grouping of values of a tag according to values of another tag. Look at this example:


We can achieve this with our new function:


The other nodes are mapped with help of the node functions splitByValue and collapseContexts like follows:


Make sure, that the context of the node ID is set to ORDERLIST in all cases.

The functions sort and sortByKey

Of course these functions are used to sort elements. Let us look at this example:


The elements in tag PRODUCT shall be sorted the same way as the elements in tag ID. As the functions sort and sortByKey only sort the elements within the same context, we have to use the function removeContexts before sort. After sort we have to restore the original contexts. We do this with the node function splitByValue The mapping now looks like follows:


The function index

This function works like the function counter. The difference is that the function index repeats counting for each context. Let us look at an example:


We want the tag No to count the positions in an order. For this reason we have to provide the correct contexts. This can be done by the node function splitByValue. After creating of the correct index numbers, the values have to be separated to different contexts. This can be achieved as well with the node function splitByValue.


I hope this blog will help you to understand the use of the new mapping functions.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member
      Hi Stefan,

      Good examples illustrating the new functions. The examples are very nice and very easy to follow.


      Author's profile photo Michal Krawczyk
      Michal Krawczyk
      Hi Stefan 🙂

      Great to see a weblog from you, 
      hope there will be more 🙂


      Author's profile photo Ashok Pathmanathan
      Ashok Pathmanathan
      Hi Stefan,

      Your blog with clear examples solved my query in the XI forum - ' Help in mapping with 'createIf' node function'.


      Author's profile photo Former Member
      Former Member
      I was reading in SDN library and other sources to try and figure out SplitByValue and could never make them work. Your method of removing, adding, and then collapsing context are exactly what I needed to go from simple flat input file to a nested hierarchy.

      Best regards,


      Author's profile photo Former Member
      Former Member
      Great examples.

      Just one comment for formatByExample.

      You have to do sorting functionalities first before formatByExample function for data source that are not in order.

      Thanks and Regards,

      Author's profile photo Anupam Ghosh
      Anupam Ghosh

      Hi Stefan,

           This is very helpful blog.

      Thank you for sharing.