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.
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 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.
- 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.
Continue converting your legacy message map. For more information,
see Converting a message map from a .msgmap file to a .map file.