SEQNO関数

関数

SEQNO{[HOW]}

シーケンス番号を出力します。

パラメータ”HOW”で指定された出力規則に従って、出力レコードにシーケンシャルな番号を付与します。

パラメータ

HOW

シーケンス番号の出力規則を指定します(省略可)。

"0"、"1"、"2"、"3"のみ指定可能です。

省略すると、"0"が適用されます。

引数HOWの値とシーケンス番号の出力規則は以下のとおりです。

表A.12 シーケンス番号の出力規則

HOW

出力規則

用途

0

SEQNO{0}の関数が呼ばれるたびに、+1した数値に変換します。

1回の変換内でシーケンシャルな番号がつけられます。

マッピングしたデータは関数で使用しません。

複数のファイルに振り分けなどを行った場合、すべての出力ファイルレコードでシーケンシャルな番号をつけるのに使用します。

1

指定された項目の関数SEQNO{1}が呼ばれるたびに、+1した数値に変換します。

出力ファイルごとにシーケンシャルな番号がつけられます。

マッピングしたデータは関数で使用しません。

指定した関数内でのみ、シーケンシャルな番号をつけるときに使用します。条件による振り分けなどで出力されないレコードがあった場合でも、出力されたレコードにシーケンス番号を連番でつけられます。

2

指定した項目の関数SEQNO{2}が呼ばれるたびに、+1した数値に変換します。

同じデータをもつレコードごとにシーケンシャルな番号がつけられます。

マッピングした項目のデータが前回のデータと異なるタイミングで、番号を「1」にリセットします。

同じデータをもつレコード内で、シーケンシャルな番号をつける場合に使用します。

ただし、同じデータでもレコードが続いていない場合は新たな番号がつけられます。

3

指定した項目の関数SEQNO{3}が呼ばれるたびに、数値に変換します。

数値は、指定した項目の値が直前のレコードの値と同じ場合は直前のSEQNO{3}と同じ値、異なる場合は+1した値となります。

シーケンシャルな番号は、出力ファイルごとに計算します。

指定した項目について直前のレコードと同じ場合に同じ番号、異なる場合に異なる番号となるシーケンシャルな番号をつける場合に使用します。

ただし、同じデータでもレコードが続いていない場合は新たな番号がつけられます。

使用例1

前提条件

図A.33 使用例1(SEQNO関数 前提条件)

抽出条件

地域コード==1→ 出力ファイル1

地域コード==2→ 出力ファイル2

SEQNO{0}の場合

図A.34 使用例1(SEQNO関数 SEQNO{0})

使用例2

前提条件

図A.35 使用例2(SEQNO関数 前提条件)

抽出条件

地域コード==1→ 出力ファイル1

地域コード==2→ 出力ファイル2

SEQNO{1}の場合

図A.36 使用例2(SEQNO関数 SEQNO{1})

使用例3

前提条件

図A.37 使用例3(SEQNO関数 前提条件)

抽出条件

地域コード==1→ 出力ファイル1

地域コード==2→ 出力ファイル2

SEQNO{2}の場合

図A.38 使用例3(SEQNO関数 SEQNO{2})

使用例4

前提条件

図A.39 使用例4(SEQNO関数 前提条件)

抽出条件

地域コード==1→ 出力ファイル1

地域コード==2→ 出力ファイル2

SEQNO{3}の場合

図A.40 使用例4(SEQNO関数 SEQNO{3})