# 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.34 使用例1（SEQNO関数　前提条件）

抽出条件

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

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

SEQNO{0}の場合

図A.35 使用例1（SEQNO関数　SEQNO{0}）

使用例2

前提条件

図A.36 使用例2（SEQNO関数　前提条件）

抽出条件

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

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

SEQNO{1}の場合

図A.37 使用例2（SEQNO関数　SEQNO{1}）

使用例3

前提条件

図A.38 使用例3（SEQNO関数　前提条件）

抽出条件

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

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

SEQNO{2}の場合

図A.39 使用例3（SEQNO関数　SEQNO{2}）

使用例4

前提条件

図A.40 使用例4（SEQNO関数　前提条件）

抽出条件

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

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

SEQNO{3}の場合

図A.41 使用例4（SEQNO関数　SEQNO{3}）