使用上の注意 - FastLoad

Teradata® FastLoad リファレンス

Product
FastLoad
Release Number
17.00
Published
2020年6月
Language
日本語
Last Update
2021-01-07
dita:mapPath
ja-JP/ije1544831946874.ditamap
dita:ditavalPath
ja-JP/ije1544831946874.ditaval
dita:id
B035-2411
Product Category
Teradata Tools and Utilities

次の表は、NOTIFYコマンドを使用する場合の考慮事項についての説明です。

NOTIFY使用上の注意
対象 使用上の注意
QUEUEについての注記 LOWオプションを付けてQUEUEを指定すると、以下のようになります。
  1. NOTIFYが処理されると、RNAMEが'TRDUSER'で有効範囲が'JOB'のQUEUEでENQが実行されます。この呼び出しは、QUEUEを獲得するまでブロックします。
  2. ジョブがQUEUEを得た後、ジョブは特定の時点(要求の完了など)に達するまで続行し、それからDEQの実行によってQUEUEを解放します。
エラー処理 エラー発生時のNOTIFYの動作は以下のようになります。
  • NOTIFYが処理されると、Teradata FastLoadの使用するサブシステムが初期設定され、さらに必要があれば、ユーザー出口がロードされ、システム ログの初期化のための呼び出しがなされます(またはENQが実行されます)。
  • 初期設定が失敗すると、FastLoadはエラー メッセージを表示し、戻りコード12を出して実行を終了します。
  • 初期設定の後に何かが失敗した場合、要求は失敗に終わります。ユーザー出口が0以外のコードを返した場合、FastLoadはエラー メッセージを表示し、戻りコード12を出して実行を終了します。
再始動 以下の点は、NOTIFYに関連した再開に関するものです。
  • Teradata FastLoadジョブが異常終了したり失敗したりした場合、このジョブを再開できるだけでなく、NOTIFY関連のアクティビティが一部再実行されます。これは、ユーザー出口を作成する場合に考慮すべき重要点です。
  • (z/OSでQUEUEタイプ パラメータを使用して)待ち行列を保持している間にTeradata FastLoadジョブが異常終了したり不成功に終わったりした場合、そのジョブの終了の前に待ち行列が解放されます。したがって、ジョブ再開時に処理を続行する前には、ジョブが待ち行列を再び獲得するようにしなければなりません。
出口ルーチンの作成 出口ルーチンを作成する場合は、すべてのオペレーティング システムにおいて下記の一般的な手順が当てはまります。
  • 出口の名前は_dynamnでなければなりません。
  • 成功は戻りコードが0(長整数形式)であることによって示されます。
  • 失敗は戻りコードの値が0でない(長整数形式)ことによって示されます。異なる整数値を使用してさまざまなエラーを示すことができます。
  • プロシージャのパラメータは、可変長レコード構造体へのポインタです。

    可変長レコード構造体の定義については、通知出口ルーチンの例を参照してください。

  • 以下に、出口プロシージャのためのCのプロトタイプの例を、Teradata FastLoadの場合で示します。
    long _dynamn(FLNotifyExitParm *P)

出口ルーチンの作成および使用の手順は、INMODルーチンの作成および使用の手順と同じです。INMODおよび通知出口ルーチンおよびINMODおよび通知出口ルーチンのコンパイル、リンク、および実行を参照してください。