ソートマージ


9.2.4 使用例

選択コマンドの使用例を示します。

〈この項の構成〉

(1) 1種類の条件式でデータを選択する例

1種類の条件式でデータを選択する例を示します。ここでは,社員データファイルから,年齢が40歳以上のデータを持つレコードを選択する例を示します。

(a) 条件

選択の条件は,次のとおりです。

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

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

  • 選択結果の出力ファイル名は「OUTFILE」

  • 比較項目の属性は数字項目(外部10進数)

  • 比較項目の開始バイト位置は「25」バイト目,バイト長は「2」バイト

  • 比較演算子は「>=」

  • 条件値は「40」

  • 入力ファイル名は「INFILE」

(b) 入力するコマンド

入力する選択コマンドを次の図に示します。

図9‒7 入力する選択コマンド(その1)

[図データ]

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

選択コマンドの指定内容を次の表に示します。

表9‒17 選択コマンドの指定内容(その1)

入力項目

指定内容

rselect

選択処理のコマンド「rselect」を指定する。

-V

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

-oOUTFILE

選択結果の出力ファイル名「OUTFILE」を指定する。

-sl

比較条件式のオペランド「sl」を指定する。

-z

比較項目の属性を数字項目の「外部10進数」で指定する。

+25-2

比較項目の開始バイト位置を「25」バイト目,バイト長を「2」バイトで指定する。

>=

比較演算子を「条件値と等しいか,または大きい」で指定する。

N'40'

条件値を数値条件値の「40」で指定する。

INFILE

入力ファイル名「INFILE」を指定する。

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

(2) 2種類の条件式でデータを選択する例

2種類の条件式でデータを選択する例を示します。ここでは,社員データファイルから,年齢が40歳から50歳までのデータを持つレコードを選択する例を示します。

(a) 条件

選択の条件は次のとおりです。

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

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

  • 選択結果の出力ファイル名は「OUTFILE」

  • 第1比較項目の属性は数字項目(外部10進数)

  • 第1比較項目の開始バイト位置は「25」バイト目,バイト長は「2」バイト

  • 第1比較演算子は「>=」

  • 第1比較演算子は「40」

  • 第2比較項目の属性は数字項目(外部10進数)

  • 第2比較項目の開始バイト位置は「25」バイト目,バイト長は「2」バイト

  • 第2比較項目の比較演算子は「<=」

  • 第2比較項目の条件値は「50」

  • 入力ファイル名は「INFILE」

(b) 入力するコマンド

入力する選択コマンドを次の図に示します。

図9‒8 入力する選択コマンド(その2)

[図データ]

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

選択コマンドの指定内容を次の表に示します。

表9‒18 選択コマンドの指定内容(その2)

項番

入力項目

指定内容

1

rselect

選択処理のコマンド「rselect」を指定する。

2

-V

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

3

-oOUTFILE

選択結果の出力ファイル名「OUTFILE」を指定する。

4

-sl

比較条件式のオペランド「sl」を指定する。

5

-z

第1比較項目の属性を数字項目の「外部10進数」で指定する。

6

+25-2

第1比較項目の開始バイト位置を「25」バイト目,バイト長を「2」バイトで指定する。

7

>=

第1比較演算子を「条件値と等しいか,または大きい」で指定する。

8

N'40'

第1条件値を数値条件値の「40」で指定する。

9

and

論理演算子を「and」で指定する。

10

-z

第2比較項目の属性を数字項目の「外部10進数」で指定する。

11

+25-2

第2比較項目の開始バイト位置を「25」バイト目,バイト長を「2」バイトで指定する。

12

<=

第2比較演算子を「条件値と等しいか,または小さい」で指定する。

13

N'50'

第2条件値を数値条件値の「50」で指定する。

14

INFILE

入力ファイル名「INFILE」を指定する。

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

(3) ソート処理と組み合わせて選択する例

選択結果をソートするには,ソートコマンドをパイプで連結します。選択結果をソートする例を示します。ここでは,社員データファイルから,年齢が30歳以上のデータを持つレコードを選択したあと,社員番号でソートする例を示します。

(a) 条件

選択の条件は,次のとおりです。

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

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

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

  • 選択結果の出力ファイルは標準出力ファイル

  • 比較項目の属性は数字項目(外部10進数)

  • 比較項目の開始バイト位置は「25」バイト目,バイト長は「2」バイト

  • 比較演算子は「>=」

  • 条件値は「30」

  • 入力ファイル名は「INFILE」

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

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

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

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

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

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

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

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

  • 入力ファイルは標準入力ファイル

注※

選択処理と同じ値を指定しなければなりません。

(b) 入力するコマンド

入力する選択コマンドを次の図に示します。

図9‒9 入力する選択コマンド(その3)

[図データ]

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

選択コマンドの指定内容を次の表に示します。

表9‒19 選択コマンドの指定内容(その3)

項番

入力項目

指定内容

1

rselect

選択処理のコマンド「rselect」を指定する。

2

-S

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

3

-L240

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

4

-sl

比較条件式のオペランド「sl」を指定する。

5

-z

比較項目の属性を数字項目の「外部10進数」で指定する。

6

+25-2

比較項目の開始バイト位置を「25」バイト目,バイト長を「2」バイトで指定する。

7

>=

比較演算子を「条件値と等しいか,または大きい」で指定する。

8

N'30'

条件値を数値条件値の「30」で指定する。

9

INFILE

入力ファイル名「INFILE」を指定する。

10

rsort

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

11

-S

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

12

-L240

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

13

-oOUTFILE

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

14

-j

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

15

+10-8

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

注1

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

注2

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