You can configure how the Java transformation handles high precision for decimal data types. To enable high precision, use the
Enable High Precision
option on the
Advanced
tab.
By default, the Java transformation converts fields of type decimal to double data types with a precision of 15. If you want to process a decimal data type with a precision greater than 15, enable high precision to process decimal fields with the Java class BigDecimal.
When you enable high precision, you can process decimal fields with precision less than 28 as BigDecimal. The Java transformation converts decimal data with a precision greater than 28 to the double data type.
For example, a Java transformation has an input field of type decimal that receives a value of 40012030304957666903. If you enable high precision, the value of the field is treated as it appears. If you do not enable high precision, the value of the field is 4.00120303049577 x 10^19.
High precision in advanced mode
To run a
mapping
task based on a mapping in advanced mode successfully, the Java transformation and the mapping must use the same precision mode. The Java transformation always uses high precision, but the mapping uses either high or low precision based on the types of hierarchical fields in the mapping.
If the mapping has hierarchical fields that contain child fields with decimal data types, the mapping runs using low precision. If the same mapping contains a Java transformation with a decimal field, the