ファイル・ベース・データ・インポート(FBDI)ファイルの生成

最初のステップは、Oracle Cloud ERPで消費するためのファイル・ベース・データ・インポート(FBDI)ファイルの生成です。

ERPとのほとんどのバルク統合では、FBDIファイルが使用されます。FBDIファイルは、次のような内容を持つフラット データ ファイルです。

NEW,1,2018/03/01,Balance Transfer,Remote Transfer,USD,2018/03/01,A,01,000,1212,0000,000,,,,,,,,,,,,,,,,,,,,,,,,,,99.00,,,,Team A Team Batch5,,,Orange Journal5,,,,,,,,,,,,,,,,,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,END
NEW,1,2018/03/01,Balance Transfer,Remote Transfer,USD,2018/03/01,A,01,000,4111,0000,000,,,,,,,,,,,,,,,,,,,,,,,,, ,99.00,,,,Team A Team Batch5,,,Orange Journal5,,,,,,,,,,,,,,,,,,,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,END

ソース・アプリケーションのデータファイルがFBDI形式でない場合は、Oracle Integrationマッパー機能(XSLT)を使用してFBDI形式に変換し、ソース形式から宛先形式に変換する必要があります。ただし、ソース生成ファイルが大きすぎる場合(500MBなど)もあります。

大きいファイルをインメモリーで読み取ると、メモリー不足になる可能性があります。Oracle IntegrationはPaaSオファリングであるため、FTPアダプタで読み取れるファイル・サイズのチェックがあります。Oracle Integrationは、FTPアダプタを使用してインメモリーを読み取ることができる最大ファイルを最大1MBに制限します。ただし、Oracle Integrationでは、ステージ読取りという機能を使用して、一連のチャンクで大規模なソース・ファイルを読み取ることができます。ステージ読取りは、Oracle Integration内のマップ削減機能です。

FTPサーバーからのチャンク読取りは処理および帯域幅の負荷が高いため、Oracleでは、Oracle Integrationフローでステージ読取りを使用する前に、まずファイルをOracle Integrationにローカルでダウンロードすることをお薦めします。

ファイルベース・データ・インポート(FBDI)オーケストレーション・パターンの使用

次に、ソースZIPファイル内の1つ以上のファイルをFBDI形式に変換するOracle Integrationオーケストレーション・パターンの例を示します。

ソース形式からFBDI形式に変換する論理フローは、次のステップに従います。

  1. トリガー・ファイルを読み取ります。
  2. ソース・データ・ファイルをダウンロードします。
  3. チャンクはデータを読み取り、FBDI形式に変換します。外部ループにより、それぞれが複数のデータファイルが処理されます。
  4. リスト・ファイルを作成します。
  5. 1つ以上のプロパティ・ファイルを生成し、ZIPファイルを書き込みます。
  6. ソース・ファイルをアーカイブします。
  7. トリガー・ファイルをアーカイブします。

例:


journal-entry-1.pngの説明が続きます
図journal-entry-1.pngの説明

トリガー・ファイルの読取り

トリガー・ファイルの読取りは、スケジュールされたOracle Integration統合です。

トリガー・ファイルは、構成されたスケジュールに基づいてアクセスされます。最初の手順は、FTPサーバーに配置したトリガーファイルを読み取ることです。トリガー・ファイルは、ソース・データ・ファイルと同じ名前の0バイト・ファイルです。トリガー・ファイルは、このOracle Integrationフローでダウンストリーム・アクティビティによって読み取られるソース・データファイルの名前を提供します。Oracle Integrationが読み取るデータ・ファイルにアクセスする前に、ソース・アプリケーションがデータ・ファイルを完全に書き込んでいることを確認するために、トリガー・ファイルが使用されます。Oracle IntegrationのFTPアダプタはminimum ageプロパティをサポートしますが、レコード数が多い場合、ソース・アプリケーションがデータ・ファイルへの追加を試行している可能性があります。このようなシナリオではminimum ageを使用できないため、かわりにトリガー・ファイルが使用されます。

  1. データファイルのFTPサーバーへのアップロードを開始します。
  2. データファイルが完全に書き込まれるまで待ちます。
  3. FTPサーバーの同じ場所にトリガーファイルを書き込みます。
    スケジュールされたOracle Integrationフローでサーバー上のトリガー・ファイルを参照すると、同じ名前のデータファイルのダウンロードが開始されます。

ソース・データ・ファイルのダウンロード

次のステップは、ソース・データファイルをOracle Integrationにダウンロードすることです。

Oracle Integrationフローは、ソース・データ・ファイルが1つ以上のソース・データ形式ファイルを含む圧縮ZIPファイルであるという要件で記述されました。

  1. Oracle Adapterエンドポイント構成ウィザードで、ターゲットFTPエンドポイントの操作パラメータを構成し、基本情報を入力し、「次」をクリックして操作ステップに移動します。
  2. 「操作の選択」で、「ICSにダウンロード」を選択します。
  3. 「ディレクトリ・パスのダウンロード」に、/fbdi/と入力します。
    パスはOracle Integrationサーバーにあり、アクセスできません。Oracle Integrationは、必要に応じてこのフォルダを作成し、完了後にフォルダをクリーン・アップします。
  4. 「Unzip the file」ボックスを選択します。
  5. 「次」をクリックして、ウィザードの残りのステップを完了します。

データ・ファイルのチャンク読取りおよび変換

Oracle Integrationステージ読取り機能を使用して、小さいチャンクでデータファイルを読み取ります。

各チャンクはソース形式からFBDI形式に変換され、出力FBDIファイルが作成されます。図に示されている外側のforループは、ソースZIPファイルの一部として複数のファイルがある場合に、それぞれが読み込まれ、別のFBDI形式のファイルに変換されることを確認します。

リスト・ファイルの生成

Oracle Integrationのリスト・ファイルを生成して、作成されたFBDIファイルの数を確認します。

プロパティおよびZIPファイルの作成

このステップでは、プロパティ・ファイルを生成し、ZIPファイルを書き込みます。

Oracle Integrationは、Oracle Cloud ERPアダプタを使用して、FBDIファイルをOracle Cloud ERPにアップロードします。Oracle Cloud ERPアダプタはOracle Cloud ERPで提供されるWebサービスを内部的に使用しますが、生のWebサービスに関連する多くの複雑さを不明瞭化します。Oracle Cloud ERPアダプタは、FBDIおよびプロパティ・ファイルを含むZIPファイルをOracle Cloud ERPにアップロードすることを想定しています。プロパティ・ファイルは、Oracle Cloud ERPアダプタがFBDIファイルをOracle Cloud ERPにアップロードする必要があるJobnameおよびParameterlistに関する情報を含むマニフェスト・ファイルです。

ソース・ファイルとトリガー・ファイルのアーカイブ

ソース・ファイルおよびトリガー・ファイルは、FTPの場所で将来参照できるようにアーカイブされます。

たとえば、これらのファイルを再送信目的で使用できます。