SEQNO関数
関数
SEQNO{[HOW]}
シーケンス番号を出力します。
パラメータ”HOW”で指定された出力規則に従って、出力レコードにシーケンシャルな番号を付与します。
パラメータ
HOW
シーケンス番号の出力規則を指定します(省略可)。
"0"、"1"、"2"、"3"のみ指定可能です。
省略すると、"0"が適用されます。
引数HOWの値とシーケンス番号の出力規則は以下のとおりです。
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})