Decimal type error in transform
Posted: Thu Sep 08, 2005 5:48 am
I'm getting the following error message from a parallel transformer stage:
followed by:
I'm having trouble tracking down the cause, since:
1. There are only two divide operations in the transformer, both associated with decimal-type stage variables. I've added zero-handling logic to them (If divisor=0 then don't divide, else go ahead and divide) and still the error persists. None of the divisor values (originating from a parallel routine) should be zero, anyway. The derivations for the Decimal(24,6) stage variables in question look like:
2. I've tried assigning both the divisor and the result to double-typed stage variables before doing the DFloatToDecimal conversion. This had no effect.
3. I can't find the APT_DecimalNumber::analyzeAndPrepare method anywhere in the include files. Anyone know where it is and what it does?
4. I'm not really sure which error occurs first, but I would bet that this is a really a type-conversion issue. Even though the "divisor is 0" message appears first in the job log, I would not be suprised if it was in fact arising because of the asDFloat error.
Has anyone encountered these or similar errors before, and if so, what is the cause and cure?
Code: Select all
APT_DecimalNumber::analyzeAndPrepare:divisor is 0.
Code: Select all
Fatal Error: APT_Decimal::asDFloat: invalid representation in the decimal; the leading nybble must be zero with odd precision.
1. There are only two divide operations in the transformer, both associated with decimal-type stage variables. I've added zero-handling logic to them (If divisor=0 then don't divide, else go ahead and divide) and still the error persists. None of the divisor values (originating from a parallel routine) should be zero, anyway. The derivations for the Decimal(24,6) stage variables in question look like:
Code: Select all
DFloatToDecimal( 1.0 / RoutineReturningDouble(String,String), "round_inf" )
3. I can't find the APT_DecimalNumber::analyzeAndPrepare method anywhere in the include files. Anyone know where it is and what it does?
4. I'm not really sure which error occurs first, but I would bet that this is a really a type-conversion issue. Even though the "divisor is 0" message appears first in the job log, I would not be suprised if it was in fact arising because of the asDFloat error.
Has anyone encountered these or similar errors before, and if so, what is the cause and cure?