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?