-
COBOL und START Anweisung
Hallo zusammen,
ich muss mich gerade mit einer AS400 auseinadersetzen und da ich schon lange keine indexsequentiellen Dateien mehr am Wickel hatte, ist das Wissen etwas eingestaubt ud braucht einen Schubs.
Ich hoffe das ich den gleich bekommen werde
Zum Problem:
Ich habe eine physische datei mit einer logischen Sicht, diese muss ich im ersten Schritt füllen.
Anschließend werden die Sätze aus der gerade gefüllten Datei weiter verarbeitet und ich muss wieder auf den ersten Satz der Datei zurück und sequentiell lesen.
Natürlich könnte ich mit schliessen und erneutem Öffnen der Datei wieder an den anfang kommen, aber ich meine das ging doch auch mit der START Anweisung.
Wenn ich das noch richtig im Kopf habe positioniert diese auf den ersten Satz der dem schlüssel entspricht oder halt wor oder danach wenn dieser schlüssel nicht vorhanden ist
Ich wollte das also so machen:
MOVE LOW-VALUE TO DATEI-KEY-FELDER
START DATEINAME
READ DATEINAME NEXT RECORD
AT END
SET DATEI-ENDE TO TRUE
Nur irgendwie habe ich nun in der Hauptschleife das Problem, dass das Dateiende gesetzt ist.
Was mach ich denn da falsch ?
Danke für eure Hilfe
Grüße
Mike
-
Also wir haben nach dem Low-Value immer
03670 START DAT0018 KEY NOT < 018-KEY
gemacht.
BTW. Hier ist die Doku von IBM (ist zwar AIX sollte aber doch gleich sein)
http://publib.boulder.ibm.com/infoce...%2Ftpfio24.htm
-
Danke dir, werde ich doch später direkt mal ausprobierern.
Der Pointer steht ja dann vor dem ersten Satz, korrekt ?
Also wird ein READ NEXT den ersten Satz der Datei lesen
Ich denke auch das die Doku auch auf anwendbar ist.
Werde berichten
Viele Grüße
Mike
-
Da in COBOL/400 der Key extern beschrieben ist, sind die Keyfelder im Satzpuffer zu füllen und anschließend ein:
start myfile key is >= EXTERNALLY-DESCRIBED-KEY
-
Aha,
vielen Dank für die erweiterten Informationen.
Mit dem Operator >= wird der Pointer auf den ersten Satz der Datei zeigen, wenn in meinen Key-Felder im Satzpuffer jeweils Low-Values stehen.
Muss ich dann den Satz, auf den der Pointer nun zeigt, mit READ Dateiname oder mit READ NEXT Dateiname lesen.
Logisch wäre für mich ein normales READ, da READ NEXT eigentlich den nachfolgenden Satz zur Verfügung stellen würde.
Ist das korrekt oder habe ich einen Denkfehler ?
Ich werde das aber mal ausprobieren, sobal ich wieder an der Machine bin.
Die START Anweisung würde ja dann auch nicht auf INVALID KEY laufen, wenn ich >= verwende. Außer in dem Fall das die Datei keine Datensätze enthält
Grüße
Mike
-
Der Start setzt genau vor dem gewünschten Schlüssel auf.
Ein "READ MyFile at end" liest den nächsten Satz, "next" ist der Default, im Gegensatz halt zu "previous".
Ein "READ myfile key is externally-described-key Invalid" ist ein Direktzugriff.
Der Invalid beim Start wird tatsächlich nur ausgelöst, wenn kein Satz folgt. Kann aber auch ignoriert werden, da der nächste Read ja auch auf "at end" kommt.
Similar Threads
-
By SL in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 02-06-03, 09:29
-
By Bosch in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 23-09-02, 16:06
-
By Cassius in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 05-03-02, 19:28
-
By Matthias.Hayn in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 27-11-01, 11:28
-
By Peter Kosel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 18-10-01, 12: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