やっとメモを見つけたので、残りを書いちゃいます。
最後はソートを中心に解説していきます。
SORTユーティリティ
//SORT01 EXEC SORT, SPACE=50
//SYSIN DD *
ソート条件
/*
・SPACE
省略可能。
データセットに割り振る容量を超えそうなときに指定するパラメータ。
処理の初めに、指定されたシリンダ数分データセットの領域に割り振る。
・ソート条件
・SORT FIELDS=COPY
データセットをそのままコピーする。
・SORT FIELDS=(バイト位置1、バイト位置2、条件、順序、・・・)
条件に従って並び替える
[例] SORT FIELDS=(1, 4, CH, A, 20, 7, CH, A)
1バイト目から4バイト分を「第一のKEY」でソート
20バイト目から7バイト分を「第二のKEY」でソート
・KEY条件(文字種)
CH : 文字
ZD : ゾーン十進数
PD : パック十進数
BI : バイナリデータ
・KEY条件(ソート順序)
A : 昇順
D : 降順
・INCLUDE=(バイト位置1、バイト位置2、条件、比較、値、[AND/OR]、・・・)
条件に合うレコードを抽出する。
[例] INCLUDE COND=(1, 4, CH, EQ, C'9876', OR, 7, 3, CH, EQ, C'123')
1バイト目から4バイト分が、文字列の"9876"と等しい
もしくは
7バイト目から3バイト分が、文字列の"123"と等しい
・OMIT COND=(・・・)
条件に合うレコードを削る
・SUM FIELDS=(・・・)
指定した条件に合うレコードを集計する。
・NONE指定
同一のデータが複数存在する場合、サプレス(1件に集約)する。
・EQUALS指定
条件で指定した項目以外の属性は、通常どのレコードのものかは不明。
EQUALS指定すると、一番最初のレコードの属性が付与される。
・コンカチ(連結)
//SORTIN DD DSN=GA.GAT001P,DISP=SHR
// DD DSN=GA.GAT002P,DISP=SHR
ここで指定するデータセットは同じレイアウトであること。
そうしないと後続のプログラムでABENDします。
ソート条件の対象がバイト数で指定されるので、まぁ分かりますね。
・ディスクやテープ使用時
//INPUT DD DSN=hogehoge, DISP=SHR, UNIT=SYSDA, VOL=SER=VOL001
DISP,TAPEは「DSN=・・・」で、特別扱いでデータセット名を指定可能。
データセット名という概念をもつ装置は、必ずボリューム名を必要とし、
明示的に書くときは「VOL=SER=」に続いて指定する。
ということで、一通りのメモ分を消化しましたので、
JCLの解説はここで区切ります。
フー・・。では、次回からはマクロを中心に進めていきます。



