Beispiel SORT VB

Aus cps4it-Wiki
Zur Navigation springenZur Suche springen

Beispiel SORT VB

Eingabe ist eine Datei, die teilweise Schrottdaten enthält. Die Zeilen mit Schrottdaten sollen eliminiert werden. Besonderheit: Die Datei ist eine VB Datei. Unterscheiden kann ich es nur an einem Byte, das bei den Schrottdaten nicht mehr vorhanden ist.

Dateiauszug: Format VB - Steuerungsnummer steht ab Stelle 28

 000001   AK6 07V20O9R1JXIZJAS 00001 6095918         
 000002   AK6 07V20KVR8MRH3ZAS 00001 6095919         
 000003   AK6 23EZ0AVIHXBAEVAS 00001 3681680         
 000004   AK6 23EZ0AUQXMV247AS 00001 17082015RH1     
 000005   AK6 23EZ0AV4PS369JAS 00001 17082015RH1     
 000006   AK6 10EJ053RHS2H5BAS 00001 5Q7MRR4MEHT00001
 000007   AK6 10EJ05459XALANAS 00001 5Q7MRR4MEHT00001
 000008   AK6 10EJ053DPMUCZZAS 00001                     <<< Hier fehlt die Steuerungsnummer, der Satz soll in eine zweite Datei
 000009   AK6 10EJ0534IVCY8FAS 00001 5Q7MRR4MEHT00001
 =COLS>   ----+----1----+----2----+----3----+----4----+----5----+----6----+----7-

Versuche mit FileAid MVS Batch waren nicht erfolgreich. Das Folgende hat geklappt:

 //STEP01   EXEC BZZSORT                                          
 //SYSOUT   DD SYSOUT=*                                           
 //SORTIN   DD  DISP=SHR,DSN=<<EingabeDatei>>                   
 //AUS1     DD  DISP=(NEW,CATLG,DELETE),LRECL=255,RECFM=VB,       
 //            DSN=<<AusgabeDatei1>>,SPACE=(CYL,(1,999))        
 //AUS2     DD  DISP=(NEW,CATLG,DELETE),LRECL=255,RECFM=VB,       
 //            DSN=<<AusgabeDatei2>>,SPACE=(CYL,(1,999))
 //SYSIN DD *                                                     
   OPTION COPY                                                    
   OUTFIL INCLUDE=(32,1,CH,NE,C' '),FNAMES=AUS1
   OUTFIL SAVE,FNAMES=AUS2