View Full Version : DATFMT beim Kompilieren
Hallo,
ich würde gern bei der Umwandlung von RPG automatisch vorgeben, dass als Datumsformat *ISO verwendet werden soll, um eine potentielle Fehlerquelle zu vermeiden.
Der einzige Weg scheint das codieren von HDatFmt(*ISO) oder das Einbinden von selbigem über /copy.
In der Dokumentation von CRTRPGMOD findet sich ja leider kein entsprechender Parameter. :(
Gibt es da vielleicht noch einen anderen Weg (ohne den Systemwert für das Datumsformat zu ändern)?
Ja gibt es, mittels Datenbereich (http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c092508419.htm).
Hallo,
ich würde gern bei der Umwandlung von RPG automatisch vorgeben, dass als Datumsformat *ISO verwendet werden soll, um eine potentielle Fehlerquelle zu vermeiden.
Der einzige Weg scheint das codieren von HDatFmt(*ISO) oder das Einbinden von selbigem über /copy.
In der Dokumentation von CRTRPGMOD findet sich ja leider kein entsprechender Parameter. :(
Gibt es da vielleicht noch einen anderen Weg (ohne den Systemwert für das Datumsformat zu ändern)?
Sofern weder in den D- noch in den H-Bestimmungen das Datums-Format gesetzt wurde (Schlüssel-Wort DATFMT) wird automatisch *ISO verwendet.
Wenn Du allerdings Programme mit embedded SQL verwendest, wird für die Host-Variablen (bzw. die vom Precompiler erstellten zusätzlichen Variablen) die Formatangabe (unabhängig von D- oder H-Bestimmungen) nicht berücksichtigt. Das Datums-Format, das für diese Variablen verwendet wird, wird durch die Otpion DATFMT im Compile Command (CRTSQLRPGI) oder über das SQL-Statement SET OPTION gesetzt.
Was spricht gegen eine Einbindung über Copy-Strecke?
Das Schlüssel-Wort kann durch Compile-Anweisungen bedingt werden, so dass es im Bedarfsfall abgeklemmt und anderweitig gesetzt werden kann.
Wie bereits Pikachu erwähnt können die H-Bestimmungen auch in einem Datenbereich hinterlegt werden, d.h. entweder muss ein Datenbereich mit dem Namen RPGLEHSPEC (mit den H-Bestimmungen) zur Compilezeit in der Bibliotheksliste vorhanden sein oder die H-Bestimmungen müssen in dem Datenbereich DFTLEHSPEC in der Bibliothek QRPGLE hinterlegt werden.
Birgitta
Vielen Dank für die hilfreichen Antworten. Jetzt weiß ich endlich, warum bei uns nicht standardmäßig mit *ISO gewandelt wird, sondern mit *EUR. Es existiert bereits ein entsprechender Datenbereich.
Da ich die bestehenden Einstellungen nicht überschreiben will,werde ich es generell in den D-Specs zu definieren. Das ist dann wenigstens unabhängig von globalen Einstellungen, die in jedem Modul überschrieben werden könnten.