Hallo *all,
irgendwie sehe ich den Wald vor lauter Bäumen nicht mehr.
Habe mir eine LF mit Schlüssel erstellt
Code:
0010.00 * K SOID1
0010.01 * K SOID4
0010.02 * K SODNVO
In Cobol habe ich die wie folgt definiert:
Code:
51 012600 FD DAT004
52 012700 DATA RECORD IS 004-SATZ,
53 012800 LABEL RECORDS IS STANDARD.
54 012900 01 004-SATZ.
55 013000 COPY DDR-ALL-FORMATS OF DAT004.
56 +000001 05 DAT004-RECORD PIC X(73).
+000002* I-O FORMAT:DAT004SATZ FROM FILE DAT004 OF LIBRARY RPTRA
+000003* SONDERPREIS
+000004*DEFINITIONEN DER SCHLÜSSELFELDER FÜR SATZFORMAT DAT004SATZ
+000005* NUMMER NAME VERARB.FOLGE ART
+000006* 0001 SOID1 AUFSTEIGEND SIGNED
+000007* 0002 SOID4 AUFSTEIGEND SIGNED
+000008* 0003 SODNVO AUFSTEIGEND SIGNED
57 +000009 05 DAT004SATZ REDEFINES DAT004-RECORD.
Und mach dann ein (Ich benutze ein Unter-Modul für die Abfragen, und L-Satz ist aus der Linkage Section und ist auch sauber gefüllt)
Code:
364 061200 MOVE L-SATZ TO 004-SATZ.
365 061300 START DAT004 KEY
061400 NOT LESS THAN EXTERNALLY-DESCRIBED-KEY
366 061500 GO TO QUIT.
Der Datei-Status ist danach Null.
Und ein
Code:
042100 RN-004.
289 042200 READ DAT004 NEXT.
290 042300 MOVE 004-SATZ TO L-SATZ. GO TO QUIT.
Ich erhalte aber einen x-beliebigen Satz nicht aber den, den ich haben wollte.
Versteh ich jetzt einfach nicht, wo ist mein Denkfehler?
Bookmarks