[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2011
    Beiträge
    11

    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)?

  2. #2
    Registriert seit
    Nov 2003
    Beiträge
    2.403

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von meini Beitrag anzeigen
    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
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  4. #4
    Registriert seit
    Dec 2011
    Beiträge
    11
    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.

Similar Threads

  1. Euro - Datumsfelder Datfmt *eur
    By malti in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 15-05-06, 08:01
  2. Probleme mit Datumsformat in RPG
    By strickistracki in forum IBM i Hauptforum
    Antworten: 16
    Letzter Beitrag: 03-11-05, 15:18
  3. WDSc - Fehlermeldung beim Kompilieren
    By Drittaccount in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 20-10-05, 08:05
  4. Embedded SQL - Datenbankoptionen in VARPG
    By woki in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 13-04-04, 12:09
  5. DATFMT bei CREATE TABLE
    By lorenzen in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 21-03-01, 13:44

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •