Skip to main content

DTL <code>

Execute lines of custom code.


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


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


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:

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

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.