Hi,
I am gettting the following errors while running my job.
APT_CombinedOperatorController(2),1: Fatal Error: APT_Decimal::asIntegerS64: invalid representation in decimal; the leading nybble must be zero with odd precision.
I am getting with one of the stage variables( i came to this conclusion because when i removing the calculation inside this and passing the value 0 i am able to run the job).
My job design is
DS--->Transformer---->lkp----->Transformer------>DS.
I am doing look up on three sequential file and my mode is continue both for "Condition not met" and "Look up failure".
I am handling for null and empty value in the transformer for the columns which i am taking from reference links.
All values includede in to the calculations of stage variables and column derivations Decimal.
i had tried with environment variable:-
$APT_DECIMAL_INTERM_SCALE (20)
$APT_DECIMAL_INTERM_PRECISION(5)
just keep check on intermediate values.
waiting for info on this error.
[/code]
Reg invalid representation in decimal
Moderators: chulett, rschirm, roy
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
Hi Ray,
The following are the stage variables.
The stage variable in bold is the one which on replacing by Zero my job is running fine.
Stage variable: StgStdPri (Decimal 12,5)
Derivation: StgDosPri
Stage variable: StgDosPri (Decimal 12,5)
Derivation: IF ToTrans.eoynpt=0 THEN '0' AND StgStdPri =0 ELSE ToTrans.dosnpt AND StgStdPri= ToTrans.eoynpt
Stage variable: StgMetQty (Decimal 12,5)
Derivation: IF ToTrans.eoynpt<>0 AND ToTrans.met_qty=0 THEN ToTrans.rx_mqty ELSE IF ToTrans.eoynpt<>0 AND ToTrans.met_qty<>0 THEN ToTrans.met_qty ELSE ToTrans.met_qty
Stage variable: StgAmtStdEoy( Decimal 12,5)
Derivation: StgAmtStdDos
Stage variable: StgAmtStdDos (Deciaml 12,5)
Derivation: IF ToTrans.eoynpt=0 THEN ToTrans.amt_eqv AND
StgAmtStdEoy= ToTrans.amt_eqv ELSE StgMetQty* ToTrans.rx_cf* StgDosPri AND StgAmtStdEoy= StgMetQty* ToTrans.rx_cf* StgStdPri
Even i tried with higher decimal values up to (27,5) [both in stage variable & column derivation] just to take care of the overflow of the calculated value.
Hope to get some info.
Thanks for your time.
The following are the stage variables.
The stage variable in bold is the one which on replacing by Zero my job is running fine.
Stage variable: StgStdPri (Decimal 12,5)
Derivation: StgDosPri
Stage variable: StgDosPri (Decimal 12,5)
Derivation: IF ToTrans.eoynpt=0 THEN '0' AND StgStdPri =0 ELSE ToTrans.dosnpt AND StgStdPri= ToTrans.eoynpt
Stage variable: StgMetQty (Decimal 12,5)
Derivation: IF ToTrans.eoynpt<>0 AND ToTrans.met_qty=0 THEN ToTrans.rx_mqty ELSE IF ToTrans.eoynpt<>0 AND ToTrans.met_qty<>0 THEN ToTrans.met_qty ELSE ToTrans.met_qty
Stage variable: StgAmtStdEoy( Decimal 12,5)
Derivation: StgAmtStdDos
Stage variable: StgAmtStdDos (Deciaml 12,5)
Derivation: IF ToTrans.eoynpt=0 THEN ToTrans.amt_eqv AND
StgAmtStdEoy= ToTrans.amt_eqv ELSE StgMetQty* ToTrans.rx_cf* StgDosPri AND StgAmtStdEoy= StgMetQty* ToTrans.rx_cf* StgStdPri
Even i tried with higher decimal values up to (27,5) [both in stage variable & column derivation] just to take care of the overflow of the calculated value.
Hope to get some info.
Thanks for your time.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
It's not really clear that this is the source of the problem. To isolate the location can you please run with operator combination disabled in the Transformer stage or in the job?
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.
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact:
I think the derivations of StgDosPri stage variable may be the issue here - they are generating logical values. The best way I can illustrate this is by rearranging its derivation expression.
IF ToTrans.eoynpt=0
THEN ('0' AND StgStdPri=0)
ELSE (ToTrans.dosnpt AND StgStdPri=ToTrans.eoynpt)
Now, what did you really mean for this to produce?
IF ToTrans.eoynpt=0
THEN ('0' AND StgStdPri=0)
ELSE (ToTrans.dosnpt AND StgStdPri=ToTrans.eoynpt)
Now, what did you really mean for this to produce?
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.
Hi,
Thanks a lot Ray for your info.
I am now able to run the job.
I just want to put the details of the back tracking this issue as it can be helpful for some one else facing similar kind of problem.
After checking that the logic is working fine, we thought of two options:-
1. Either the data we are getting is wrong.
2. The data set is corrupted or the cloumn used in the Stage variable calculation is not correctly populated.
We recreated the dataset and made a couple of changes ( we trimmed the value and null is handled with zero population) for the Column derivation used in the stage variable.
And one more i am not using $APT_DISABLE_COMBINATION any more.
thanks.
Thanks a lot Ray for your info.
I am now able to run the job.
I just want to put the details of the back tracking this issue as it can be helpful for some one else facing similar kind of problem.
After checking that the logic is working fine, we thought of two options:-
1. Either the data we are getting is wrong.
2. The data set is corrupted or the cloumn used in the Stage variable calculation is not correctly populated.
We recreated the dataset and made a couple of changes ( we trimmed the value and null is handled with zero population) for the Column derivation used in the stage variable.
And one more i am not using $APT_DISABLE_COMBINATION any more.
thanks.