「JUNKわらしべさん」
http://koogushi.hp.infoseek.co.jp/
のところにあったDFSORTサンプルです。
infoseek「iswebライト」は2010年10月31日をもってサービス提供を終了いたしました。
ため。
残させていただきます。
ここのブログ主が、一部編集しております。
72カラム目の「-」は、いらないか「C」だったかも。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 以下その内容 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
SORT SAMPLE
OUTREC,SUM,INCLIDE,OMIT,OUTFIL,件数制限の例です。
以外と知らない使い方があります、全部知ってました?
//*------------- OUTREC NO.1
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(082,01,CH,A,004,06,CH,A,016,07,CH,A, -
034,06,CH,A),WORK=4
INCLUDE COND=(082,01,CH,EQ,C'J',OR, -
082,01,CH,EQ,C'Z',OR, -
082,01,CH,EQ,C'E',OR, -
082,01,CH,EQ,C'W')
OUTREC FIELDS=(082,01,004,06,016,07,034,06,082,01,09X)
RECORD TYPE=F,LENGTH=300
END
/*
//*------------- OUTREC NO.2 (9ケタSPACE + 28-7ケタ +30ケタSPACE )
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(028,07,CH,A)
OUTREC FIELDS=(9X,028,07,30X)
SUM FIELDS=NONE
/*
//*------------- OUTREC NO.3 (COMP-3 コウモク ヲ ツイカ スル
//*--------------------------(1カラ 108 ソノママ, ソノウシロニ HEXデータ )
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=COPY
OUTREC FIELDS=(1,108,X'00000000000C')
END
/*
//*------------- SUM NO.1(シュウヤクコウモク ガ 9タイプ)
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(002,04,CH,A,007,12,CH,A,001,01,CH,A,052,10,CH,A, -
045,07,CH,A,313,07,CH,A,345,25,CH,A),WORK=5
SUM FIELDS=(439,3,ZD)
RECORD TYPE=F,LENGTH=500
/*
//*------------- SUM NO.2(シュウヤクコウモク ガ COMP-3タイプ)
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(01,08,A,37,10,A,17,20,A),
FORMAT=CH,WORK=1
SUM FIELDS=(080,3,
087,3,
094,3,
101,3,
108,3,
115,3,
122,3,
129,3,
136,3,
143,3,
150,3,
157,3,
164,3,
171,3,
178,3,
185,3,
192,3,
199,3,
521,3,
528,3,
535,3,
542,3,
549,3,
556,3,
563,3,
570,3,
573,3,
576,3),FORMAT=PD
RECORD TYPE=F,LENGTH=600
END
/*
//*------------- SUM NO.3(シュウヤクコウモク ナシ ,ダブリヲ トリノゾク)
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(028,07,CH,A)
SUM FIELDS=NONE
/*
//*------------- SUM NO.4(SUMコウモク ノ OVER-FLOW ケンシュツ)
//* (ケンシュツジ RC=16 トスル )
//* (RC=4 トスルト ケンシュツジ RC=4 トナル)
//* (キジュツ シナイ マタハ RC=0 トスルト
//* ケンシュツジ RC=0 トナル)
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
OPTION OVFLO=RC16
SORT FIELDS=(001,05,CH,A)
SUM FIELDS=(6,2,PD)
/*
//*------------- OUTFIL NO.1(SORT ヲ シツツ,
//* アル ジョウケンニテ DDメイ OUT01 ト OUT02ニ シュツリョク)
//S0010 EXEC PROC=SORTGO
//*
//SORTIN DD DSN=TSGUSI.WORK.FILE2G,DISP=SHR
//*
//OUT01 DD DSN=TSGUSI.WORK.FILE5,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,VOL=SER=TSTWK@@,
// DISP=(NEW,CATLG,DELETE),SPACE=(TRK,(5000,1000),RLSE),
// DCB=(RECFM=FB,LRECL=01200,BLKSIZE=0)
//*
//OUT02 DD DSN=TSGUSI.WORK.FILE6,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,VOL=SER=TSWK@@,SPACE=(TRK,(5000,1000),RLSE),
// DCB=(RECFM=FB,LRECL=01200,BLKSIZE=0)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=(1,3,CH,A)
OUTFIL INCLUDE=(1,3,CH,EQ,C'001'),FNAMES=OUT01
OUTFIL INCLUDE=(1,3,CH,EQ,C'804'),FNAMES=OUT02
END
/*
//*------------- OUTFIL NO.2(nケンメ カラ mケンメ マデヲ チュウシュツ)
(STARTREC/END ハ タンドク デモ OK)
//S0020 EXEC PROC=SORTGO
//*
//SORTIN DD DSN=TSGUSI.WORK.FILE0,DISP=SHR
//*
//OUT01 DD DSN=TSGUSI.WORK.FILE2,DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(03000,01000),RLSE),
// DCB=(RECFM=FB,LRECL=01100,BLKSIZE=0)
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FNAMES=OUT01,STARTREC=100,ENDREC=103
END
/*
//*------------- XX
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(023,03,A, -
141,04,A, -
010,06,A, -
026,10,A, -
004,06,A, -
133,08,A),WORK=2,FORMAT=CH
RECORD TYPE=F,LENGTH=150
END
/*
//*------------- INCLUDE NO.1
//SYSIN DD *
INCLUDE COND=(19,6,CH,EQ,C'050110')
SORT FIELDS=(19,6,A,221,10,A,211,10,A),WORK=3,FORMAT=CH
RECORD TYPE=F,LENGTH=350
END
/*
//*----------- INCLUDE NO.2( GREATER THAN / LESS THAN )
//*4+----1----+----2----+----3----+----4----+----5----+----6----+----7--
//SYSIN DD *
SORT FIELDS=(125,25,CH,A,106,10,CH,A),WORK=4 -
INCLUDE COND=(1,1,CH,EQ,C'C',AND, -
106,1,CH,GE,C'A',AND, -
106,1,CH,LE,C'N')
RECORD TYPE=F,LENGTH=250
END
/*
//*------------- OMIT NO.1
//SYSIN DD *
SORT FIELDS=(228,1,A,231,6,A,211,10,A),WORK=2,FORMAT=CH
OMIT COND=(19,6,CH,EQ,C'050110')
RECORD TYPE=F,LENGTH=350
END
/*
//*------------- OMIT NO.2(19ケタ カラ 6ケタ ノ COMP-3 ノ アタイ=240 ハ ノゾク)
//SYSIN DD *
OMIT COND=(19,6,PD,EQ,240)
END
/*
//*------------- セントウ10ケン ノミ シュツリョク
//SYSIN DD *
SORT FIELDS=COPY,STOPAFT=10
END
/*
//*------------- セントウ20ケン ヲ トバス
//SYSIN DD *
SORT FIELDS=COPY,SKIPREC=20
END
/*