ソートマージ

[目次][用語][索引][前へ][次へ]

8.1.2 オペランドの意味

オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。

<この項の構成>
(1) マージオプション
(2) /g入力ファイルのファイル編成
(3) 出力ファイルのファイル編成
(4) /lレコード長
(5) /o出力ファイル名
(6) キー属性
(7) +キー位置-キー長
(8) 入力ファイル名

(1) マージオプション

マージ処理で使用する機能上のオプションを指定します。マージオプションのパラメタを次の表に示します。

表8-1 マージオプションのパラメタ

パラメタ 意味
/k マージするファイルが昇順または降順にソートされていない場合に,強制的にマージすることを指定する(強制マージ)。
/i 出力ファイル名と同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。
/v EBCDIKコードの体系に従ってキーを比較する。
/b※1 マージキーが数値項目の場合,big endian※2の数値として扱う。

注※1
マージキーが2進項目「/n」「/m」,または内部浮動小数点項目「/f」の場合だけ有効となる。

注※2
big endianとは,上位バイトを下位番地とする数値のことです。
/bパラメタを指定しなかった場合は,little endian(上位バイトを上位番地とする数値)として扱います。

複数のオプションを指定する場合は,次に示すどちらかの方法で指定します。

また,この指定は省略できます。省略した場合は,次のようになります。

なお,キー属性に「/j」を指定していない場合は,「/v」を指定しても無効になります。

(2) /g入力ファイルのファイル編成

入力ファイルのファイル編成を「/g+オペランド」の形で指定します。複数の入力ファイルを指定する場合は,すべて同じファイル編成にしてください。

また,この指定は省略できません。入力ファイルのファイル編成のオペランドを次の表に示します。

表8-2 入力ファイルのファイル編成のオペランド(マージ機能)

オペランド 意味
s 固定長順編成ファイルを指定する。
v 可変長順編成ファイルを指定する。
r 固定長相対ファイルを指定する。
w 可変長相対ファイルを指定する。
a テキストファイルを指定する。

(3) 出力ファイルのファイル編成

出力ファイルのファイル編成のオペランドを,コロンで区切って指定します。出力ファイルのファイルの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしてください。

この指定は省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。出力ファイルのファイル編成のオペランドを次の表に示します。

表8-3 出力ファイルのファイル編成のオペランド(マージ機能)

オペランド 意味
s 固定長順編成ファイルを指定する。
v 可変長順編成ファイルを指定する。
r 固定長相対ファイルを指定する。
w 可変長相対ファイルを指定する。
a テキストファイルを指定する。

(4) /lレコード長

入力ファイル編成ごとのレコード長の指定方法を次の表に示します。

表8-4 入力ファイル編成ごとのレコード長の指定方法(マージ機能)

入力ファイル編成 レコード長の指定方法
固定長順編成ファイル ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。
可変長順編成ファイル 指定は不要です。指定しても無視されます。
ただし,入力できるレコード長の範囲は,1〜65,535バイトです。
固定長相対ファイル
可変長相対ファイル
テキストファイル ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。
省略できます。省略した場合「65,535」バイトが設定されます。

(5) /o出力ファイル名

マージ結果の出力先ファイルをファイル名で指定します。出力先ファイルは,入力ファイルとは異なるファイルである必要があります。

この指定は,省略できます。指定を省略した場合は,マージ結果を標準出力ファイルに出力します。

(6) キー属性

マージキーのキー属性を指定します。キー属性のパラメタを次の表に示します。

表8-5 キー属性のパラメタ(マージ機能)

パラメタ 意味
/r キーの降順でマージすることを指定する。
/j キーが文字(JIS8単位コード)であることを指定する。
/c キーが文字であることを指定する。
/n キーが符号付き固定小数点2進数であることを指定する。
/m キーが符号なし2進数であることを指定する。
/p キーが内部10進数であることを指定する。
/z キーが外部10進数であることを指定する。
/x キーが左符号付き外部10進数であることを指定する。
/s キーが右分離符号付き外部10進数であることを指定する。
/t キーが左分離符号付き外部10進数であることを指定する。
/f キーが内部浮動小数点であることを指定する。
/e キーが日付(英数字)であることを指定する。

注※
ASCIIコード(0x00〜0x7F)を含む,JIS8単位コード(0x00〜0xFF)を意味します。入力データに日本語などのマルチバイト文字が含まれている場合,マルチバイト文字として扱わず,シングルバイト文字として扱います。EBCDIKコードの体系に従ってキー・項目を比較する「-vオプション(Windowsは/vオプション)」を使用できます。

「/r」を指定しないときは,キーの昇順でマージされます。また,マージキーにするデータの属性を,「/j,/c,/n,/m,/p,/z,/x,/s,/t,/f」のパラメタのどれかで必ず指定してください。降順でマージする場合は,「/rc」のようにつなげて指定します。なお,マージオプションに「/v」を指定した場合,キーの属性を必ず「/j」で指定してください。

(7) +キー位置-キー長

キーの開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。

また,キーのバイト長を「1〜4,096」から指定します。

この指定は,省略できません。必ず,指定してください。

マージキーの指定範囲
マージキーは,次に示す範囲で指定してください。
  • 入力ファイルが固定長ファイルのとき,キーは,レコード長の範囲
  • 入力ファイルが可変長ファイルおよびテキストファイルのとき,キーは,最小レコード長の範囲

(8) 入力ファイル名

マージの入力ファイルを指定します。同じファイルを2個以上指定できません。2個以上指定するときは,それぞれは互いに異なっていなければなりません。

この指定は,省略できます。指定を省略した場合は,入力ファイルに標準入力ファイルが設定されます。