Principles
The transformation module manipulates eight buffers which are described in the table below.
Buffer | Content |
---|---|
I | Contains the record of the file (EXTRACT mode) or the journal (JOURNAL mode). |
B | Contains the image of the record before updating for a model in JOURNAL mode, and only for an update operation. In the other cases, it contains only binary zeros (x00H). |
O | Contains the buffer of the data sent to the target. Its default structure is that of buffer I. It can be partly or wholly redefined, including its length (maximum 32KB). |
F | This buffer contains the fields or the external file resulting from the SELECT or READ instructions. It is only available when the transformation includes a LOOKUP instruction on Windows NT server or a FILE declaration on AS/400 IBMi. |
S | Contains the context data for both the journal sequence (for a model in the JOURNAL mode) and the Talend Change Data Capture session. Its structure is fixed. |
W | Temporary work buffer (local) whose data is reset to the binary zero (x00H) for each record. |
V | Temporary work buffer (global) whose data is kept for the entire duration of a Talend Change Data Capture session. |
X | Temporary work buffer (external) that behaves like the buffer V, but is
also read during start up and rewritten when stopped. AS/400 IBMi source: the
buffer is read and written from a data area in the DD_USRDATA library. The data
area name is See_cccddd (where ee is the environment ID, ccc is the target ID,
and ddd the distribution ID (model)). Information noteWarning: The data area is not
automatically created.
Oracle, SQL Server, ODBC source: the buffer is
read and written from a file in the SQLServer or
Oracle or ODBC sub-directory
in the Talend Change Data Capture directory. The name is See_cccddd@instance.dtrs
(where ee is the environment ID, ccc the target ID, ddd the distribution ID
(model), and instance is the name of the source database instance).Information noteWarning: The file is not automatically created.
|
In the target, the transformation module does not have access to the I and B buffers, because it is receiving the O and S buffers. Moreover, you cannot modify the structure of the O buffer anymore, you can only modify its content.
The transformation program works as a processing unit with the following characteristics:
On the source
The transformation module receives the contents of buffers I, B and S. It is used to store the data temporarily in buffers W, V, X, and loads buffer O.
The selection is made by branching to the *SELECT (default), *SKIP or *ERROR tags.
Depending on the nature of the operation performed on input, the buffers contain the following:
PT- Add
Buffer | Content |
---|---|
I | Record added |
B | Binary zeros |
UB- Image before the update
Buffer | Content |
---|---|
I | Record before the update |
B | Binary zeros |
UP- Image after the update
Buffer | Content |
---|---|
I | Record after the update |
B | Record before the update |
DL- Deletion
Buffer | Content |
---|---|
I | Record deleted |
B | Binary zeros |
On the target
The transformation module receives the contents of buffers O and S.
It is used to store the data temporarily in buffers W, V, X, and to modify only the content -not the structure- of the buffer O.
The selection is made by branching to the *SELECT (default), *SKIP or *ERROR tags.