Page 1 of 1

Implicit conversion from source type "int64" Warn

Posted: Wed Apr 30, 2008 2:34 pm
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.

Posted: Mon Jun 18, 2012 5:18 am
by Karthik.M
U can try the function "AsInteger" in transformer stage

Posted: Mon Jun 18, 2012 5:32 am
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.

Posted: Mon Jun 18, 2012 5:36 am
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.