Vielen Dank für die vielen und ausführlichen Antworten. Sowie ich es verstehe, habe ich ein Problem und es gibt keine einfache und schöne Lösung. Ich weiß, dass Dieter Bender die Lösung mit den Views favorisiert. Aber so richtig kann ich mich noch nicht damit anfreunden. Aber ich verspreche, darüber nachzudenken und das mit meinen Kollegen zu diskutieren!

Nochmal zu Baldurs erster Antwort, in der er schreibt, dass es kein Problem gäbe, da ja sowieso jedes Programm umgewandelt werden müsse: Zum einen sehe ich es wie Birgitta. Eigentlich müsste man gar nicht neu kompilieren. Zum anderen hätte ich leider immer noch ein Problem, selbst wenn ich alles umwandle: Wir übergeben das Datumfeld per Parameter (und zwar per Referenz) an ein weiteres Tool. Das Tool empfängt nicht die gesamte Datenstruktur, sondern nur ein Datumsfeld. (Das Tool weiß gar nicht, dass das Datumsfeld aus einer Datenstruktur stammt). Und dabei knallt es, da das Tool einen Eingangsparameter von Typ *EUR erwartet.

Meine Tests haben ergeben, dass nur diese per Referenz empfangenen Parameter ein Problem machen. Wenn ich einen Parameter per CONST empfange, wird scheinbar eine Konvertierung des Datums durchgeführt.

Und zu Birgitta (schön, mal wieder etwas von dir zu lesen): Wir haben explizite H-Bestimmung nur in Serviceprogrammen. Dort steht *EUR drin. Unabhängig von den H-Bestimmungen haben wir alle Datumsfelder aber auch nochmal bei den dcl-Anweisungen mit datfmt(*eur) deklariert (klar ist das unnötig, aber von 25 Jahren haben wir uns wahrscheinlich gedacht "Doppelt hält besser").

Dieter