APT_Decimal::asInteger: the decimal value is out of range

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
laxmi_etl
Charter Member
Charter Member
Posts: 117
Joined: Thu Sep 28, 2006 9:10 am

APT_Decimal::asInteger: the decimal value is out of range

Post by laxmi_etl »

Hi,

My job is like this
If the problem is with the decimal fields then
I have 2 fields which are coming in as (char) and field length 10
and I am converting it as Decimal in the transformer with the fallowing function and field legths as Decimal(18,4)
StringToDecimal(lnktest.field)
I have created this job couple of days back so far it's running good
but now when I run it it is throughing the fallowing error

APT_CombinedOperatorController(4),1: Fatal Error: APT_Decimal::asInteger: the decimal value is out of range for the integer result.
lkpname,1: sendWriteSignal() failed on node etldev ds = 20 conspart = 1 Broken pipe
lkpname,1: sendWriteSignal() failed on node etldev ds = 21 conspart = 1 Broken pipe

If anybody has any idea on this
My guess is it's data problem.

Thanks
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Almost certainly, and it happened to occur on the second node in your configuration file.

Disable operator combination (set APT_DISABLE_COMBINATION) and re-run to determine in precisely which stage the error is being generated.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
laxmi_etl
Charter Member
Charter Member
Posts: 117
Joined: Thu Sep 28, 2006 9:10 am

Post by laxmi_etl »

If I do that it's showing me a Transformer stage.
Ya that is where I am doing this Char to Decimal function.
But my question is the field is coming in with 10 length and when I
convert it I am giving 18,4 so I am giving more length right?
So how can it say that decimal value is out of range.

Thanks
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Somewhere you are doing an AsInteger() function.

Not every 10-digit number can successfully be stored in an integer - the largest permissible int32 is 2147483647. It is the fact that you are being warned about.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
sezerman
Participant
Posts: 17
Joined: Fri Nov 14, 2008 9:57 am

Post by sezerman »

Hi,

I have the same error and yes, I am using asinteger. What should I do ?

Thanks,
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

Use a sufficiently large target data type.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply