old physical Server was a Windows Server 2013 R2
new physical Server is a Windows Server 2019 Standard
Die Region and Language Settings are the same, all Set on "German" where the comma is the decimal separator.
Looks like the mapping (which is using a "." as a decimal separator instead of 0,00 in a column) is through WebService reader/writer.
This issue occurs when there is a limitation while creating WebService definition.
To resolve this issue, you can try the following:
1. Export the WSDL and edit it changing datatype. In the PowerCenter Web Service Hub > Valid WebService > WS_Name > WSDL > Right-click it > Save as > Save it as <file_name>.wsdl
2. Edit the file and change datatype :
Use the REPLACECHR function to replace the comma with a dot before the TO_DECIMAL conversion:
When reading from a flat file, define the input port as a number and set the comma as decimal separator.
3. Open PowerCenter Designer > Sources > WebService Provider > Import from WSDL.
4. Validate mapping and run it again.
thanks for your answer, but we dont use the WebService Provider.
We have a Mapping which reads Data from an XML-Source, transform and then write it to an DB2 Target.
In Between, there is no WebService.
The Problem still exists
First numbers in XML always bear the dot "." as the decimal delimiter. That's by XML design. Everything else is either "dirty" XML or some other data type than a numeric data type. So writing a 0.00 instead of a 0,00 to a XML target is actually nothing but conformant to XML standards.
Second (I know this sounds stupid) could you please check whether the source XML file contains a "0,00" or a "0.00" at the place mentioned? If the XML file contains a "0,00" (comma) instead of a "0.00" (dot) AND the data type for this element is some numeric data type, this would explain (to me) why the XML reader refuses to read this number as a number.
Don't ask me why it has worked in the previous software version, I'm by no means a XML specialist.
it seems the problem is in the source of these XML files. I think you only need to change the format of the numbers from 0.00 to 0,00 in these files because the decimal separator is not read properly.
I assume this decimal separator changed when you migrated the XML files from the old server to the new one.
Please, could you double check and confirm this?