[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.788
    Das spielt doch überhaupt keine Rolle.
    DATFMT(*EUR) dient nur für die Referenz in DSPF/PRTF und nicht für PF.
    Das DATFMT kann auch weggelassen werden, die PF wird trotzdem korrekt erstellt.

    Noch mal meine Frage:
    Wo genau ist das Problem im RPG-Programm ?
    Es kann nicht mit dem DATFMT zu tun haben !
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Mar 2009
    Beiträge
    4
    Bei der Ausführung eines bereits bestehenden RPG-Programms mit Zugriff auf die SQL-Datei bekomme ich folgende Systemnachricht:
    Nachricht . . . : Datenzuordnungsfehler in Teildatei TAB551.
    Ursache . . . . : Bei Feld TABDATVW im Satz mit Nummer 0 und Format TABNNF
    in Teildatei TAB551 mit Nummer 1 der Datei TAB551 in Bibliothek BASD_S ist
    wegen Fehlercode 17 ein Datenzuordnungsfehler aufgetreten. Fehlercodes und
    ihre Bedeutung:

    17 - Format der Daten in einem Datums-, Zeit- oder Zeitmarkenfeld ist ungültig.

    Vielleicht drücke ich mich nicht richtig aus...sorry!

    Tinabsd

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.788
    Ich nehme mal an, dies passiert beim Schreiben (beim Lesen kann der Fehler eigentlich nicht kommen) und deutet auf eine fehlerhafte Initialisierung des Feldes hin.
    Ich würde da mal einen Dump machen und den Inhalt prüfen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.389
    Mit dem huddel (für den du nix kannst, sondern die Entwickler des RPG Compilers verantwortlich sind) ist das so, wie mit null oder 0 und dem multiplizieren. Sobald an einer Operation null beteiligt ist, kommt null raus und sobald an einer Operation huddel beteiligt ist, kommt huddel raus.
    Das DATFMT bei Feldern (kann man sich mit DSPFFD ansehen) ist eben nur fast Banane, sondern wird bei externen Datenstrukturen mitgenommen auf die entsprechenden Felder, was bis hierhin noch nix macht. Wird jetzt so ein Feld mit einer nicht typsicheren Operation angefasst, (Übergabe als Parameter by reference, Überlagerung per Overlay, Zuweisung einer Datenstruktur an eine andere, Substring Operationen) dann kann man zwei Datumsfelder aufeinander knebeln, die nicht aufeinander passen, was dann bei der nächsten typsicheren Operation (zum Beispiel schreiben in die Datenbank) schief geht.
    PTF: not available
    Work arounds:
    - you must not use huddle features of the Compiler
    (overlay, call by reference, eval appleDS = pearDS etc.)
    - alles *ISO machen (auch per View Layer!)

    D*B


    Zitat Zitat von Tinabsd Beitrag anzeigen
    Bei der Ausführung eines bereits bestehenden RPG-Programms mit Zugriff auf die SQL-Datei bekomme ich folgende Systemnachricht:
    Nachricht . . . : Datenzuordnungsfehler in Teildatei TAB551.
    Ursache . . . . : Bei Feld TABDATVW im Satz mit Nummer 0 und Format TABNNF
    in Teildatei TAB551 mit Nummer 1 der Datei TAB551 in Bibliothek BASD_S ist
    wegen Fehlercode 17 ein Datenzuordnungsfehler aufgetreten. Fehlercodes und
    ihre Bedeutung:

    17 - Format der Daten in einem Datums-, Zeit- oder Zeitmarkenfeld ist ungültig.

    Vielleicht drücke ich mich nicht richtig aus...sorry!

    Tinabsd
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.788
    Datumsfelder in RPG (nicht ILE) werden ja als Zeichenfelder (10) dargestellt. In diesem Fall ist das Datumformat natürlich wichtig, da der Compiler intern den Feldwert anpassen muss.

    Im ILE-RPG gibts deshalb den Typ "D" und nicht als Zeichen, dann funktioniert das mit dem DATE ohne Probleme, egal was für ein DATFMT du hast.

    Mein Vermutung geht eben dahin, dass du das Datum-Feld nicht als D definiert hast, und deshalb bei der SQL-Tabelle das Problem bekommst.

    Auf neue SQL-Tabellen kannst du ggf. keine alten RPG's loslassen.

    Alternative:
    Erstelle die Tabelle per DDS wie gewohnt damit die alten Programme damit zurechtkommen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.389
    @Baldur: schau dir mal die Umwandlungsliste an, was die bei einer externen Datenstruktur so macht...
    Zitat Zitat von Fuerchau Beitrag anzeigen

    Im ILE-RPG gibts deshalb den Typ "D" und nicht als Zeichen, dann funktioniert das mit dem DATE ohne Probleme, egal was für ein DATFMT du hast.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Antworten: 11
    Letzter Beitrag: 18-07-16, 10:49
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 15:53
  3. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 15:11
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 10:43
  5. SQL Date im Datumsformat *EUR erstellen
    By N.Welp in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 03-11-05, 15:50

Berechtigungen

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