Implicit conversion from source type "int64" Warn

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
kollurianu
Premium Member
Premium Member
Posts: 614
Joined: Fri Feb 06, 2004 3:59 pm

Implicit conversion from source type "int64" Warn

Post by kollurianu »

Hi All,

I am getting below warning when I am writing BUID_ID value to the target oracle table.

Oracle_Enterprise_120: When checking operator: When binding input interface field "BUID_ID" to field "BUID_ID": Implicit conversion from source type "int64" to result type "decimal[10,0]": Possible range limitation.




BUID_ID in table1 is defined as Number(10) using and ODBC enterprise stage this value is looked up and written to the table2(defined as number(10) in the oracle table2 .

But this BUID_ID 's metadata is imported as BigInt in the datastage in the all the stages including the target oracle table stage.

And If the Buid_ID value is not found in the look up table1 it is written as
'0' (zero) in target table instead nulling the value.

I checked list of Modify functions that Ray has posted ..
But not able to figure out the exact syntax.

Any thoughts , greatly appreciated.
Karthik.M
Participant
Posts: 24
Joined: Thu Apr 26, 2012 1:18 am
Location: Chennai,TamilNadu

Post by Karthik.M »

U can try the function "AsInteger" in transformer stage
Karthik.M
Analyst
Infotrellis.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

This is not a question from U, it is a question from kollurianu.

The second person personal pronoun in English is spelled "you". We strive for a professional standard of written English on DSXchange.
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

decimal[10,0] is not big enough to handle all possible values of uint64, the largest possible value of which is 2**64-1, or 18,446,744,073,709,551,615 (rather more than 10 digits, which is what your decimal[10,0] data type implies).

DataStage is warning you that not all possible uint64 values will fit into a decimal[10,0] target.

"AsInteger" will not get rid of the warning, for a similar reason; you can't shoehorn a BigInt into an Integer field either.
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