Page 1 of 1

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

Posted: Fri Apr 20, 2007 4:47 pm
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

Posted: Sat Apr 21, 2007 2:27 am
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.

Posted: Sun Apr 22, 2007 10:33 am
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

Posted: Sun Apr 22, 2007 8:17 pm
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.

Posted: Tue Jun 25, 2013 7:28 am
by sezerman
Hi,

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

Thanks,

Posted: Tue Jun 25, 2013 4:48 pm
by ray.wurlod
Use a sufficiently large target data type.