-
Datenstruktur über die Datei legen, Renamen, DS initialisieren, füllen und diese dann In die Dateifelder schieben, oder aber eine weitere DS über die Tabelle legen und die 1- DS in die andere DS moveln...
-
@ExAzubi:
In diesem Fall streiche da eher das "Ex" aus deinem Namen;-).
Wenn die Datei durch die F-Bestimmung komplett alle Felder beinhaltet, wird sie von RPG auch automtisch komplett verarbeitet.
Hintergrund:
Die F-Bestimmung verwendet intern einen File-Control-Block (FCB), der einen Satzpuffer über die gesamte Länge enthält.
Auf diesen Satzpuffer verweist eine interne DS mit allen Feldern, die der Compiler kennt.
Solange du nur I- und O-Bestimmungen hast, sind in RPG nur die verwendeten Felder verfügbar.
Wenn du eine "E DS" erstellst (bzw. eine Compiler-Option), dann eben alle Felder dieser DS.
Beim READ/CHAIN wird aus dem Satzpuffer in die Felder übertragen, beim Update nur die verwendeten oder in ILE die angegebenen Felder.
Ist die Datei zum Anfügen geöffnet, werden beim Write wieder alle Felder verwendet. Hierbei werden keinerleid Defaults aus SQL/DDS gezogen!
Defaults der DDS sind nur für DSPF's gültig, Defaults aus SQL werden da ignoriert.
In SQL gibt es noch eine Schicht vor der DB-Schicht (also dem FCB), so dass beim Insert nicht erwähnte Felder mit ihrem Default in den Puffer geschrieben werden können bevor er in die Tabelle geschrieben wird.
-
@Fuerchau
Das tut weh ;-)
Soweit ich weiß geht das aber nur, wenn die Datei IF A oder UF A in den F-Karten definiert ist. Sobald eine Datei als O definiert ist, ist die INPUT DS nicht vorhanden und somit werden die Felder auch nicht initialisiert, wenn die Datei geöffnet wird?!?!? Aber ich kann ich auch irren...
-
Ich sagte ja I-Bestimmungen und O-Bestimmungen.
Diese werden auf Grund der F-Bestimmungen und Feldverwendungen automatisch generiert.
Daher gibts ja auch beim Append (Write) ohne Initialisierung bei späteren Reads die Laufzeitfehler über die man sich dann wundert.
Ausnahme nun Fully-Free, denn da muss ich ja mit DS'n arbeiten.
Versuche da mal eine DS zu verwenden, die nicht der Datei entspricht, da die DS mit *LIKEREC definiert werden muss sonst ist sie ja nicht verwendungsfähig.
-
Hallo,
es gibt da auch noch den EXCEPT
Aber den wollen wir natürlich nicht mehr :-)
-
Den EXCEPT kannte ich nur für intern beschriebene Dateien (PF's mit genau 1 Feld) bzw. die SPECIAL-File.
Aber da die Ausgabe ja nur auf einem Feld passiert stellt sich da das Problem ja nicht.
EXCEPT kann ja heute mit formatierbaren DS/EVAL abgelöst werden.
-
EXCEPT geht auch für extern beschriebene Dateien (PF und LF)
FDATEI UF A E K DISK
OFORMAT E Eupdate
O KEY
O FELD1
O FELD2
O FELD4
O UPDADD
OFORMAT EADD Ewrite
O KEY
O FELD3
O FELD5
O UPDADD
-
Und mal geprüft was beim Write in den anderen Feldern steht?
-
ist alles auf Standardwerten lt. Datentype
-
Eben, und nicht der in der DDS oder TABLE definierte Default.
Similar Threads
-
By derMuller in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 15-01-20, 16:02
-
By Domeus in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 23-01-19, 11:13
-
By programmer400 in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 20-07-18, 06:40
-
By alex.kretschmer in forum NEWSboard Java
Antworten: 4
Letzter Beitrag: 14-04-16, 11:05
-
By woy in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-03-15, 08:49
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