Oracle Enterprise Stage problem

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
kriss
Participant
Posts: 3
Joined: Tue Apr 08, 2008 3:05 am

Oracle Enterprise Stage problem

Post by kriss »

My requirement is that, i have to get the max value of a column from a table using the Oracle Enterprise stage.

That query is :
SELECT NVL(max(SEQ_NBR),1) MaxNo FROM PAYMENT

When i executed the job it is working fine. But giving the warning like the following.

Oracle_Enterprise_68: When checking operator: When binding output interface field "MaxNo" to field "MaxNo": Implicit conversion from source type "decimal[38,10]" to result type "int64": Possible range/precision limitation.

Actually in database SEQ_NBR column datatype is NUMBER(15)
In datastage i am using Bigint(15)

Can any one advice why this error is coming.
Thanks in advance.


Thanks,
kriss


kriss
donny
Premium Member
Premium Member
Posts: 15
Joined: Thu Dec 15, 2005 11:45 am

Re: Oracle Enterprise Stage problem

Post by donny »

Hi
just double check the datatype again in table wheteher its decimal(38.0)
else change in datastage job the dataatype to decimal(38,0)

you can avoid that error

thx
donny
fmcmullan
Premium Member
Premium Member
Posts: 8
Joined: Thu Sep 29, 2005 9:19 am

Post by fmcmullan »

Whenever you perform any sort of function (like NVL or MAX) in a SELECT statement, Oracle does not seem to preserve the datatype of the underlying column. Or, at least it doesn't seem to correctly communicate it back to DataStage as part of the metadata sent with the query results.

As mentioned, just set the datatype on the result column in DataStage to decimal(38.10) then convert to the desired datatype downstream in your job.
kriss
Participant
Posts: 3
Joined: Tue Apr 08, 2008 3:05 am

Post by kriss »

fmcmullan wrote:Whenever you perform any sort of function (like NVL or MAX) in a SELECT statement, Oracle does not seem to preserve the datatype of the underlying column. Or, at least it doesn't seem to correctly communicate it back to DataStage as part of the metadata sent with the query results.

As mentioned, just set the datatype on the result column in DataStage to decimal(38.10) then convert to the desired datatype downstream in your job.


Thanks its worked.....

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

Post by ray.wurlod »

Please mark the thread as Resolved.
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