▲もっとも一般的なCOPY
それはOPTION COPYです
EX)
//STEP1 | EXEC | SORT | |
//SORTIN | DD | DSN=INFILE,DISP=SHR | |
//SORTOUT | DD | DSN=OUTFILE,DISP=SHR | |
//SYSIN | DD | * | |
OPTION COPY |
/* | | | | |
▲SORTしないコピー
それはSORT FIELDS=COPYです
EX)
//STEP1 | EXEC | SORT | |
//SORTIN | DD | DSN=INFILE,DISP=SHR | |
//SORTOUT | DD | DSN=OUTFILE,DISP=SHR | |
//SYSIN | DD | * | |
SORT FIELDS=COPY |
/* | | | | |
※SORT FIELDS=(COPY)でも同じです。
▲VBレコードのコピー
レングス+NULL(=RDW)セットをしないとダメです
EX)
//STEP1 | EXEC | SORT | |
//SORTIN | DD | DSN=INFILE,DISP=SHR | |
//SORTOUT | DD | DSN=OUTFILE,DISP=SHR | |
//SYSIN | DD | * | |
OPTION COPY |
OUTFIL FNAMES=SORTOUT,OUTREC=(1,4,5) |
/* | | | | |
※上記は、レングス+NULL(=RDW)をセットしてから、その次から全項目をセットするの例です。
↓
じゃぁ、OUTREC=(1)はうまく行くか?
↓
いいえ、うまくいきません。U-0251でアベンドします。
▲やっちゃいけないCOPY
それはSORT FIELDSとOPTION COPYの両方の指定
EX)
//STEP1 | EXEC | SORT | |
//SORTIN | DD | DSN=INFILE,DISP=SHR | |
//SORTOUT | DD | DSN=OUTFILE,DISP=SHR | |
//SYSIN | DD | * | |
SORT FIELDS=(1,10,BI,A) |
OPTION COPY |
/* | | | | |
※これは、ただのコピーです。ソートされません。