ソートマージ


7.2.4 使用例

ソートコマンドの使用例を示します。

〈この項の構成〉

(1) 文字項目でソートする例

文字項目のキーを使ってソートする例を示します。

(a) 条件

ソートの条件は,次のとおりです。

  • 32ビット版SORTを使用する

  • キーの比較はJIS8単位コードの体系に従う

  • 入力ファイルおよび出力ファイルは,可変長順ファイル

  • ソート結果の出力ファイル名は「OUTFILE」

  • ソートは昇順,キーの属性は文字項目(文字)

  • キーの開始バイト位置は「0」バイト目,バイト長は「5」バイト

  • ソートするファイルのファイル名は「INFILE」

(b) 入力するコマンド

入力するソートコマンドを次の図に示します。

図7‒6 入力するソートコマンド(その1)

[図データ]

(c) コマンドの指定内容

ソートコマンドの指定内容を次の表に示します。

表7‒19 ソートコマンドの指定内容(その1)

入力項目

指定内容

rsort

ソート処理のコマンド名「rsort」を指定する。

-V

入力ファイルを「可変長順ファイル」で指定する。

-oOUTFILE

ソート結果の出力ファイル名「OUTFILE」を指定する。

-c

キーの整列順序を「昇順」,属性を文字項目の「文字」で指定する。

+0-5

キーの開始バイト位置を「0」バイト目,バイト長を「5」バイトで指定する。

INFILE

ソートするファイルのファイル名「INFILE」を指定する。

注1

キーの比較はJIS8単位コード体系に従うので,指定を省略します。

注2

出力ファイルのファイル編成は,入力ファイルと同じなので,指定を省略します。

(2) 2種類の数字項目でソートする例

2種類の数字項目をそれぞれ第1キーおよび第2キーにして,ソートする例を示します。

(a) 条件

ソートの条件は次のとおりです。

  • 32ビット版SORTを使用する

  • 重複レコードの順序は,入力順

  • 入力ファイルおよび出力ファイルは,固定長順ファイル

  • 入力ファイルおよび出力ファイルのレコード長は,128バイト

  • ソート結果の出力ファイル名は,「OUTFILE」

  • ワークバッファのメモリサイズは,5,000KB

  • ソート用一時ファイルを割り当てるディレクトリは,カレントディレクトリ下の「st185」

  • 第1キーでのソートは降順,キーの属性は数字項目(外部10進数)

  • 第1キーの開始バイト位置は「0」バイト目,バイト長は「5」バイト

  • 第2キーでのソートは昇順,キーの属性は数字項目(符号付き固定小数点2進数)

  • 第2キーの開始バイト位置は「6」バイト目,バイト長は「8」バイト

  • ソートするファイルのファイル名は「INFILE1」,「INFILE2」,および「INFILE3」

(b) 入力するコマンド

入力するソートコマンドを次の図に示します。

図7‒7 入力するソートコマンド(その2)

[図データ]

(c) コマンドの指定内容

ソートコマンドの指定内容を次の表に示します。

表7‒20 ソートコマンドの指定内容(その2)

入力項目

指定内容

rsort

ソート処理のコマンド名「rsort」を指定する。

-d

重複レコードの順序は「入力順」と指定する。

-S

入力ファイルを「固定長順ファイル」で指定する。

-L128

入力ファイルおよび出力ファイルのレコード長を「128」バイトで指定する。

-oOUTFILE

ソート結果の出力ファイル名「OUTFILE」を指定する。

-y5000

ワークバッファのメモリサイズを「5,000」KBで指定する。

-T./st185

ソート用一時ファイルを割り当てるディレクトリをカレントディレクトリ下の「st185」で指定する。

-rz

第1キーの整列順序を「降順」,属性を数字項目の「外部10進数」で指定する。

+0-5

第1キーの開始バイト位置を「0」バイト目,バイト長を「5」バイトで指定する。

-n

第2キーの整列順序を「昇順」,属性を数字項目の「符号付き固定小数点2進数」で指定する。

+6-8

第2キーの開始バイト位置を「6」バイト目,バイト長を「8」バイトで指定する。

INFILE1

INFILE2

INFILE3

ソートするファイルのファイル名「INFILE1」,「INFILE2」,および「INFILE3」を指定する。

出力ファイルのファイル編成は,入力ファイルと同じなので,指定を省略します。

(3) 索引ファイルのデータをソートし,順ファイルに出力する例

索引ファイルのデータをソートして,結果を順ファイルに出力する例を示します。

(a) 条件

ソートの条件は,次のとおりです。

  • 32ビット版SORTを使用する

  • 入力ファイルは排他モードでオープンする

  • 出力ファイル名と同じ名前のファイルがすでにある場合は,そのファイルの内容を書き換えない(既存ファイルの書き換え防止)

  • キーの比較はJIS8単位コードの体系に従う

  • 入力ファイルは固定長索引ファイル

  • 出力ファイルは固定長順ファイル

  • 入力ファイルおよび出力ファイルのレコード長は,128バイト

  • ソート結果の出力ファイル名は「OUTFILE」

  • ソートは昇順,キーの属性は文字項目(文字)

  • キーの開始バイト位置は「0」バイト目,バイト長は「5」バイト

  • ソートするファイルのファイル名は「INFILE」

(b) 入力するコマンド

入力するソートコマンドを次の図に示します。

図7‒8 入力するソートコマンド(その3)

[図データ]

(c) コマンドの指定内容

ソートコマンドの指定内容を次の表に示します。

表7‒21 ソートコマンドの指定内容(その3)

入力項目

指定内容

rsort

ソート処理のコマンド名「rsort」を指定する。

-e

入力ファイルのオープンモードは「排他モード」と指定する。

-i

「既存ファイルの書き換え防止」を指定する。

-I

入力ファイルを「固定長索引ファイル」で指定する。

:S

出力ファイルを「固定長順ファイル」で指定する。

-oOUTFILE

ソート結果の出力先ファイル名「OUTFILE」を指定する。

-c

キーの整列順序を「昇順」,属性を文字項目の「文字」で指定する。

+0-5

キーの開始バイト位置を「0」バイト目,バイト長を「5」バイトで指定する。

INFILE

ソートするファイルのファイル名「INFILE」を指定する。

注1

キーの比較はJIS8単位コードの体系に従うので,指定を省略します。

注2

入力ファイルが固定長索引ファイルなので,レコード長は指定しません。

(4) 索引ファイルのデータをソートし,索引ファイルに出力する例

索引ファイルのデータをソートして,結果を索引ファイルに出力する例を示します。

(a) 条件

ソートの条件は,次のとおりです。

  • 32ビット版SORTを使用する

  • 入力ファイルは排他モードでオープンする

  • キーの比較はEBCDIKコードの体系に従う

  • 入力ファイルおよび出力ファイルは,固定長索引ファイル

  • 入力ファイルおよび出力ファイルのレコード長は,128バイト

  • ソート結果の出力ファイル名は「OUTFILE」

  • ソートは昇順,キーの属性は文字項目(英数字)

  • キーの開始バイト位置は「0」バイト目,バイト長は「5」バイト

  • ソートするファイルのファイル名は「INFILE」

(b) 入力するコマンド

索引ファイルに出力するので,ISAMのユティリティコマンド「isconv」をパイプで連結します。入力するソートコマンドを次の図に示します。

図7‒9 入力するソートコマンド(その4)

[図データ]

注 「isconv -tSI -OUTFILE」は,ISAMのユティリティコマンドです。

(c) コマンドの指定内容

ソートコマンドの指定内容を次の表に示します。

表7‒22 ソートコマンドの指定内容(その4)

入力項目

指定内容

rsort

ソート処理のコマンド名「rsort」を指定する。

-e

入力ファイルのオープンモードは「排他モード」と指定する。

-v

キーの比較は「EBCDIKコードの体系に従う」と指定する。

-I

入力ファイルを「固定長索引ファイル」で指定する。

:S

出力ファイルを「固定長順ファイル」で指定する。

-j

キーの整列順序を「昇順」,属性を文字項目の「英数字」で指定する。

+0-5

キーの開始バイト位置を「0」バイト目,バイト長を「5」バイトで指定する。

INFILE

ソートするファイルのファイル名「INFILE」を指定する。

注1

入力ファイルが固定長索引ファイルなので,レコード長は指定しません。