Servus,

eigentlich hast Du Recht, jedoch trat bei uns das Problem auf, wenn man Daten über CLI abgegriffen hat und eine andere Anwendung diese bekommen hat.

Hat man sich die Daten in der Eingabeaufforderung angesehen, waren sie korrekt.

Sobald eine andere Anwendung, wie z. B. Lotus Enterprise Integrator sie bekommen hat, waren die Nachkommastellen verschwunden. Wir haben das damals über die Einstellung DB2TERRITORY hinbekommen. (aber ob das ein fundierter Hinweis ist, kann ich nicht sagen, höchstens ein Versuch)

Zur Info:
Wenn die Anwendung die Daten über ODBC abgegriffen hat, waren diese Probleme nicht da...


LG
Ercan

Zitat Zitat von Fuerchau
Wenn das Problem ZONED-Felder betrifft, hat diese Einstellung damit nichts zu tun !
Territory gibt im Wesentlichen Dezimalpunkt-/-kommaeinstellungen an.
Das Zoned-Feld wird aber hier als Ganzzahl erkannt, was zu diesen Problemen führt.

Betrachte mal die Definition der Zoned-Felder.
Die Felder müssen auf dem PC eben in ein Double-Format oder Currency-Format konvertiert werden.
Double ist aber auf 16-Stellen beschränkt, Currency entweder auf 18, 28 oder manchmal auf 2 Nachkomma je nach Programmiersprache.
Um aber ohne Datenverlust zu arbeiten, werden die Felder dann häufig als Char und damit ohne Komma übergeben.

Also verwende ggf. einen Cast:

dec(myfld, nn, p) as myfld => Cast als gepackt
double(myfld) as myfld => das funktioniert immer