交換モジュールの概説

交換モジュールを使用して、LN との間でデータをインポートおよびエクスポートできます。

交換モジュールは主に次の目的で使用されます。

  • マルチサイト環境向けの、連続データ複製
  • LN ソフトウェアからその他のソフトウェアアプリケーションへのリンクに関する連続データ複製
  • あるバージョンの LN から他のバージョンへのデータ変換
  • 他のソフトウェアから LN ソフトウェアへのデータ変換。交換モジュールで、LN テーブルから ASCII ファイルへ、またはその逆方向のデータエクスポートをコントロールします。また、交換モジュールを使用して、データのエクスポートを実行することもできます。エクスポート処理中のデータベースでの変更は、監査ファイルから読み込まれて ASCII ファイルに書き出されます。これらの変更は、インポート処理中に対象データベースで再生されます。
[...]

交換モジュールには次の機能があります。

  • データの変換
  • データの条件付き挿入、更新、および削除
  • 交換モジュールが非同期でバッチ指向である、ログファイルを使用した処理のコントロールとモニタ。データ交換はバッチ処理で実行し、マニュアルで開始することも、LN のジョブ機構を使用するスケジュールに基づいて実行することもできます。

交換モジュールは、次の 2 つの主要領域に分けられます。

  • データのエクスポート
  • データのインポート

「エクスポート」 モジュールを使用して、LN データベースのデータが含まれた順編成 ASCII ファイルを作成します。ASCII ファイルには独自のフォーマットを使用することができ、LN テーブルとは異なったものにできます。対応する定義ファイルを作成することもできます。このファイルを使用して、インポート手順中にデータ定義をロードできます。

「インポート」 モジュールを使用して、「エクスポート」 モジュールまたはその他のデータソースで作成された順編成ファイルを読み込みます。これらのファイルのデータは、LN テーブルに組み込まれます。

[...]

交換手順の原則

マスタデータに交換スキームを定義できます。各交換スキームには一意のコードがあります。

[...]

交換スキームには次の 2 つの主要エンティティがあります。

  • ASCII ファイル (データダンプ)
  • 変換用バッチ
ASCII ファイル

交換スキームの 1 つめの主要部分は、ASCII ファイルと ASCII ファイルフィールドで形成されています。これらには、変換対象となるレコードが含まれています。このファイル内のすべての行がレコードを表します。レコードには、固定フィールド長またはフィールド区切りで定義される長さを含めることができます。

条件を使用して、交換処理で ASCII ファイルフィールドの値を操作できます。これらの値は、交換スキームごとに指定できます。条件をメンテナンスするには、テキストエディタで LN 3GL/4GL 文を使用します。条件テキストを簡素化するため、さまざまな関数と変数が用意されています。条件の作成後に、構文をチェックする必要があります。

バッチ

バッチとは、ASCII ファイルと LN テーブルとの関係が含まれたエンティティです。

ASCII ファイルと LN テーブルとの関係は、テーブルとフィールド関係で定義します。インポートとエクスポートを同じように実行するため、これらの関係をバッチ行ごとに指定できます。

データのインポート

バッチはテーブルとフィールド関係で構成されます。インポート用のテーブル関係で、ASCII ファイル (複数可) のどのデータをどの LN テーブルに転送するかを指定します。LN テーブルと ASCII ファイルの関係は、1 対多が可能です。各エントリがバッチの行を形成します。条件をテーブル関係にリンクすることもできます。

次の 4 つの条件タイプが定義できます。

  • 挿入条件
  • 上書き条件
  • 更新条件
  • 削除条件

対応する処理が実行されるのは、処理にリンクされた条件の返値が true である場合だけです。

各関係テーブルについて、フィールドレベルで関係をメンテナンスできます。これらの関係は、ASCII ファイル内のどのフィールドをLN テーブル内のフィールドに入力させるかを示します。条件もこのレベルでリンクできます。条件の出力内容は、フィールドの値となります。

データのエクスポート

データをエクスポートする場合、テーブル関係が示すのは、LN テーブルのどのデータをどの ASCII ファイルに転送するかです。1 つの ASCII ファイルは、LN テーブル 1 つからしかデータをインポートできませんが、条件を使用すると例外を作成できます。その場合、関連テーブルのデータを同じ ASCII ファイルに組み入れることができます。各エントリは、エクスポート用のテーブル関係を形成します。フィールドレベルの関係は、テーブル関係ごとにメンテナンスできます。これらの関係で、ASCII ファイル内の各フィールドに入力させる方法を定義します。

標準 bdbpre プログラムを使用して ASCII ファイルを作成することもできますが、これが可能なのは、ASCII ファイルの構造が LN テーブルのデータ定義と同一で、エクスポートが監査に基づいていない場合だけです。

交換 (XCH) モジュール処理

交換スキームを作成してインポートプログラムまたはエクスポートプログラムを生成したら、次のセッションのいずれかを開始して、交換処理を実行することができます。

  • データのインポート (非標準) (daxch0223m000)
  • データのインポート (標準) (daxch0224m000)
  • データのエクスポート (非標準) (daxch0233m000)
  • データのエクスポート (標準) (daxch0234m000)

すべての交換スキームコードは、異なるスキームを表します。標準パッケージの変換、たとえば LN のアップグレードなどに対して、交換スキームを 1 つ適用できます。交換スキームを新規作成して、特定のニーズに合わせて交換をカスタマイズできます。交換スキームをあるコードから別のコードにコピーしたり、他のコードを更新したりして、要件に適合させることができます。親交換スキームのコンセプトを適用することで、データのコピー対象を、交換スキームと異なる部分だけに制限することができます。