This is the complete error :
" Column IMPT_RTLZ floating point decimal is not fully supported; adjusting the scale."
The column have 38 lenght and 10 as scale.
Some one can help me about resolving this warning ?
floating point decimal is not fully supported.....
Moderators: chulett, rschirm, roy
Ok.
I try to explain (sorry for my english)
This warning appear on an Oracle source stage.
In the select I do a sum of a decimal (15,2) field.
In the colum definition I have to define this calculated field like a floatin 38,10.
This is the problem. Datastage don't assign the same format to a field and to a sum of this.
One solution is to do the sum outside of Oracle stage and add an aggregator stage.
I post this message to don't use this solution. I want to find the right field format to continue to use the SUM in the oracle stage.
Thanks in advance,
Brunix
I try to explain (sorry for my english)
This warning appear on an Oracle source stage.
In the select I do a sum of a decimal (15,2) field.
In the colum definition I have to define this calculated field like a floatin 38,10.
This is the problem. Datastage don't assign the same format to a field and to a sum of this.
One solution is to do the sum outside of Oracle stage and add an aggregator stage.
I post this message to don't use this solution. I want to find the right field format to continue to use the SUM in the oracle stage.
Thanks in advance,
Brunix
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
The warning is to alert you that the same data type as the source values may not be large enough to accommodate their sum.
Consider int8 as an easy example, the largest value of which is +127. You don't have to add too many of these to exceed +127. Therefore a more appropriate data type for the sum is something larger, perhaps int16.
The same is true with decimal[n,x]; the data type of the sum should perhaps be decimal[(n+2),x].
Another problem that might occur with the dfloat data type (which is definitely large enough!) is that loss of precision may occur. Because of the manner in which computers store floating point numbers, there may not be sufficient precision available to store the n significant digits of a decimal[n,x] data type.
Create a message handler to demote this warning to informational.
Consider int8 as an easy example, the largest value of which is +127. You don't have to add too many of these to exceed +127. Therefore a more appropriate data type for the sum is something larger, perhaps int16.
The same is true with decimal[n,x]; the data type of the sum should perhaps be decimal[(n+2),x].
Another problem that might occur with the dfloat data type (which is definitely large enough!) is that loss of precision may occur. Because of the manner in which computers store floating point numbers, there may not be sufficient precision available to store the n significant digits of a decimal[n,x] data type.
Create a message handler to demote this warning to informational.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.