FM/Db2 エクスポート・ユーティリティーで使用されているデータ形式とは異なるデータ形式を記述するコピーブックを使用してデータをエクスポートする方法

シナリオ: Db2® 表にデータがあるとします。定義したコピーブックを使用してデータをエクスポートしたいのですが、そのコピーブックは、FM/Db2 エクスポート・ユーティリティーで使用されるデータ形式とは異なるデータ形式を記述しています。

コピーブックを、COBOL、HLASM、または PL/I のいずれかでコーディングする必要があります。FM/Db2 エクスポート・ユーティリティー (3.7) を使用してエクスポートを実行する場合は、 コピーブックが入っているデータ・セットの名前を「Export To (エクスポートの宛先)」パネルの 「To Copybook or Template (宛先コピーブックまたはテンプレート)」セクションに入力します。「Template usage (テンプレート使用法)」処理オプションを 1 (「Above (上の指定)」) に設定します。4 (「Generate and save (生成および保管)」) を指定すると、コピーブックが上書きされます。コピーブックでフィールドの名前を変更している場合、またはデータ・タイプの変換が必要な場合は、 テンプレートの再マップを使用して、ソース表にある列をターゲット・データ・セットにあるフィールドにマップすることができます。

Db2® データに 1 つ以上のヌル可能列が含まれている場合、Db2® ヌル標識の処理が制限されます。エクスポートしたデータに Db2® ヌル標識が必要な場合は、その列に対応するテンプレート内のフィールドの定義の直後に 2 バイトの 2 進数フィールドを含める必要があります

例えば、Db2® ヌル値の入力を許可する CHAR(10) フィールドの場合は、次のようにコーディングします。
* CHARACTER DATA TYPE
     10 COL7                 PIC X(10).
     10 COL7-NULL            PIC S9(4) USAGE COMP.

また、エクスポートの開始時には、2 バイト・フィールドはマップ解除されている必要があります。つまり、テンプレートの再マップを使用してその表の列をこのフィールドにマップしてはなりません。 マップすると、FM/Db2 エクスポート・ユーティリティーはその列のヌル標識を、エクスポートされたデータ・セットに 組み込めません。

Db2® ヌル標識をエクスポート・データ・セット内の別の位置にマップする必要がある場合、または Db2® ヌル標識を別のデータ・タイプに変換する必要がある場合は、以下を実行できます。

  1. デフォルトのマッピングを使用するか、または上記の Db2® ヌル標識用に定義されたフィールドを含む ユーザー定義のコピーブックを使用して、データをエクスポートします。
  2. 最終的なデータ形式を記述するテンプレートを作成します。
  3. File Manager Base component を使用して、データをエクスポート・データ・セットから最終的な形式にコピーします。REXX を使用して、Db2® ヌル標識 (場合によっては他のデータ値) をコピー・プロセスの一部として変換することが必要となる場合があります。

関連するタスク

関連する参照先