ビルド・ステージの例 DataStage
「除算」と呼ばれる Build ステージの例では、1 つの数値を別の数値で除算し、結果と剰余を出力リンクに書き込みます。 また、このステージは、ゼロで除算しようとしているかどうかを検査し、ゼロで除算しようとしている場合は、入力レコードをリジェクト・リンクに送信します。
プロパティーの使用法を示すために、このステージでは最小除数を定義することもできます。 ジョブにステージを追加するときに指定した最小除数よりも小さい数を除算すると、レコードもリジェクトされます。
ステージへの入力は自動読み取りとして定義されていますが、2 つの出力の自動書き込みは無効になっています。 コードは、いずれかの出力リンクにデータを明示的に書き込む必要があります。 除算が正常に完了した場合、書き込まれるデータは、元のレコードに除算の結果と剰余を加えたものになります。 拒否されたレコードの場合は、元のレコードのみが書き込まれます。
入力レコードには、被除数と除数の 2 つの列があります。 出力 0 には、被除数、除数、結果、および剰余の 4 つの列があります。 出力 1 (リジェクト・リンク) には、被除数と除数の 2 つの列があります。
入力レコードの除数列にゼロが含まれているか、指定された最小除数より小さい場合、レコードはリジェクトされ、コードはマクロ transferAndWriteRecord(1) を使用してデータをポート 1 に転送し、書き込みます。 除数がゼロでない場合、コードは doTransfersTo(0) を使用して入力レコードを出力 0 に転送し、除算の結果を結果と剰余に代入し、最後に writeRecord(0) を呼び出してレコードを出力 0 に書き込みます。
Stage Type ダイアログボックスを使用して、このステージを以下のように定義します。 IBM® DataStage® に定義されます:
- 「一般」タブに一般的な詳細情報が表示されます。
- ステージの作成に関する詳細は、「作成者」ページに表示されます。
- ステージのオプション・プロパティーは、「プロパティー」タブで定義されます。
- 入力と出力の詳細は、「ビルド」ページの「インターフェース」タブで定義されます。
「除算」への単一の入力に関する詳細は、「インターフェース」タブの「入力」サブタブに表示されます。 入力リンクのテーブル定義は、以下のリポジトリからロードできます。 IBM DataStage リポジトリから読み込むことができます。
出力に関する詳細は、「インターフェース」タブの「出力」サブタブに表示されます。
ジョブでこのステージを使用する場合は、「入力」サブタブおよび「出力」サブタブで定義されている表と互換性のある表定義を使用する必要があります。
ステージによって実行される転送の詳細は、「インターフェース」タブの「転送」サブタブで定義されます。
- コード自体は「論理」タブで定義されます。 この場合、すべての処理は「レコードごと」ループで実行されるため、「レコードごと」サブタブに入ります。
- この例では、すべてのコンパイルとビルドのデフォルトを使用するため、残りは「生成」をクリックしてステージをビルドすることのみです。