Learning
Community
Open Exchange
Global Masters
InterSystems IRIS Data Platform 2019.4 / System Interoperability / Business Process and Data Transformation Language Reference / DTL Elements / DTL <code>
Previous section   Next section

DTL <code>

Execute lines of custom code.

Syntax

<code>
   <![CDATA[ target.Name = source.FirstName & " " & source.LastName]]> 
</code>

Elements

Element Purpose
<annotation> Optional. A text string that describes the <code> element.

Description

The DTL <code> element executes one or more lines of user-written code within a DTL data transformation. You can use the <code> element to perform special tasks that are difficult to express using the DTL elements. Any properties referenced by the <code> element must be properties within the source or target object for the data transformation.
The scripting language for a DTL <code> element is specified by the language attribute of the containing <transform> element. The value should be objectscript. Any expressions found in the data transformation, as well as lines of code within <code> elements, must use the specified language.
For further information, see the following books:
Typically a developer wraps the contents of a <code> element within a CDATA block to avoid having to worry about escaping special XML characters such as the apostrophe (') or the ampersand (&) . For example:
<code>
  <![CDATA[ target.Name = source.FirstName & " " & source.LastName]]>
</code>
In order to ensure that execution of a data transformation can be suspended and restored, you should follow these guidelines when using the <code> element:
  • The execution time should be short; custom code should not tie up the general execution of the data transformation.
  • Do not allocate any system resources (such as taking out locks or opening devices) without releasing them within the same <code> element.
  • If a <code> element starts a transaction, make sure that the same <code> element ends the transactions in all possible scenarios; otherwise, the transaction can be left open indefinitely. This could prevent other processing or can cause significant downtime.
Previous section   Next section