変数モードのテーブル関数にのみ、以下のオプションが有効になります。これらのオプションは、定数モードのテーブル関数に指定しても無視されます。
オプション | 値 | 説明と使用法 |
---|---|---|
TBL_NOOPTIONS | 0 | 指定されたオプションがないことを示します。 このオプションは、この関数を呼び出した処理フェーズを取得する必要がある場合にのみ使用してください。 |
TBL_LASTROW | 1 | 関数がAMP上の最後の入力行が渡されたことを判断できるようになります。 このオプションは、テーブル関数が出力行を返す前に、入力行のセット処理をする場合に使用してください。最後の行を検出したときにTBL_LASTROWを使用して処理の終了を知らせる場合は、EOF識別子を設定する必要があります。その後、この関数はTBL_BUILDフェーズから、行を構築するTBL_BUILD_EOFフェーズに移行します。 |
TBL_NEWROW | 2 | このオプションが設定してあり、フェーズがTBL_BUILDのときには、TBL_BUILDフェーズの新しい行を指定して、この関数が呼び出されます。 このオプションは、関数が呼び出される度に、新しい行を取得する必要がある場合に使用してください。 ファイルの終端、つまりTBL_LASTROWまたはProcessLastRowが真の場合、このオプションは無視されます。 |
TBL_NEWROWとTBL_LASTROW | 3 | TBL_NEWROWとTBL_LASTROWの両方のオプションの動作が有効になります。 |
TBL_NEWROWEOF | 4 | このオプションが設定してあり、フェーズがTBL_BUILDでEOFが設定されているときには、TBL_BUILDフェーズの新しい行を指定して、この関数が呼び出されます。 このオプションは、EOFの合図が送られてきたときに新しい行を取得する必要がある場合に使用してください。 ファイルの終端、つまりTBL_LASTROWまたはProcessLastRowが真の場合、このオプションは無視されます。 |
TBL_NEWROWEOFとTBL_LASTROW | 5 | TBL_NEWROWEOFとTBL_LASTROWの両方のオプションの動作が有効になります。 |
TBL_LASTROWを指定すると、リクエストの継続中はこのオプションが維持されます。TBL_NEWROWとTBL_NEWROWEOFのオプションは、FNC_GetPhaseExに指定されたオプション(オプションの値が非0の場合)に基づいて、設定および設定解除されます。
例えば、オプションTBL_NOOPTIONSを指定してFNC_GetPhaseExを呼び出しても、TBL_NEWROWまたはTBL_NEWROWEOFの動作設定が解除されることはありません。