DSXchange: DataStage and IBM Websphere Data Integration Forum
View next topic
View previous topic
Add To Favorites
This topic has been marked "Resolved."
Author Message
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Thu Nov 13, 2008 10:53 am Reply with quote    Back to top    

DataStage® Release: 8x
Job Type: Parallel
OS: Windows
Additional info: How to eliminate these warning?
Hi Experts,

Source column is datatype is decimal(15,12) and o/p column datatype is decimal(12,2).


APT_CombinedOperatorController(1),0: APT_Decimal::ErrorBase: From: the source decimal has even precision, but non-zero in the leading nybble, or is too large for the destination decimal..Record dropped.

Can anyone help me on this?thanks in advance for your reply!

_________________
pradeep.v
ray.wurlod

Premium Poster
Participant

Group memberships:
Premium Members, Inner Circle, Australia Usergroup, Server to Parallel Transition Group

Joined: 23 Oct 2002
Posts: 51931
Location: Sydney, Australia
Points: 281976

Post Posted: Thu Nov 13, 2008 12:58 pm Reply with quote    Back to top    

Please disable operator combination and report the complete error message after running again.

_________________
RXP Services Ltd
Melbourne | Canberra | Sydney | Hong Kong | Hobart | Brisbane
currently hiring: Sydney and Melbourne
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 11:37 am Reply with quote    Back to top    

Hi ray,

i have turned the combinability mode to 'Don't Combine' still it is generating same warning dropping record

PURCH_TRANSTN_COND_Xform,0: APT_Decimal::ErrorBase: From: the source decimal has even precision, but non-zero in the leading nybble, or is too large for the destination decimal..Record dropped.

suggest how to remove these warning.

Thanks in Advance!!!

_________________
pradeep.v
Rate this response:  
Not yet rated
Mike



Group memberships:
Premium Members

Joined: 03 Mar 2002
Posts: 813
Location: Chicago
Points: 5198

Post Posted: Mon Nov 17, 2008 12:40 pm Reply with quote    Back to top    

But now you know which operator is generating the message...

PURCH_TRANSTN_COND_Xform (transformer?). Add a reject link to capture the records that are being dropped so you know which decimal values are not being converted.

I suspect you may need to do an explicit DecimalToDecimal type conversion.

Mike
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 1:28 pm Reply with quote    Back to top    

Hi Mike,

Thanks for the reply,

Even i tried that,I checked the otherwise option in transformer but all the record are propogating in both the output.

In my requirement my source is string and i need to multiply with decimal for the string field of datatype decimal(15,12) and i have converted that string field to decimal and multiplied with decimal field.so iam getting this warning with droping records and loading few records and the o/p is decimal(12,2)

Thanks in advance for your reply!

_________________
pradeep.v
Rate this response:  
Not yet rated
Mike



Group memberships:
Premium Members

Joined: 03 Mar 2002
Posts: 813
Location: Chicago
Points: 5198

Post Posted: Mon Nov 17, 2008 1:41 pm Reply with quote    Back to top    

Make sure your otherwise link is last in the link ordering.

You originally said your source field was decimal(15,12). Now you're saying it is a string. Confused

Please post your derivation and include the exact data types of each source field (or stage variable).

Mike
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 1:50 pm Reply with quote    Back to top    

1.sTAGE vARIABLE :if IsNull(PURCH_TRANSTN_COND_Cpy1_ln.CURNCY_MULTIPLY_FCTR_VAL) Then 1 else PURCH_TRANSTN_COND_Cpy1_ln.CURNCY_MULTIPLY_FCTR_VAL
THIS COLUMN IS TAKEN FROM SOME OTHER TABLE OF DATA TYPE CURNCY_MULTIPLY_FCTR_VAL DECIMAL(15,12).

2.SOURCE : I HAVE MULTIPLY WITH ABOVE COLUMN WITH SOURCE WHICH CHAR IN NATURE
If Len(PURCH_TRANSTN_COND_Cpy1_ln.KONV_KAWRT ) = 0 Then SetNull() Else StringToDecimal(PURCH_TRANSTN_COND_Cpy1_ln.KONV_KAWRT) * StageVar


AND TARGET COLUMN IS DECIMAL(12,2) WHERE IT IS MAPPED WITH ABOVE 2 DERIVATION

tHANKS FOR HELPING ME MIKE Sad

_________________
pradeep.v
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 1:54 pm Reply with quote    Back to top    

WHAT CONDITION I HAVE TO GIVEN FOR GETTING THE REJECT RECORDS IN MY CASE.

THANKS,

_________________
pradeep.v
Rate this response:  
Not yet rated
Mike



Group memberships:
Premium Members

Joined: 03 Mar 2002
Posts: 813
Location: Chicago
Points: 5198

Post Posted: Mon Nov 17, 2008 2:09 pm Reply with quote    Back to top    

No need for a condition. Just make sure it is the last link and you've checked otherwise.

How big is your CHAR field?

I still think the relevant part of your error message is most likely " too large for the destination decimal ", but you'll have to capture some rejected rows to make that determination.

Are you just getting a few rejects or lots of rejects? You can try to cut down on the amount of your unit test data if you're getting buried in data. Maybe insert a Head stage...

Mike
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 2:16 pm Reply with quote    Back to top    

My source field is char(15) is there any thing we have change in the transformation part ok wil try get some sample record at the o/p it is populating 0.00 has output for all the rows.

pradeep

_________________
pradeep.v
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 2:19 pm Reply with quote    Back to top    

My source field is char(15) is there any thing we have change in the transformation part ok wil try get some sample record at the o/p it is populating 0.00 has output for all the rows.

pradeep

_________________
pradeep.v
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Mon Nov 17, 2008 2:22 pm Reply with quote    Back to top    

But when i saw the source data it is different.

_________________
pradeep.v
Rate this response:  
Not yet rated
Mike



Group memberships:
Premium Members

Joined: 03 Mar 2002
Posts: 813
Location: Chicago
Points: 5198

Post Posted: Mon Nov 17, 2008 3:53 pm Reply with quote    Back to top    

You do realize that a Char(15) converted to a Decimal(15) multiplied by a Decimal(15,12) may not fit in a Decimal(12,2).

Temporarily increase the size of your output to a sufficiently large decimal format (e.g. Decimal(38,10)) and see if the error goes away.

Mike
Rate this response:  
Not yet rated
pradeep_nov18
Participant



Joined: 05 Mar 2008
Posts: 92
Location: chennai
Points: 700

Post Posted: Tue Nov 18, 2008 12:36 pm Reply with quote    Back to top    

Hi Mike,

The issue was as you told i recreated the table with my own structure,now it is propogating as expected

Thanks Mike for your reply

_________________
pradeep.v
Rate this response:  
Not yet rated
Display posts from previous:       

Add To Favorites
View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2002 phpBB Group
Theme & Graphics by Daz :: Portal by Smartor
All times are GMT - 6 Hours