//SORT2 | EXEC | SORT | | |
//SORTIN | DD | * | | |
AAAAAAAAAABBBBBBBBBB |
/* | | | | |
//SORTOUT | DD | DSN=OUTFILE,DISP=(,KEEP),… | | |
//SYSIN | DD | * | | |
| OPTION COPY,VLSHRT |
| OUTFIL FNAMES=SORTOUT, |
| INCLUDE=(1,2,CH,EQ,C'01'), |
| OUTREC=(21,20,C'@',3,3,PD,EDIT=(TTT),LENGTH=3,C'@',1,2, |
| 6,5,PD,EDIT=(TTTTTTT),LENGTH=7,C' 19890501 19981030',60:10,11,80:X) |
/* | | ↑ |
|
このサンプルは、
INPUTの21~40バイトをOUTPUTの1~20バイトへ、
'@'をOUTPUTの21バイト目へ、
INPUTの3~5バイトのPackの下3桁をキャラクターに編集してをOUTPUTの22~25バイトへ、
'@'をOUTPUTの26バイト目へ、
INPUTの1~2バイトをOUTPUTの26~27バイトへ、
INPUTの6~10バイトのPackの下7桁をキャラクターに編集してをOUTPUTの28~34バイトへ、
' 19890501 19981030'をOUTPUTの35~53バイト目へ、
INPUTの10~20バイトをOUTPUTの60~71バイトへ、
上記以外はスペース
をセットするロジックです。
※VLSHRTは比較するポジションがセグメント長を越える場合、そのセグメントを無視する指定。
OUTFILオプションで有効。通常のINCLUDE CONDステートメントでは指定より短いレコードがある場合ABENDします。
|