Converting a legacy message map that
includes user-defined ESQL procedures
When you convert a legacy message map that includes ESQL
procedures, the conversion process converts each ESQL procedure
to an equivalent Custom ESQL transform that
invokes the ESQL. A Task transform is added
to your converted map when an ESQL procedure does not fulfill the
requirements to be called from a map on a Mapping node.
Procedure
Check the conversion process behavior when you convert
a legacy message map to a message map that includes ESQL procedures:
- Check that the conversion meets the requirements for ESQL
modules that are called from a graphical data map; see Requirements for ESQL modules that are called from a graphical data map.
- Each converted ESQL procedure is deployed as source. If
you are not using IBM® Integration Bus application
and library projects to store your ESQL procedures, check that the
ESQL procedures have unique names because they are deployed independently
to the same integration server.
- Check whether the legacy message map includes ESQL procedure
that uses the ESQL REFERENCE data type. By default, the
conversion process converts ESQL procedures as follows:
- An ESQL procedure that does not use the ESQL REFERENCE data type
is converted to Custom ESQL transform. For
more information, see Custom ESQL.
- An ESQL procedure that uses the ESQL REFERENCE data type is converted
to Task transform. You must then replace the Task transform
to complete the map conversion. You can replace the Task transform
with a Custom XPath transform that provides
equivalent function. You can also use a Custom Java transform
or a Custom ESQL transform.
If you have confirmed the requirements
that are associated with the ESQL REFERENCE data type are met (see
Requirements for ESQL modules that are called from a graphical data map), and you want an ESQL
procedure that uses the ESQL REFERENCE data type to be converted to
a
Custom ESQL transform instead of a
Task transform,
set a preference by completing the following steps:
- From the IBM Integration Toolkit menu,
click
- Select the check box for Allow the conversion of user-defined
ESQL procedures that include REFERENCE parameters.
- Check whether the ESQL procedure has an INOUT argument. The conversion process converts an ESQL procedure that has an
INOUT argument to a Custom ESQL transform where
the INOUT argument is converted as an IN argument. You can replace
the Custom ESQL transform with a Custom
XPath transform, or a Custom Java transform
when the default conversion transform is not valid.
- Consider whether the ESQL procedure can return a NULL value. In a legacy message map that
is executed in generated ESQL, the output target is not created if
the ESQL procedure returns a NULL value. In the converted .map file,
the target output element is created with an empty value if the ESQL
procedure returns a NULL value. It might be necessary to add an XPath
condition expression to the Custom ESQL transform
in the converted .map file to prevent the ESQL
being called in situations where it would return an ESQL NULL value.
For more information, see Nulls behavior.
What to do next
Continue converting your legacy message map. For more information,
see Converting a message map from a .msgmap file to a .map file.