Release Notes for TM v3.5
Release 3.5 (released March 2005) contained the following new features:
Online Help and Documentation
Both the structure and the content of The TM Online Help have been thoroughly revised to reflect recent developments in TM.
The printed documentation has also been revised and this continues to be an ongoing activity. In particular, the TM Quick Start Guide has been completed revised. It introduces the important concepts when using TM in a simple step by step approach and introduces the Group Adapter for reading multiple sources. Sample transforms for each of the examples in the Quick Start Guide are present in the release in the samples repository.
In addition a new document Advanced Features Guide has been produced, which describes in detail two features:
- Audit Trails (Logging and Error Handling)
- Meta-data and Instance Traceability
It is intended that in future the most advanced features of TM will be described in detail and samples used will be available for review.
Deployment Tool
The TM Deployment Tool provides a stand-alone environment for scheduling and running transforms. A Deployment Task is a specific transform, with source and target defined, any parameters needed specified, and a schedule for running the transform.
The main dialog of the Deployment Tool lists the current tasks that have been created by the user and tasks that have been created previously will be read in automatically when the Deployment Tool is launched.
The following tasks are available:
- Create New Task
- Edit Selected Task
- Delete Task
- View Task History
It is now also possible to configure an error handling project into the Deployment Task.
TM SAP Adapter
A TM SAP Read Adapter is now available to access SAP using any one of the three types of published interfaces:
- Business Application Programming Interface (BAPI)
- Remote Function Call (RFC)
- Interface Document (IDoc)
The TM SAP Adapter utilises SAP’s Java Connector (JCo) and permits high-performance scalable bidirectional communication between SAP and TM. It enables transforms to be called in sequence with results of one transform being available as the source data for the next SAP call.
A TM SAP Write Adapter will be provided in the next release.
Non-Introspection Java Adapter
A TM Java Adapter which does not use introspection is available for higher performance when accessing Java classes
New TM Functions
SETROUNDINGSTRATEGY
By default this is set to "ROUND_HALF_UP".
The following strategies are available:
- ROUND_UP
- ROUND_CEILING
- ROUND_DOWN
- ROUND_FLOOR
- ROUND_HALF_UP
- ROUND_HALF_DOWN
- ROUND_HALF_EVEN
- ROUND_UNNECESSARY
ARITHMETIC performs ROUND_HALF_UP
STRING performs ROUND_DOWN
Detailed descriptions of how these strategies operate can be found in the identically named constants for java.math.BigDecimal, which are:
- ROUND_UP Rounding mode to round away from zero. Always increments the digit prior to a nonzero discarded fraction. Note that this rounding mode never decreases the magnitude of the calculated value.
- ROUND_DOWN Rounding mode to round towards zero. Never increments the digit prior to a discarded fraction (i.e., truncates). Note that this rounding mode never increases the magnitude of the calculated value.
- ROUND_CEILING Rounding mode to round towards positive infinity. If the BigDecimal is positive, behaves as for ROUND_UP; if negative, behaves as for ROUND_DOWN. Note that this rounding mode never decreases the calculated value.
- ROUND_FLOOR Rounding mode to round towards negative infinity. If the BigDecimal is positive, behave as for ROUND_DOWN; if negative, behave as for ROUND_UP. Note that this rounding mode never increases the calculated value.
- ROUND_HALF_UP Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up. Behaves as for ROUND_UP if the discarded fraction is >= .5; otherwise, behaves as for ROUND_DOWN. Note that this is the rounding mode that most of us were taught in grade school.
- ROUND_HALF_DOWN Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down. Behaves as for ROUND_UP if the discarded fraction is > .5; otherwise, behaves as for ROUND_DOWN.
- ROUND_HALF_EVEN Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. Behaves as for ROUND_HALF_UP if the digit to the left of the discarded fraction is odd; behaves as for ROUND_HALF_DOWN if it's even. Note that this is the rounding mode that minimizes cumulative error when applied repeatedly over a sequence of calculations.
- ROUND_UNNECESSARY Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary. If this rounding mode is specified on an operation that yields an inexact result, an ArithmeticException is thrown.
SETIGNOREERRORINERRORHANDLER
This very simple function takes one Boolean parameter. If True, then TM no longer makes a special point of noting errors that have occurred in an error handler. Instead, the error is simply handled by all the remaining error handlers.
This is the only mechanism for suppressing the text output that would otherwise occur.
INCVAR
INCVAR increments the value of a numeric variable. It also returns the new value directly. It can only be used on local or global variables.
e.g.
<ID> := INCVAR(globalX);
<NAME> := 'Name'+globalX;
Here if globalX held the value 23 before the calls then both ID and Name will be assigned the value 24.
On the next iteration globalX will have the value 24.
This is exactly equivalent to:
globalX := 1+ globalX;
<ID> := globalX;
<NAME> := 'Name'+globalX;
but is neater and executes faster.
Global Variable is declared by the user and is accessible to all Transforms in the Project.
The function RESETGLOBALVARS resets all global variables to their initial state.
