Exploring the root cause for our Oracle SQL not working in our SAP MII 12.2
Proof of Concept installation, we found that all our Oracle JDBC
connections in MII 12.2 are somehow somewhere set by default to Danish
NLS (our native language).
This results in that decimal seperators are switched from default ".,"
to ",.", meaning that all numeric conversions of strings expect
comma "," to be the decimal seperator.
This results in ORA- invalid numbers of to_number() and calculations on all such number strings that used to
work with xMII 11.5.
We have work-around'ed the issue by setting the following INIT command
on each and every Oracle connection:
alter session set NLS_NUMERIC_CHARACTERS='.,'
But we believe the right solution would be to reset SAP MII / NW to the
default (American) so it would not be tampering with the NLS - and to
hinder further undiscovered side effects of the changed NLS.
How do we do change the NW/MII NLS globally?
Steps for Reconstruction
SELECT * FROM v$nls_parameters
Old MII 11.5 connections displays:
NLS_LANGUAGE AMERICAN
NLS_NUMERIC_CHARACTERS .,
etc.
Our MII 12.2 displays:
NLS_LANGUAGE DANISH
NLS_NUMERIC_CHARACTERS ,.
[work arounded to:]
NLS_NUMERIC_CHARACTERS .,
Thank you Very Much!
Mogens