10.1.2 オペランドの意味
オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。
- 〈この項の構成〉
(1) 集約オプション
集約処理で使用する機能上のオプションを指定します。集約オプションのパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
/i |
出力ファイルと同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。 |
/v |
EBCDIKコードの体系に従ってキーを比較する。 |
/b※1 |
集約項目が数値項目の場合,big endian※2の数値として扱う。 |
/h |
集約項目が2進数の場合,10進数の桁数でオーバーフロー判定をする。 |
/if |
集約項目に内部10進数を指定した場合,演算符号が(F)16(絶対値)である項目の集約結果を同じ演算符号(絶対値)にする。 このパラメタを指定しない場合,集約した結果の演算符号は(C)16(正)になる。 |
複数のオプションを指定する場合は,次に示すどれかの方法で指定します。
-
「/b△/i」のように分けて指定します。
-
「/bi」のようにつなげて指定します。
-
「/if」をほかのオプションとつなげて指定する場合は,「/ifiv」のように「/if」を必ず先頭に指定します。
(凡例) △:スペース(空白)を示します。
また,この指定は省略できます。省略した場合は,次のようになります。
-
「/i」の指定を省略した場合,出力ファイル名と同じ名前のファイルがすでにあると,そのファイルの内容が書き換えられます。
-
「/v」の指定を省略した場合,JIS8単位コードの体系に従ってキーが比較されます。
-
「/if」の指定を省略した場合,演算符号が(F)16(絶対値)の集約項目を集約した結果の演算符号は(C)16(正)となります。
なお,集約オプションを指定する場合は,次の点に注意してください。
-
キー属性に「/j」を指定していない場合は,「/v」を指定しても無効になります。
-
「/if」を指定し,かつ演算符号に(C)16(正)と(F)16(絶対値)が混在している場合は,集約した結果の演算符号は保証しません。
「/h」の指定による,集約結果の範囲の違いを次の表に示します。
「/h」の指定は,集約項目が2進項目「/n」,「/m」の場合だけ有効となります。集約結果がこの範囲を超えると,オーバーフローとなります。
- 集約結果がオーバーフローした場合
-
集約結果がオーバーフローした場合は,それまで集約した結果を出力したあと,処理中のレコードから新規に集約します。
集約結果がオーバーフローした場合の例を次の図に示します。
図10‒2 集約結果がオーバーフローした場合の例
(2) /g入力ファイルのファイル編成
入力ファイルのファイル編成を「/g+オペランド」の形式で指定します。
また,この指定は,省略できません。入力ファイルのファイル編成のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
s |
固定長順編成ファイルを指定する。 |
v |
可変長順編成ファイルを指定する。 |
r |
固定長相対ファイルを指定する。 |
w |
可変長相対ファイルを指定する。 |
a |
テキストファイルを指定する。 |
(3) 出力ファイルのファイル編成
出力ファイルのファイル編成のオペランドを,コロンで区切って指定します。出力ファイルのレコードの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしてください。
この指定は省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。
出力ファイルのファイル編成のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
s |
固定長順編成ファイルを指定する。 |
v |
可変長順編成ファイルを指定する。 |
r |
固定長相対ファイルを指定する。 |
w |
可変長相対ファイルを指定する。 |
a |
テキストファイルを指定する。 |
(4) /lレコード長
入力ファイルのファイル編成ごとのレコード長の指定方法を次の表に示します。
入力ファイル編成 |
レコード長の指定方法 |
---|---|
固定長順編成ファイル |
ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。 |
可変長順編成ファイル |
指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,535バイトです。 |
固定長相対ファイル |
|
可変長相対ファイル |
|
テキストファイル |
ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。 省略できます。省略した場合「65,535」バイトが設定されます。 レコード長を指定した方がソート時間が短くなります。 |
(5) /o出力ファイル名
集約結果の出力先ファイルをファイル名で指定します。
この指定は,省略できます。指定を省略した場合は,集約結果を標準出力ファイルに出力します。
(6) キー属性
集約キーのキー属性を指定します。キー属性のパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
/c |
キーが文字であることを指定する。 |
/j |
キーが文字(JIS8単位コード※)であることを指定する。 |
/n |
キーが符号付き固定小数点2進数であることを指定する。 |
/m |
キーが符号なし2進数であることを指定する。 |
/p |
キーが内部10進数であることを指定する。 |
/z |
キーが外部10進数であることを指定する。 |
/x |
キーが左符号付き外部10進数であることを指定する。 |
/s |
キーが右分離符号付き外部10進数であることを指定する。 |
/t |
キーが左分離符号付き外部10進数であることを指定する。 |
/f |
キーが内部浮動小数点であることを指定する。 |
/e |
キーが日付(英数字)であることを指定する。 |
(7) +キー位置-キー長
キーの開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。
また,キーのバイト長を「1〜4,096」の範囲で指定します。
この指定は,省略できません。
(8) /a
無条件レコード抽出機能を使用する場合は,「/a」だけを指定します。また,集約項目は,集約項目の属性と「+項目位置-項目長」で指定します。
(a) 集約項目の属性
集約項目の属性を指定します。集約項目の属性のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
n |
集約項目が符号付き固定小数点2進数であることを指定する。 |
m |
集約項目が符号なし2進数であることを指定する。 |
p |
集約項目が内部10進数であることを指定する。 |
z |
集約項目が外部10進数であることを指定する。 |
x |
集約項目が左符号付き外部10進数であることを指定する。 |
s |
集約項目が右分離符号付き外部10進数であることを指定する。 |
t |
集約項目が左分離符号付き外部10進数であることを指定する。 |
(b) +項目位置-項目長
集約項目の開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。
また,集約項目のバイト長を「1〜19」の範囲で指定します。
この指定は,省略できません。
集約項目を複数指定する場合は,集約項目の属性と「+項目位置-項目長」をひとまとめにして指定してください。
(9) 入力ファイル名
集約機能の入力ファイルを指定します。出力ファイルの指定と同じファイルの指定はできません。
入力ファイルが順ファイルまたは相対ファイルの場合,この指定は,省略できます。省略した場合は,入力ファイルに標準入力ファイルが設定されます。