Oracle E-Business Suite を使用してインターフェイス テーブルとインターフェイス ビューを挿入、更新、削除、または選択する
Oracle E-Business アダプターは、インターフェイス テーブルとビューに対する挿入、更新、削除、選択などの一連の標準操作を表します。 このトピックでは、アダプターを使用してこれらの操作を実行する方法について説明します。 アダプターがこれらの操作をサポートする方法の詳細については、「 インターフェイス テーブルとインターフェイス ビューに対する操作」を参照してください。 これらの操作の SOAP メッセージの構造については、「 挿入、更新、削除、および選択操作のメッセージ スキーマ」を参照してください。
Note
アダプターは、BLOB、CLOB、NCLOB、BFILE などの大きなデータ型を含むテーブルとビューに対する特定の操作も公開します。 このような操作の詳細については、「 インターフェイス テーブル、インターフェイス ビュー、テーブル、および LOB データを含むビューに対する操作」を参照してください。 BizTalk Serverを使用して大きなデータ型のテーブルと列に対する操作を実行する方法については、「WCF サービス モデルを使用して Oracle E-Business Suite で大きなデータ型を持つテーブルに対する操作を完了する」を参照してください。
Oracle E-Business Suite で基本的な操作を実行する方法
BizTalk Serverで Oracle E-Business アダプターを使用して Oracle E-Business Suite で操作を実行するには、Oracle E-Business Suite アプリケーションを作成するための構成要素に関するページで説明されている手続き型タスクが含まれます。 Oracle E-Business Suite のテーブルとビューに対して挿入、更新、削除、または選択操作を実行するには、次のタスクを実行します。
BizTalk プロジェクトを作成し、インターフェイス テーブルまたはビューで呼び出す操作のスキーマを生成します。
Oracle E-Business Suite からメッセージを送受信するためのメッセージを BizTalk プロジェクトに作成します。
インターフェイス テーブルまたはビューで操作を呼び出すオーケストレーションを作成します。
BizTalk プロジェクトをビルドして展開します。
物理送受信ポートを作成して BizTalk アプリケーションを構成します。
BizTalk アプリケーションを起動します。
このトピックでは、これらのタスクを実行する手順について説明します。
スキーマの生成
このトピックでは、Oracle E-Business Suite の AR_ARCHIVE_PURGE_INTERIM インターフェイス テーブルにレコードを挿入して、基本的な挿入、更新、削除、または選択の各操作を実行する方法について説明します。 このインターフェイス テーブルは、Oracle E-Business Suite の 売掛金 アプリケーションで使用できます。
レコードを挿入する方法を示すために、AR_ARCHIVE_PURGE_INTERIM テーブルの挿入操作のスキーマが生成されます。 BizTalk プロジェクトを作成し、アダプター サービス アドインを使用してスキーマを生成する必要があります。 スキーマの生成方法の詳細については、「 Visual Studio での Oracle E-Business Suite 操作のメタデータの取得 」を参照してください。
メッセージとメッセージの種類の定義
先に生成したスキーマは、オーケストレーションのメッセージに求められる "型" を記述します。 メッセージは通常、対応するスキーマによって定義された型の変数です。 オーケストレーションのメッセージを作成し、前の手順で生成したスキーマにリンクする必要があります。
メッセージを作成し、スキーマにリンクするには
BizTalk プロジェクトにオーケストレーションを追加します。 ソリューション エクスプローラーで、BizTalk プロジェクト名を右クリックし、[追加] をポイントして、[新しい項目] をクリックします。 BizTalk オーケストレーションの名前を入力し、[ 追加] をクリックします。
BizTalk プロジェクトの [オーケストレーションの種類] ウィンドウを開きます (まだ表示されていない場合)。 これを行うには、[ 表示] をクリックし、[ その他のウィンドウ] をポイントして、[ オーケストレーション ビュー] をクリックします。
[オーケストレーション ビュー] で、[ メッセージ] を右クリックし、[ 新しいメッセージ] をクリックします。
新しく作成したメッセージを右クリックし、[ プロパティ ウィンドウ] を選択します。
Message_1の [プロパティ] ウィンドウで、次の操作を行います。
プロパティ 目的 識別子 「 Request
」と入力しますメッセージ型 ドロップダウン リストから [ スキーマ] を展開し、 InsertInterfaceTable.OracleEBSBinding.Insert を選択します。InsertInterfaceTable は BizTalk プロジェクトの名前です。 OracleEBSBinding は、AR_ARCHIVE_PURGE_INTERIM テーブルに対する挿入操作に対して生成されるスキーマです。 手順 2 を繰り返して、新しいメッセージを作成します。 新しいメッセージの [プロパティ ] ウィンドウで、次の操作を行います。
プロパティ 目的 識別子 「 Response
」と入力しますメッセージ型 ドロップダウン リストから [ スキーマ] を展開し、[ InsertInterfaceTable.OracleEBSBinding.InsertResponse] を選択します。
オーケストレーションの設定
Oracle E-Business Suite で操作を実行するためにBizTalk Serverを使用するには、BizTalk オーケストレーションを作成する必要があります。 このオーケストレーションでは、定義された受信場所に要求メッセージをドロップします。 Oracle E-Business アダプターはこのメッセージを使用し、Oracle E-Business Suite に渡します。 Oracle E-Business Suite からの応答は、別の場所に保存されます。 Oracle データベースで基本的なテーブル操作を実行するための一般的なオーケストレーションには、次のものが含まれます。
Oracle データベースにメッセージを送信し、応答を受信する図形を送受信します。
Oracle データベースに送信する要求メッセージを受信する一方向の受信ポート。
Oracle データベースに要求メッセージを送信し、応答を受信する双方向送信ポート。
Oracle データベースからフォルダーに応答を送信する一方向送信ポート。
Select 操作のサンプル オーケストレーションは、次のようになります。
メッセージ図形の追加
メッセージ図形ごとに次のプロパティを指定してください。 [図形] 列に表示される名前は、前述のオーケストレーションに表示されるメッセージ図形の名前です。
図形 | 図形の種類 | プロパティ |
---|---|---|
ReceiveMessage | 受信 | - 名前を ReceiveMessage に設定する - アクティブ化を True に設定する |
SendMessage | Send | - 名前を SendMessage に設定する |
ReceiveResponse | 受信 | - 名前を ReceiveResponse に設定する - アクティブ化を False に設定する |
SendResponse | Send | - 名前を SendResponse に設定する |
ポートの追加
論理ポートごとに次のプロパティを指定してください。 [ポート] 列に表示される名前は、オーケストレーションに表示されるポートの名前です。
Port | プロパティ |
---|---|
MessageIn | - 識別子を MessageIn に設定する - Type を MessageInType に設定する - 通信パターンを一方向に設定する - 通信方向を受信に設定する |
LOBPort | - 識別子を LOBPort に設定する - 型を LOBPortType に設定する - 通信パターンを Request-Response に設定する - [通信の方向] を [送受信] に設定する |
ResponseOut | - 識別子を ResponseOut に設定する - Type を ResponseOutType に設定する - 通信パターンを一方向に設定する - [通信の方向] を [送信] に設定する |
アクション 図形のメッセージを指定し、ポートに接続する
次の表では、アクション図形のメッセージを指定し、メッセージをポートにリンクするために設定するプロパティとその値を指定します。 [図形] 列に表示される名前は、前述のオーケストレーションに表示されるメッセージ図形の名前です。
図形 | プロパティ |
---|---|
ReceiveMessage | - メッセージを要求に設定する - 操作を MessageIn.Insert.Request に設定する |
SendMessage | - メッセージを要求に設定する - 操作を LOBPort.Insert.Request に設定する |
ReceiveResponse | - メッセージを応答に設定する - 操作を LOBPort.Insert.Response に設定する |
SendResponse | - メッセージを応答に設定する - 操作を ResponseOut.Insert.Request に設定する |
これらのプロパティを指定すると、メッセージの図形とポートが接続され、オーケストレーションが完了します。
BizTalk ソリューションをビルドし、BizTalk Serverに展開する必要があります。 詳細については、「オーケストレーションの ビルドと実行」を参照してください。
BizTalk アプリケーションの構成
BizTalk プロジェクトを展開すると、先ほど作成したオーケストレーションが、BizTalk Server管理コンソールの [オーケストレーション] ウィンドウの下に一覧表示されます。 アプリケーションを構成するには、BizTalk Server管理コンソールを使用する必要があります。 チュートリアルについては、「 チュートリアル: 基本的な BizTalk アプリケーションの展開」を参照してください。
アプリケーションの構成には、次の作業が含まれます。
アプリケーションのホストの選択。
オーケストレーションで作成したポートを、BizTalk Server管理コンソールの物理ポートにマッピングします。 このオーケストレーションでは、次の操作を行う必要があります。
ハード ディスク上の場所と、要求メッセージをドロップする対応するファイル ポートを定義します。 BizTalk オーケストレーションは要求メッセージを使用し、Oracle E-Business Suite に送信します。
ハード ディスク上の場所と、BizTalk オーケストレーションが Oracle E-Business Suite からの応答を含む応答メッセージをドロップする対応するファイル ポートを定義します。
Oracle E-Business Suite にメッセージを送信する物理 WCF-Custom または WCF-OracleEBS 送信ポートを定義します。 また、送信ポートでアクションを指定する必要があります。 ポートを作成する方法については、「Oracle E-Business Adapter への物理ポート バインディングの手動構成」を参照してください。
Oracle E-Business アダプターを使用してインターフェイス テーブルまたはインターフェイス ビューに対して操作を実行するには、操作が呼び出される適切なアプリケーション コンテキストを設定する必要があります。 Oracle E-Business アダプターには、任意の操作のアプリケーション コンテキストを指定するための特定のバインディング プロパティが用意されています。 これらのバインディング プロパティは、インターフェイス テーブルに対する操作の実行に使用される WCF-Custom または WCF-OracleEBS ポートに設定する必要があります。
ClientCredentialType バインド プロパティが Database に設定されている場合は、次のバインド プロパティを指定してアプリケーション コンテキストを設定する必要があります。
Binding プロパティ 値 OracleUserName Oracle E-Business Suite ユーザーの名前を指定します。 Oracle E-Business アダプターは、Oracle E-Business Suite に接続するときに OracleUserName バインディング プロパティに入力した値の大文字と小文字は保持されません。 ユーザー名は、SQL*Plus の標準規則を使用して Oracle E-Business Suite に渡されます。 ただし、ユーザー名の大文字と小文字を保持する場合、または特殊文字を含むユーザー名を入力する場合は、値を二重引用符で囲んで指定する必要があります。 OraclePassword Oracle E-Business Suite ユーザーのパスワード。 Oracle E-Business アダプターは、Oracle E-Business Suite に接続するときに OraclePassword バインディング プロパティに入力した値の大文字と小文字は保持されません。 パスワードは、SQL*Plus の標準規則を使用して Oracle E-Business Suite に渡されます。 ただし、パスワードの大文字と小文字を保持する場合、または特殊文字を含むパスワードを入力する場合は、値を二重引用符で囲んで指定する必要があります。 OracleEBSResponsibilityName Oracle E-Business Suite ユーザーに関連する責任。 ClientCredentialType バインド プロパティが EBusiness に設定されている場合は、接続の確立時に Oracle E-Business 資格情報を既に指定している必要があります。 このような場合は、 OracleEBSResponsibilityName バインディング プロパティの値のみを指定する必要があります。
さまざまなバインド プロパティの詳細については、「 BizTalk Adapter for Oracle E-Business Suite のバインド プロパティ」を参照してください。 アダプターがアプリケーション コンテキストの設定をサポートする方法の詳細については、「アプリケーション コンテキストの 設定」を参照してください。
Note
アプリケーション コンテキストは、バインド プロパティを指定するか、Oracle E-Business アダプターによって公開されるメッセージ コンテキスト プロパティを設定することによって設定できます。 バインド プロパティを設定する方法については、「 Oracle E-Business Suite のバインド プロパティを構成する」を参照してください。 メッセージ コンテキスト プロパティを使用してアプリケーション コンテキストを設定する方法については、「 Oracle E-Business Suite でメッセージ コンテキスト プロパティを使用してアプリケーション コンテキストを構成する」を参照してください。
Note
アダプター サービス BizTalk プロジェクト アドインを使用してスキーマを生成すると、ポートに関する情報と、それらのポートに設定するアクションを含むバインド ファイルも作成されます。 BizTalk Server管理コンソールからこのバインド ファイルをインポートして、送信ポート (送信呼び出しの場合) または受信ポート (受信呼び出し用) を作成できます。 詳細については、「 ポート バインド ファイルを使用して Oracle E-Business Suite に物理ポート バインドを構成する」を参照してください。
アプリケーションの起動
AR_ARCHIVE_PURGE_INTERIM インターフェイス テーブルにレコードを挿入するには、BizTalk アプリケーションを起動する必要があります。 BizTalk アプリケーションを起動する手順については、「オーケストレーションを 開始する方法」を参照してください。
この段階で、次のことを確認します。
オーケストレーションの要求メッセージを受信する FILE 受信ポートが実行されています。
オーケストレーションからの応答メッセージを受信する FILE 送信ポートが実行されています。
Oracle E-Business Suite にメッセージを送信するための WCF-Custom または WCF-OracleEBS 送信ポートが実行されています。
操作の BizTalk オーケストレーションが実行されています。
操作の実行
アプリケーションを実行した後、FILE 受信場所に要求メッセージをドロップする必要があります。 要求メッセージのスキーマは、前に生成した挿入操作のスキーマに準拠している必要があります。 たとえば、AR_ARCHIVE_PURGE_INTERIM インターフェイス テーブルからすべてのレコードを選択するための要求メッセージは次のとおりです。
<Insert xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/AR/AR/AR_ARCHIVE_PURGE_INTERIM">
<RECORDSET>
<InsertRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/AR/AR_ARCHIVE_PURGE_INTERIM">
<TRX_ID>001</TRX_ID>
<RELATED_ID>002</RELATED_ID>
</InsertRecord>
</RECORDSET>
</Insert>
この要求メッセージは、AR_ARCHIVE_PURGE_INTERIM インターフェイス テーブルにレコードを挿入します。 Oracle E-Business アダプターを使用して Oracle E-Business Suite で基本的な DML 操作を実行するための要求メッセージ スキーマの詳細については、「 挿入、更新、削除、および選択操作のメッセージ スキーマ 」を参照してください。
前の要求メッセージのような単純なデータ列の場合は、 InlineValue 属性を使用することもできます。 InlineValue 属性の詳細については、「 インターフェイス テーブルとインターフェイス ビューに対する操作」の挿入操作の説明を参照してください。
たとえば、インライン値を含む上記の要求メッセージは次のようになります。
<Insert xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/AR/AR/AR_ARCHIVE_PURGE_INTERIM">
<RECORDSET>
<InsertRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/AR/AR_ARCHIVE_PURGE_INTERIM">
<TRX_ID InlineValue="(Select TRX_ID FROM table_name)">001</TRX_ID>
<RELATED_ID>002</RELATED_ID>
</InsertRecord>
</RECORDSET>
</Insert>
この要求メッセージでは、TRX_ID列の値が別のテーブルから取得されます。 そのため、TRX_IDの値として "001" が指定されていても、InlineValue 属性に指定された SELECT ステートメントの値がテーブルに挿入されます。
オーケストレーションによってメッセージが使用され、Oracle E-Business Suite に送信されます。 Oracle E-Business Suite からの応答は、オーケストレーションの一部として定義されている他の FILE の場所に保存されます。 たとえば、上記の要求メッセージに対する Oracle E-Business Suite からの応答は次のとおりです。
<?xml version="1.0" encoding="utf-8" ?>
<InsertResponse xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/AR/AR/AR_ARCHIVE_PURGE_INTERIM">
<InsertResult>1</InsertResult>
</InsertResponse>
応答には、テーブルに挿入された行の数が含まれます。
ベスト プラクティス
BizTalk プロジェクトを展開して構成したら、バインド ファイルと呼ばれる XML ファイルに構成設定をエクスポートできます。 バインド ファイルを生成した後、ファイルから構成設定をインポートして、同じオーケストレーションの送信ポートや受信ポートなどの項目を作成する必要がないようにすることができます。 バインド ファイルの詳細については、「 Oracle E-Business Suite でアダプター バインドを再利用する」を参照してください。