インターフェイス テーブルとインターフェイス ビューに対する操作
Microsoft BizTalk Adapter for Oracle E-Business Suite には、各インターフェイス テーブルに対する一連の標準操作 (選択、挿入、更新、および削除) と、Oracle E-Business Suite の各インターフェイス ビューの選択操作が表示されます。 これらの操作を使用すると、ターゲット インターフェイス テーブルの WHERE 句で修飾された SELECT、INSERT、UPDATE、DELETE ステートメント、およびターゲット インターフェイス ビューの WHERE 句で修飾された SELECT ステートメントを実行できます。 これらの操作は、データ操作言語 (DML) 操作とも呼ばれます。
重要
インターフェイス テーブルとインターフェイス ビューに対して操作を実行する前に、Oracle E-Business アダプターでこれらの成果物のアプリケーション コンテキストを設定する必要があります。 これは、アプリケーション コンテキストを設定すると、成果物のユーザー設定 (責任、organization、言語設定など) とアクセス制御を設定することで、Oracle E-Business Suite でのセキュリティで保護されたトランザクションが容易になるためです。 アプリケーション コンテキストとその設定方法の詳細については、「 アプリケーション コンテキストの設定」を参照してください。
サポートされている DML 操作
次の表は、Oracle E-Business アダプターがサポートする DML 操作を示しています。
操作 | 説明 |
---|---|
Select | 指定された列名の一覧と SQL WHERE 句を指定するフィルター文字列に基づいて、ターゲット インターフェイス テーブルまたはインターフェイス ビューに対して選択操作を実行します。 Select 操作の戻り値は、指定された列と行を含む厳密に型指定された結果セットです。 |
挿入 | ターゲット インターフェイス テーブルに対して挿入操作を実行します。 挿入操作では、指定されたレコード セットに基づいて、ターゲット インターフェイス テーブルへの複数レコードの挿入がサポートされます。 挿入操作の戻り値は、挿入された行の数です。 InlineValue 挿入操作のすべての単純なデータ レコードに対して、 InlineValue という名前の省略可能な属性の値を指定することで、レコードの値をオーバーライドすることを選択できます。 InlineValue 属性を使用すると、シーケンスを使用して主キー列を設定したり、システム日付 (SYSDATE を使用) を日付列に挿入したりするなどの計算値をインターフェイス テーブルに挿入できます。 たとえば、次の INSERT ステートメントでは次のようになります。 <Insert xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/InterfaceTables/AR/AR_ARCHIVE_PURGE_INTERIM"> <RECORDSET> <InsertRecord xmlns="http://schemas.microsoft.com/OracleEBS/2008/05/TableViewRecord/AR/AR_ARCHIVE_PURGE_INTERIM"> <TRNS_DATE InlineValue="sysdate">2008-06-21T15:52:19</TRNS_DATE> <EMPNAME>John</EMPNAME> </InsertRecord> </RECORDSET> </Insert> "2008-06-21T15:52:19" がTRNS_DATEの値として指定されていても、 InlineValue 属性 "SYSDATE" (システム日付) の値がターゲット インターフェイス テーブルに挿入されます。 InlineValue 属性の使用中: - InlineValue 属性に定数値を使用しないでください。 たとえば、INSERT ステートメントで を指定 <EMPNAME InlineValue="John"/> すると、エラーが発生します。 これは、InlineValue 属性の値がそのまま Oracle に渡され、この場合 、John が Oracle E-Business Suite に渡されるためです。これは想定される値ではありません (予期される値は "John" です)。 従業員名の周囲に単一引用符を使用する必要があります。 (例: <EMPNAME InlineValue="’John’"/> )。- InlineValue 属性に対して選択クエリを使用する場合は、SELECT ステートメントをかっこで囲み、選択クエリが 1 つのレコードのみをフェッチするようにする必要があります。 (例: <EMPNAME InlineValue="(SELECT NAME FROM MS_SAMPLE_EMPLOYEES WHERE ID=123)"/> )。メモ: Oracle E-Business Suite で要素が NOT NULL としてマークされている場合は、インライン値を指定した場合でも、その要素の値を指定する必要があります。 これを行わないと、スキーマの検証が失敗します。 |
更新 | ターゲット インターフェイス テーブルに対して Update 操作を実行します。 更新するレコードは、SQL WHERE 句を指定するフィルター文字列によって指定されます。 更新プログラムの値は、テンプレート レコードで指定されます。 Update 操作の戻り値は、更新された行数です。 |
削除 | フィルター文字列で指定された SQL WHERE 句に基づいて、ターゲット インターフェイス テーブルに対して Delete 操作を実行します。 Delete 操作の戻り値は、削除された行の数です。 |
重要な詳細
Oracle E-Business アダプターは、テーブルごとに同じ標準操作セット (選択、挿入、更新、および削除) と、基になる Oracle データベース内の各ビューの Select 操作を表示します。 上記の DML 操作は、基になる Oracle データベースのテーブルとビューでも有効です。
- Oracle データベース内のテーブルとビューに対して操作を実行するようにアプリケーション コンテキストを設定する必要はありません。 ただし、カスタム Oracle E-Business Suite アプリケーションの場合、ユーザーはベース データベース テーブルをインターフェイス テーブルとして登録する場合と登録しない場合があります。 データベース テーブルがインターフェイス テーブルとして登録されていない場合は、アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用しているときに、デザイン時に [成果物ベースのビュー] ノードまたは [スキーマ ベースのビュー] ノードの [テーブル] サブノードで使用できます。
これらのテーブルは、Oracle E-Business アプリケーションに関連付けられています。 そのため、これらのテーブルに対する操作の場合は、アプリケーション コンテキストを設定する必要があります。 「Set Application Contextenter link description here」を参照してください。
- Oracle データベース内のテーブルとビューに対して操作を実行するようにアプリケーション コンテキストを設定する必要はありません。 ただし、カスタム Oracle E-Business Suite アプリケーションの場合、ユーザーはベース データベース テーブルをインターフェイス テーブルとして登録する場合と登録しない場合があります。 データベース テーブルがインターフェイス テーブルとして登録されていない場合は、アダプター サービス アドインの使用、アダプター メタデータの追加ウィザード、またはアダプター サービス参照プラグインの追加を使用しているときに、デザイン時に [成果物ベースのビュー] ノードまたは [スキーマ ベースのビュー] ノードの [テーブル] サブノードで使用できます。