| //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します。
|