See information about the latest product version
Before: initial message map behavior
Review this topic for a description of the initial message map file for the scenario, its transformations and what changes you make when you implement the scenario solution.
The initial map file for the scenario is called MembersMFPFlow_Mapping.msgmap. The message map takes a generic input message with details of a person and transforms it to a message required by a member database system that adds a member record for the person.
There are aspects to consider before you convert your maps to ensure that your broker operates as intended. For more information, see Changes in behavior in graphical data maps converted from message maps in the WebSphere® Message Broker Information Center. Some of the information that is used in Changes in behavior in graphical data maps converted from message maps is referred to in this scenario, but if you are using your own maps, you might want to review the topic to understand what changes you might encounter.
The following image shows how the MembersMFPFlow_Mapping.msgmap map file looks before conversion:

The image shows some, but not all of the transformations that are used in the message map. The message map includes the following significant transformation logic:
- MEMBER_NAME_PART.PERSON_GIVEN_NAMES is set by using an If Else statement, which is using proprietary built-in ESQL functions that were provided in the Message Mapping editor to create a conditional expression that determines whether the input message has non-white-space characters in the value of PERSON_MIDI_NAME.
- MEMBER_AGE_GROUP is set by using a call to a user-written ESQL function named ageRange().
- MEMBER_INT_GROUP is set by using an If Else construct, which is using a standard XPath expression to control the construct.
- MEMBER_COMMENT1 is set by using proprietary built-in ESQL functions that were provided in the previous message map tool.
- MEMBER_COMMENT2 and MEMBER_COMMENT3 are set by calling user-written ESQL functions commentPart2() and commentPart3(). These functions are coded so that if there is not enough input data in the input element PERSON_NOTES, they return an ESQL NULL. Setting an output element in ESQL to NULL causes the element to be deleted so that the MEMBER_COMMENT2 and MEMBER_COMMENT3 output elements do not show in the produced message.
One of the transformations for MEMBER_COMMENT1 uses an ESQL function, esql:trim-both, that is not supported for graphical data maps. The list of non-supported ESQL functions is listed in Changes in behavior in graphical data maps converted from message maps.
See the following image for the construction of the expression using esql:trim-both:

Review the next topic to see what changes are made to transformations when they are converted in a graphical data map. After: the converted graphical data map.