-
Probleme mit e DS und nullvalue ?
Hallo,
ich habe Probleme nachdem ich in meinem Programm eine Datei als externe Datenstruktur eingefügt habe.
Situation vorher:
Datei CHTRNP ist in den F-Bestimmungen angegeben und wird mit WRITE im Programm ausgegeben.
Keine Probleme
Die Datei hat allerdings Datumsfelder mit DATFMT(*ISO) und ALWNULL
Situation nachher:
Ich füge eine externe Datenstruktur mit Name DS@CHTRNP e DS extname(CHTRNP) ein und das Programm stürzt mir beim WRITE ab wegen Dezimaldatenfehler.
Muss ich irgendwas angeben wegen der NULL-Values ?
Vielen Dank
Viele Grüße harkne
-
Hast Du Deine Datenstruktur auch initialisiert?
Wenn nicht solltest Du sie unbedingt in den D-Bestimmungen initialisieren oder bevor Du sie befüllst zumindest mit CLEAR bereinigen.
Sollte das nicht helfen, musst Du die NULL-Werte explizit mit %NULLIND(YourField) setzen.
Birgitta
-
Ich habe in den H-Bestimmungen ALWNULL(*USRCTL) angegeben. Jetzt geht es.
-
Das hat mit NULL-Values nichts zu tun, sondern tatsächlich mit nicht initialisierten Feldern der DS.
%nullind() muss vor jedem Write explizit gesetzt werden, da der Status immer auf dem letzten Wert stehen bleibt.
-
Die num. Felder sind bei einer uninitalisierten DS ebenfalls mit *BLANKS gefüllt (x'040404') daher der Dezimaldatenfehler.
clear DS@CHTRNP sollte die Probleme lösen. Aber Achtung mit den Datumsfelder, die können (wenn das PGM mit CVTOPT *DATETIME gewandelt wurde) dann auch *BLANKS sein...
-
Ein Clear initialisiert Typ-Gerecht.
Bei OPM ist ein Datumsfeld ja vom Typ CHAR, bei ILE vom Typ L.
-
Danke für alle Antworten, aber es hat in diesem Fall ausschließlich mit ALWNULL zu tun.
Das Programm lief die ganze Zeit fehlerfrei. Unsere NULL-Felder werden immer vor dem Schreiben gesetzt und auch vor dem Update. Es ist auch nie ein Fehler aufgetreten, erst als ich jetzt die externe DS eingefügt habe. Ich habe es auch mit einem clear auf die Datenstruktur zuvor probiert, aber wie ich mir bereits gedacht habe, hat das nichts geändert da wir beim Schreiben eh alle Felder einzeln initialisieren. Das Programm lief ja auch wieder als ich die e ds auskommentiert hatte. So nach dem ALWNULL läuft das Programm auch wieder richtig.
Vielen Dank für die Hilfe
-
Note: When the INZ parameter is not specified:
Static standalone fields and subfields of initialized data structures are initialized to their RPG default initial values (for example, blanks for character, 0 for numeric).
Subfields of uninitialized data structures (INZ not specified on the definition specification for the data structure) are initialized to blanks (regardless of their data type).
ILE RPG - INZ{(initial value)}
Zitat von harkne
Danke für alle Antworten, aber es hat in diesem Fall ausschließlich mit ALWNULL zu tun.
Das Programm lief die ganze Zeit fehlerfrei. Unsere NULL-Felder werden immer vor dem Schreiben gesetzt und auch vor dem Update. Es ist auch nie ein Fehler aufgetreten, erst als ich jetzt die externe DS eingefügt habe. Ich habe es auch mit einem clear auf die Datenstruktur zuvor probiert, aber wie ich mir bereits gedacht habe, hat das nichts geändert da wir beim Schreiben eh alle Felder einzeln initialisieren. Das Programm lief ja auch wieder als ich die e ds auskommentiert hatte. So nach dem ALWNULL läuft das Programm auch wieder richtig.
Vielen Dank für die Hilfe
Similar Threads
-
By Hawi in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 17-06-15, 09:40
-
By homerun in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 23-12-02, 22:26
-
By Der Gute in forum IBM i Hauptforum
Antworten: 10
Letzter Beitrag: 09-04-02, 15:36
-
By Flappes in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 30-08-01, 16:54
-
By Winni in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 30-03-01, 07:29
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks