View Full Version : Ile-RPG: Datei 2 x verwenden
Hallo *all,
ich möchte eine Auftragspositionsdatei verarbeiten und bei Verarbeitung bzw. Update eines Pos.-Satzes zunächst den nachfolgenden Satz auf einen bestimmten Feldinhalt prüfen, bevor eine Fortschreibung erfolgt. Meine Idee war: Datei 2x definieren und ein "READE" auf die Zweitdatei machen. Aber RPG lässt doch keine doppelten Dateinamen in den "F"-Bestimmungen zu oder?
Nimm doch ne zusätzliche logische Datei.
Noch ein Vorschlag wäre embedded SQL... sprich SQLRPGLE ...
MfG
Christian
Dein Problem läßt sich auch mit einer Datei lösen.
Definiere die Dateifelder noch mal als Mehrfachvorkommen in einer DS:
D MyFileDS E DS OCCURS(2) Extname(MyFile)
occurs 2;
reade (Key) MyFile;
// Prüfungen
occurs 1;
readpe (Key) MyFile;
// Verarbeitung
update MyFile;
Hallo,
mit dem Schlüssel-Wort EXTFILE ist es möglich die gleiche Datei mehrfach zu definieren.
Vor Release 6.1 muss allerdings die Datei, die an Stelle 7 angegeben wurde zur Compilezeit vorhanden sein.
Ab Release 6.1 kann man mit dem Schlüssel-Wort EXTDESC(File) angeben, welche Datei zur Compile-Zeit verwendet werden soll. Im Schlüssel-Wort EXTFILE kann der Sonderwert *EXTDESC angegeben werden, der besagt, dass die Datei, die zur Compile-Zeit verwendet wurde auch zur Laufzeit verwendet werden soll. Damit ist eine Dummy-Datei zur Compilezeit nicht mehr erforderlich.
Vor 6.1
FMyFile1 IF E K Disk
FMyFile2 if e Disk
F ExtFile('MYFILE1')
Ab 6.1
FMyFile1 IF E K Disk
FMyFile2 if e Disk
F ExtDesc('MYFILE1')
F ExtFile(*ExtDesc)
Birgitta
Donnerwetter, was Ile-RPG so alles kann.. System verstanden, ich werds probieren. Danke
Trotzdem solltest du bedenken, dass die Felder beider Dateien ja identische benamt sind und das Lesen der 2. Datei die Felder der 1. Datei überschreibt!
Entweder du verwendest dann Prefix für die Feldnamen oder arbeitest mit qualified Strukturen.
Trotzdem solltest du bedenken, dass die Felder beider Dateien ja identische benamt sind und das Lesen der 2. Datei die Felder der 1. Datei überschreibt!
Entweder du verwendest dann Prefix für die Feldnamen oder arbeitest mit qualified Strukturen.
Dann definiert man sich halt Externe Qualifizierte Datenstruktur(en) (zumindest 1) entweder mit EXTNAME oder mit LIKEREC und liest den Datensatz beim Chain oder Read direkt in die Datenstruktur.
Das direkte Einlesen in Datenstrukturen geht bereits ab Release V5R2. Qualifizierte Datenstrukturen kann man ebenfalls bereits mit Release V5R2 mit LIKEREC erstellen. Das Definieren von Qualifizierten Externen Datenstrukturen mit EXTNAME und direktes Einlesen in diese Datenstrukturen wird erst ab Release V5R3 unterstützt.
Birgitta
Hi,
mit V6 können m. W. Dateien in Prozeduren definiert werden. Auch so kann eine Datei in einem PGM mehrfach verwendet werden.