Beispiel SORT VB
Aus cps4it-Wiki
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