You must map Oracle data types to ITP data types. In the following table, you will find examples how some common Oracle data types should be mapped on ITP data types.
Oracle data type |
ITP data type |
Remark |
CHAR(n), VARCHAR2(n) |
C_CHAR(n+1) |
The length specified for the ITP Field should be 1 larger than the length specified in the database. This is to include the terminating 0 byte |
NUMBER (p,s), ROWID |
NUMERICAL(p+3 s) |
The length specified for the ITP Field should be the precision of the column + 3. This is to include the sign, decimal delimiter and the terminating 0 byte. Precision and scale for numerical data types without an (p, s) notation are database specific. |
NCHAR(n), NVARCHAR2(n) |
W_CHAR(n+2) |
The length specified for the ITP fields should be 2 larger than the length specified in the database. This is to include the 2 terminating 0 bytes. |
In this table n stands for number of characters, p for precision and s for scale.