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 (or integration node in IBM® App Connect Enterprise) operates as intended. For more information, see Converting a legacy message map that includes ESQL mapping functions. Although this scenario includes the necessary information from that topic, if you are using your own maps you might want to review that 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()
andcommentPart3()
. These functions are coded so that if there is not enough input data in the input element PERSON_NOTES, they return an ESQLNULL
. Setting an output element in ESQL toNULL
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 Converting a legacy message map that includes ESQL mapping functions.
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.