Page 1 of 1

TI Process Aborted by decimal separator

Posted: Mon Nov 12, 2012 2:21 pm
by lucia.damonti
Hi all,

I use TM1 9.5.2 version on DB Oracle 11g (with NLS language "Italy")
I developed an TI process to export my cube data into DB Oracle, but it's aborted because try to insert a number with decimal separator ".", instead ","

When the process reads the tupla key sequence, the number and the decimal separator, are correct.


"DELTA", "PROD", "MBI_SKEW", "HALLIBURTON", "CRDCDS", "Default swaps", "19036,215965"

but when writes the value, trying to insert into the DB, put the "." separator and the process go to error

"DELTA","PROD","MBI_SKEW","CRDCDS","Default swaps","HALLIBURTON","ECO_PL_EUR_D12","19036.215965"

But the strange thing, is that the error appear only after the insert of some rows (c.a 7000) then stopped it.

I checked the ODBC and the Oracle installation on the TM1 Server, but both have the NLS language set Italy.
I looked for a solution in iternet, but nobody speak of this problem.

Please help me, is an critical problem for my project!Thanks.
Lucia.

Re: TI Process Aborted by decimal separator

Posted: Mon Nov 12, 2012 3:26 pm
by qml
In your TI code you should use the NumberToStringEx(Value, NumericFormat, DecimalSep, ThousandsSep) function to format your number exactly how you want it passed to Oracle.

Re: TI Process Aborted by decimal separator

Posted: Mon Nov 12, 2012 4:32 pm
by lucia.damonti
Hi,

yes, I used

NumberToStringEx(Value, NumericFormat, DecimalSep, ThousandsSep)

and

DatasourceASCIIDecimalSeparator='Character'

but without results.

they are three days that i try, but I haven't more any fantasy..
could be a problem relaese?

thanks for replay!
Lucia.

Re: TI Process Aborted by decimal separator

Posted: Mon Nov 12, 2012 4:33 pm
by lucia.damonti
Furthermore, I have already developed processes with the same characteristics, but with a minor amount of records.

could be the amount of data?

thanks!
Lucia.

Re: TI Process Aborted by decimal separator

Posted: Mon Nov 12, 2012 11:37 pm
by Duncan P
We once had an situation many years ago in which, after an internal error condition, the oracle ODBC driver would end up in the C locale (the default US locale of C source code) instead of the NLS locale that it was set with. If this had happened then your numbers which are correctly formatted for Italy might appear to the driver - expecting C locale numbers - to be in error.

Your symptoms sound similar to ours. However I am not sure how you would go about investigating this further.