floating point decimal is not fully supported.....

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
brunix
Premium Member
Premium Member
Posts: 25
Joined: Fri Aug 26, 2005 3:29 am

floating point decimal is not fully supported.....

Post by brunix »

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 ?
elavenil
Premium Member
Premium Member
Posts: 467
Joined: Thu Jan 31, 2002 10:20 pm
Location: Singapore

Post by elavenil »

When this error occurred? What is your source? Are you encountering this error while loading into target table?

Pls give us more info, which would help everyone to understand the problem and suggesst solution based on that.

Regards
Saravanan
brunix
Premium Member
Premium Member
Posts: 25
Joined: Fri Aug 26, 2005 3:29 am

Post by brunix »

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
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

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.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
brunix
Premium Member
Premium Member
Posts: 25
Joined: Fri Aug 26, 2005 3:29 am

Post by brunix »

Thanks.
I found a solution.
In the Oracle stage I make a TO_CHAR(SUM(.....)) and I defined the field like varchar(40).
In the following transformer I convert the field with a StringToDecimal function in a decimal(15,2).
The warning disappear !!!
Thanks at all for help,
Brunix
Post Reply