ヘッダーをスキップ

Oracle Fusion Middleware Adapter for Oracle Applicationsユーザーズ・ガイド
11g リリース1(11.1.1.7.0)
部品番号 B61389-04
目次へ移動
目次
前のページへ移動
次のページへ移動

Adapter for Oracle Applicationsの概念

概要

この章では、Adapter for Oracle Applicationの基本的な概念について説明します。アプリケーションのコンテキスト、セキュリティ、ロギングおよびフレックスフィールドがどのように使用またはサポートされるかと、エラーと例外がどのように処理されるかについて、基本的な知識を提供します。この章で詳細を説明する概念は次のとおりです。

アプリケーション・コンテキストについて

Oracle Applicationsとのインタフェースを起動するには、アプリケーションのコンテキストが必要です。アプリケーション・コンテキストは、「ユーザー名」「職責」「職責アプリケーション」および「セキュリティ・グループ」を組み合せたものです。これらの要素は、Oracle Applicationsとのインタフェースを正しく確立するために必要になることがあります。

複数の組織でのアプリケーション・コンテキスト

複数の組織と組織間のリレーションシップは、Oracle Applicationsの単一インストールで定義できます。これらの組織には、会計帳簿、ビジネス・グループ、法的エンティティ、営業単位または在庫組織があります。

各階層の最上位のビジネス・グループを使用して、複数レベルの組織階層を定義できます。新しい組織を定義すると、現在のセッションに関連付けられたビジネス・グループに自動的に割り当てられます。各組織はビジネス・グループに属しています。通常、ビジネス・グループは企業の組織図の最上部にあるボックスです。

ビジネス・グループ階層

図の説明は本文にあります。

複数組織の設定の例

次の図に示すように、複数レベルの会社構造を作成するには、Oracle Applicationsの会計、配布および資材管理の各機能を使用して、在庫組織、営業単位、法的エンティティおよび会計帳簿間のリレーションシップを定義します。

複数組織トランザクション

図の説明は本文にあります。

フランスの営業所とドイツの倉庫という、社内の2つの異なる組織を考えてみましょう。顧客からの発注トランザクションが存在します。この図は発注から搬送までの全体的なプロセスを示しています。

  1. 顧客がフランスの営業所に発注します。

  2. ドイツの倉庫が顧客へ製品出荷を行います。

  3. ドイツの倉庫がフランスの営業所に会社間請求書を発行します。

  4. フランスの営業所がドイツの倉庫に会社間支払を実行します。

  5. フランスの営業所が顧客に顧客請求書を送付します。

  6. 顧客がフランスの営業所に支払を実行します。

データベース・アーキテクチャは、複数組織インストールでも非複数組織インストールでも同じであり、標準のインストール・ツール機能が使用されます。この機能により、ベース製品表ごとにAPPSスキーマにシノニムが自動的に作成され、ベース製品表と同じ名前を使用してこれらのシノニムが定義されます。たとえば、PO OracleスキーマにはPO_HEADERS_ALLという名前の表があり、APPSスキーマには同じ名前の対応するシノニムPO_HEADERS_ALLがあります。PO_HEADERS_ALLシノニムを使用すると、パーティション化されていないデータにアクセスできます。

スキーマ・シノニム

図の説明は本文にあります。

営業単位別複数組織アクセス制御(MOAC)セキュリティ

システム・プロファイル値の設定時、ユーザー名と職責は組織単位または営業単位と関連付けます。

複数組織システム・プロファイル

図の説明は本文にあります。

ユーザーがアクセス権のある営業単位についてアクセス権を許可したりデータの報告を行ったりするためのセキュリティ保護された方法を設定するため、Oracle Applicationsの多くのインタフェースではMOACセキュリティ機能を使用して営業単位のアクセス権限を決定し、関連プロファイル値に基づいて組織IDを設定します。Adapter for Oracle Applicationsは必須のMOAC設定を暗黙的に実行できます。ORG_IDを渡すと、データのアクセスは渡されたOrganization IDに設定されます。

MOACでは、システム管理者はアクセス権限の範囲をセキュリティ・プロファイルに事前定義でき、その後、プロファイル・オプションMO: Security Profileを使用して、セキュリティ・プロファイルを職責に関連付けます。この方法を使用することにより、複数営業単位がセキュリティ・プロファイルと関連付けられ、そのセキュリティ・プロファイルが職責に割り当てられます。したがって、ユーザーはセキュリティ・プロファイルのアクセス制御を介して職責を変更することなく、複数営業単位のデータにアクセスできます。

セキュリティ・プロファイルは、組織階層に基づいて定義します。たとえば、アメリカとイギリスの営業単位で構成される販売会社があるとします。アメリカの販売会社には西部地域販売と東部地域販売があります。販売統括者はアメリカとイギリスの両方の販売に職責があり、管理者はアメリカまたはイギリスのいずれかに職責があり、販売担当は指定された販売地域にのみ職責があります。販売組織階層は次のようになります。

販売組織階層

図の説明は本文にあります。

会社内の販売データをセキュリティ保護するために、事前定義済のセキュリティ・プロファイルに関連営業単位を関連付けできます。たとえば、すべての販売データのアクセス権限がVision Salesセキュリティ・プロファイルにグループ化されています。アメリカ販売セキュリティ・プロファイルはアメリカ関連データ用に作成され、地域セキュリティ・プロファイルは指定地域データ用に作成されています。システム管理者は、複数の営業単位を含むこれらのセキュリティ・プロファイルを適切な職責を介してユーザーに関連付けることができます。したがって、販売管理者は、その職責を変更することなく東部または西部地域の販売データに容易にアクセスできます。次の図は、この販売会社のセキュリティ・プロファイル、職責および営業単位間の関係を示しています。

セキュリティ・プロファイル、職責および営業単位間の関係図

図の説明は本文にあります。

職責によって決まる営業単位

職責は、その関連付けられているセキュリティ・プロファイルが営業単位にリンクしているため、どの営業単位にアクセス権があるかは職責がキーとなって決まります。

  1. PL/SQL APIまたはコンカレント・プログラムを使用してOracle Applicationsと統合する場合、アプリケーションのコンテキストは、「ユーザー名」、「職責」、「職責アプリケーション」および「セキュリティ・グループ」の各ヘッダー・プロパティに渡される値に基づいて設定されます。

    注意: 下位互換性維持のため、「職責アプリケーション」、「セキュリティ・グループ」または「NLS言語」ヘッダー・プロパティが渡された場合を除いて、コンテキスト関連の例外またはエラーはスローされません。

  2. MOAC設定は、ユーザーが所属する「職責アプリケーション」に基づいて行われます。Organization IDを渡すと、組織のアクセスは渡された組織に設定されます。

  3. ユーザーが希望の言語でインタフェースを起動する必要がある場合は、ヘッダー・プロパティ「NLS言語」を渡すことができます。「NLS言語」のデフォルト値は、Oracle Applications内のユーザーのプリファレンスで指定された言語です。

ビジネス・プロセスをOracle Applicationsと統合する際には、これらのアプリケーション・コンテキスト値を、Adapter for Oracle Applicationsがヘッダー・プロパティを通じて提供する柔軟なメカニズムによって伝播することが重要です。

この項の内容は、次のとおりです。

正規化されたメッセージ・プロパティのサポート

BPELプロセスで必要なアプリケーション・コンテキスト値を効果的に設定したり、XML Gatewayインバウンド・トランザクションが正常に完了するために必須のヘッダー・プロパティを移入するために、Adapter for Oracle Applicationsには柔軟なメカニズムが備えられています。それぞれのコンテキスト値やヘッダー変数はこのメカニズムによって設定され、invokeアクティビティによってアダプタ・ユーザー・インタフェースに直接渡されます。このメッセージの正規化機能により、ヘッダー・サポート上の柔軟なソリューションが提供されるだけでなく、ヘッダー値を渡すときにassignアクティビティを使用しないことによって設計時タスクが簡易化されます。

アプリケーション・コンテキストのメッセージ・プロパティの設定

次のヘッダー・プロパティは、PL/SQLおよびコンカレント・プログラムのインタフェースでアプリケーションのコンテキストを設定するために使用します。

注意: 以前のリリースで使用されている既存のヘッダー・プロパティは、入力として「職責キー」および「職責名」を使用できるようになりました。ヘッダー・プロパティjca.apps.NLSLanguageが設定されており、かつ「職責名」が渡される場合、jca.apps.Responsibilityに渡される値は同じ言語で記述されていることが想定されます。ただし、「職責キー」およびその他のヘッダー・プロパティは言語非依存です。

アプリケーション・コンテキストを設定するために、これらのすべてのヘッダー・プロパティを同時に使用する場合があります。または、「ユーザー名」および「職責」のみを渡すと、以前のリリースと同様に処理されます。

NULLまたは空の値の場合は、デフォルトの「ユーザー名」は「SYSADMIN」、デフォルトの「職責」は「システム管理者」、デフォルトの「セキュリティ・グループ・キー」は「標準」およびデフォルトの「NLS言語」は「US」となります。

XML Gatewayインバウンド・トランザクションのメッセージ・プロパティの設定

XML Gatewayのインバウンド・トランザクションおよびエンキュー・トランザクションに必要なXML Gateway情報の設定には、次のヘッダー・メッセージ・プロパティが使用されます。

メッセージ・プロパティ・サポートの設計時タスク

Adapter for Oracle Applicationsでは、次の手順に従って、メッセージの正規化をサポートするための設計時タスクを完了します。

  1. BPELプロセスを使用した新しいSOAコンポジット・アプリケーションの作成

  2. パートナ・リンクの作成

  3. invokeアクティビティの構成

    このアクティビティでは、次のタスクを実行します。

複数組織アクセス制御(MOAC)のサポート

Adapter for Oracle Applicationsでは、Organization IDを、invokeアクティビティの「プロパティ」タブのjca.apps.ORG_IDとして設計時に使用可能なヘッダー・プロパティとして渡すことができます。

リリース12.0以降のOracle Applicationsでは、MOAC設定はMO_GLOBAL.INIT(<Application Name>)コールを使用して自動的に行われます。続いて、ORG_IDが渡された場合、組織による特定のORG_IDへのアクセスを設定するために、MO_GLOBAL.set_policy_context('S', <ORG_ID>)へのコールが行われます。

ヘッダー・メッセージ・プロパティの設定

図の説明は本文にあります。

「複数組織の設定の例」に示した例では、フランスの営業所で変更オーダーが処理されると、フランス営業所の営業マネージャがシステムにログオンしてオーダーを更新します。これにより、その変更に関するPL/SQL APIが起動します。ヘッダーに含まれる組織IDにプロパティ値(フランス営業所を表す207など)が割り当てられていれば、営業マネージャに関連付けられている組織IDがフランス営業所に設定され、APIの起動に使用されます。

複数言語のサポート

前に説明したメッセージの正規化機能およびOracle E-Business Suiteの複数言語サポート(MLS)機能を利用することにより、Adapter for Oracle Applicationsには、適切な言語を実行時に動的に設定できる包括的な言語サポート・メカニズムが備えられています。

「NLS言語」プロパティ値の優先

アプリケーション・ユーザーがAPIの実行中にシステムからトランザクション・データを取得したり、エラー・メッセージを受信すると、データやエラー・メッセージのセッション言語は次の条件に基づいて決定されます。

  1. 「NLS言語」の値は、ヘッダー・プロパティjca.apps.NLSLanguageを使用して設定できます。有効な言語の値が渡される(すなわち、言語がOracle E-Business Suiteインスタンスで有効化されている)場合、セッション言語は対応する言語に設定されます。

  2. 「NLS言語」ヘッダー・プロパティが渡されない場合は、セッション言語を設定するために、ユーザー作業環境に基づくユーザーのデフォルト言語が使用されます。

  3. ユーザーのデフォルト言語が見つからないか、または設定されていない場合、「NLS言語」(jca.apps.NLSLanguage)プロパティ値は「US」(アメリカ)に設定されます。

このメカニズムにより、適切なセッション言語が最初に「NLS言語」プロパティ値に基づいて実行時に動的に設定され、その後、ユーザーのデフォルト言語に基づいて設定されて、最後にデフォルトの「NLS言語」プロパティ値「US」によって決定されます。

jca.apps.NLSLanguageを使用した「NLS言語」プロパティ値の設定方法は、「正規化されたメッセージ・プロパティのサポート」を参照してください。

ユーザーのデフォルト言語の決定

データの問合せや取得にデータベース・セッションで使用されるデフォルトの言語を特定するために、Adapter for Oracle Applicationsは、ユーザー、職責、アプリケーションおよびサイトを含むすべてのレベルでICX: Languageプロファイル・オプションを調べます。どのレベルでも設定されていない場合、Adapter for Oracle Applicationsはデータベース・インスタンスのNational Language Support(NLS)パラメータからNLS_LANGUAGEパラメータをとります。セッションで初期化されているNLSパラメータは次のとおりです。

たとえば、デフォルト言語が日本語のユーザーがシステムにログインして、BPELプロセスのパートナ・リンクでユーザーが定義したAPIを実行してトランザクションを実行する場合、Adapter for Oracle Applicationsでは、最初に「NLS言語」プロパティ値が渡されているかどうかが検査されます。有効な言語が渡される場合、セッション言語は、デフォルト言語に関係なく、渡された値に基づいて設定されます。「NLS言語」プロパティが渡されない場合、Adapter for Oracle Applicationsでは、セッション言語がユーザー優先言語またはデフォルト言語に設定されます。それらの言語が見つからない場合、言語は「US」(アメリカ)となります。デフォルト言語はOracle Applicationsの「一般作業環境」ページで設定します。

注意: 「一般作業環境」ページで設定したデフォルト言語によって、ICX: Languageプロファイル・オプションが更新されます。

アプリケーション・コンテキストが設定されている場合、ユーザー作業環境(日付書式やタイムゾーンなど)が自動的に考慮される場合があります。

ユーザー・プリファレンス設定の詳細は、Oracle E-Business Suiteユーザーズ・ガイドの「Oracle E-Business Suiteスタート・ガイド」の章にあるプリファレンス設定に関する項を参照してください。

Adapter for Oracle Applicationsのセキュリティについて

セキュリティは、アプリケーション・コンテンツを不正アクセスから保護するように設計された、最も重要な機能です。Adapter for Oracle Applicationsでは、Oracleユーザー管理のセキュリティ・メカニズムを利用することにより、BPELプロセスを介して公開される、Oracle Applicationsを更新するAPIの実行を、認証済権限のあるユーザーのみに許可するセキュリティ機能を提供できます。この機能により、不正アクセスやセキュリティ・チェックなしの実行からApplication Program Interface(API)が保護されます。

ロールベースのアクセス制御(RBAC)を使用した機能セキュリティ

機能セキュリティは、Oracle Applicationsにおける基本的なアクセス制御です。システム内の個々のメニューとメニュー・オプションへのユーザー・アクセスを、行内にどのアプリケーション・データがあるかに関係なく制限します。APIは、Oracle Applicationsへのデータの挿入および更新を可能にするストアド・プロシージャであるため、機能セキュリティ・レイヤーにAPIへのアクセスを強制されるとき、実際に暗黙的にデータ・アクセスをアプリケーションに制限します。

データ・セキュリティは機能セキュリティ上に構築され、特定のデータ・レコードのセキュリティをモデリングまたは強制するためにセキュリティ制御の追加のレイヤーを提供します。言い換えると、データ・セキュリティは、アプリケーションのレコードへのアクセスのセキュリティをさらにデータ・レベルにまで細かくします。

セキュリティ制御に粒度を持たせ、APIの実行を正しい権限を持つ適切なユーザーのみに許可するようにするために、Adapter for Oracle ApplicationsではOracleユーザー管理のロールベースのアクセス制御セキュリティ(RBAC)を利用して、ユーザー・ロールを介することで機能セキュリティを強化します。ユーザーがAPIにアクセスできるかどうかは、ユーザーに付与されたロールで決まります。このアプローチはデータ・セキュリティと機能セキュリティを踏まえたものですが、その両方の範囲を超えた内容になっています。

ロールベースのアクセス制御を使用した機能セキュリティ

図の説明は本文にあります。

Oracle Adapter for Oracle Applicationsにおけるセキュリティのしくみについて理解を深めるため、このセクションには次のトピックが含まれています。

オーバーロードされた機能に対する機能セキュリティのサポート

Adapter for Oracle Applicationsで、オーバーロードされたPL/SQL APIのアクセス制御を扱う方法が提供されるようになりました。この機能は統合リポジトリのユーザー・インタフェースから作成された権限付与と連動し、どのプロファイル・オプションにも依存しません。

注意: このセキュリティ・サポートは、統合リポジトリ内で使用可能なすべてのインタフェースで機能します。その他のインタフェースについては、「プロファイル・オプションを介した機能セキュリティのサポート」で説明するプロファイル・オプションを使用して、機能セキュリティを有効にする必要があります。

このため、2つの新しいJCAプロパティが導入されています。

ユーザーが機能セキュリティ認可チェックの実行を希望する場合、次のプロパティ情報をWSDLファイル(XX_apps.jca)に追加する必要があります。

<property name="DataSecurityCheck" value="yes"/>

ただし、もう一方のプロパティIRepOverloadSeqは、設計時、パートナ・リンク作成中にAdapter for Oracle Applicationsによって自動的に導出されます。これらの2つのプロパティに基づき、ヘッダー・プロパティとして渡されるユーザー名に対して機能セキュリティ・チェックが実行されます。

統合リポジトリを介したセキュリティ権限付与の作成

オーバーロードされた機能に対するこのタイプのデータ・セキュリティ・チェックは、統合リポジトリのユーザー・インタフェースで作成されたセキュリティ権限付与と連動します。このセキュリティ権限付与を特定のインタフェース・タイプについて「付与の作成」ページで実行すると、メソッドを非常に粒度の高いレベルで制御できます。

統合リポジトリ管理者は、PL/SQL APIで1つ以上のメソッドを選択してから、選択したメソッドをユーザー、ユーザー・グループまたはすべてのユーザーが実行できるように、適切なセキュリティ権限付与を作成して認証できます。

統合リポジトリ内でのセキュリティ権限付与の作成

図の説明は本文にあります。

統合リポジトリのユーザー・インタフェースでは、インタフェースに含まれるオーバーロードされた機能はそれぞれ、「付与の作成」機能を使用して特定のユーザー、ユーザー・グループまたはすべてのユーザーに個別に付与できます。「プロシージャとファンクション」領域(または「メソッド」領域)で2つ以上のオーバーロードされた機能を選択した場合、「付与の作成」ページで選択したメソッドのテーブルに「過負荷」列が表示され、2つ以上のオーバーロードされた機能が付与用に選択されていることを示します。

統合リポジトリのユーザー・インタフェースを使用してセキュリティ権限付与を作成する方法の詳細は、Oracle E-Business Suite統合ゲートウェイ実装ガイドの「ネイティブ統合インタフェースとサービスの管理」の章にあるセキュリティ権限付与の管理に関する項を参照してください。

プロファイル・オプションを介した機能セキュリティのサポート

セキュリティ・アクセス制御は、ロールベースのアクセス制御セキュリティ(RBAC)における機能セキュリティに基づいてユーザー・ロールを介して定義され、ユーザーがAPIにアクセスできるかどうかがユーザーに付与されたロールで決まります。ロールは、ユーザーが特定の機能を実行するために必要な職責、権限、権限セットおよび機能セキュリティ・ポリシーを一元管理するように構成できます。これにより、ユーザー権限の一括更新が簡素化されます。新しい権限セットを自動継承するロールを使用することで、変更を実施できるためです。ジョブ機能に基づいて、各ロールに特定の権限(または必要な場合は権限セット)を割当てできます。たとえば、調達組織には「購買担当」ロール、「購買管理者」ロールおよび「購買サポート」ロールなどを組み込むことができます。「購買管理者」ロールには発注(PO)作成、発注変更および契約発注関連のAPIすべてを含む権限セットを組み込み、「購買担当」ロールや「サポート」ロールにはアクセス権限を与えないジョブ機能の実行をこのロールに許可するなどが可能です。

Adapter for Oracle Applicationsでは、Oracle Integration Repositoryにある注釈付きのAPIはFND_FORM_FUNCTIONS表に登録されており、機能セキュリティ(FND_FORM_FUNCTIONS)が適用可能です。これにより、各APIについて、セキュリティ保護された機能を作成できます。

Adapter for Oracle Applicationsでは、権限セットの概念を使用して、関連するAPIを1つの権限セット下にまとめ、順序付けできます。各権限セットを機能ロールに関連付け、セキュリティ権限付与を介してユーザーに割り当てることができます。

機能セキュリティの有効化

Adapter for Oracle Applicationsでは、このセキュリティ・サポートをオプション機能として提供しています。すべてのログイン・ユーザーがセキュリティ・チェックなしでAPIにアクセスし実行できるようにする場合は、「BPEL用EBSアダプタ、機能セキュリティ使用可能(EBS_ADAPTER_FUNCTION_SEC_ENABLED)」プロファイル・オプションを使用して、この機能を無効にできます。

注意: セキュリティ権限付与を作成することは容易で、どのプロファイル・オプションにも依存しないため、統合リポジトリにリストされたインタフェースに対して推奨する方法は、オーバーロードされた機能に前述の「DataSecurityCheck」を使用することです。

ユーザーがBPELプロセスを介してOracle E-Business Suite内のAPIを起動しようとした場合、機能セキュリティ・プロファイルが有効になっていると、API上で認証権限の検証が完了した後で初めてAPIが起動されます。

たとえば、BPELプロセスで公開されているPL/SQL APIに対するアクセス権限がユーザーにない場合、PL/SQL APIを起動しようとすると、BPELプロセスの実行は失敗します。認証済権限がなければ、機能セキュリティ検証例外メッセージが生成され、ユーザーにそのPL/SQL APIの権限がないことが示されます。

この機能の詳細は、My Oracle Support Knowledge Document 787637.1『Oracle Fusion Middleware Adapter for Oracle Applications, Release 11g』を参照してください。機能セキュリティおよびRBACセキュリティ・モデルの詳細は、Oracle E-Business Suite システム管理者ガイド - セキュリティを参照してください。

ユーザー・ロールを介したセキュリティ権限付与の作成

APIの起動を適切な実行権限のあるユーザーにのみ許可するようセキュリティ保護するため、Oracle Applicationsで次の手順を実行して、ユーザー・ロールを介してユーザーにセキュリティ権限付与を作成する必要があります。

  1. 権限セットの作成

  2. ユーザー・ロールの作成

  3. ロールを介したユーザーへの権限セットの付与

権限セットの作成

権限セットは、次の手順を使用して作成します。

  1. システム管理者の職責を使用してOracle E-Businessにログインします。

  2. 「ナビゲータ」から「アプリケーション・メニュー」を選択して「メニュー」ウィンドウにアクセスします。

  3. 次のメニュー情報を入力します。

  4. 「順序」と「機能」の値を入力して、この権限セットにグループ化する機能をすべて追加します。

    1. 「順序」フィールドに入力します。

    2. 「機能」の列で、この権限セットに割り当てる機能を検索します。

      「機能」ウィンドウで検索を実行して機能名を選択します。たとえば、パブリックPL/SQL API検索の構文は、PLSQL:<package name>:<procedure name>です。「検索」フィールドに%PLSQL:OE%と入力し、「検索」をクリックして検索を実行します。

      機能の検索

      図の説明は本文にあります。

      コンポジット・アプリケーションに基づいて機能を選択し、BPELプロセスまたはMediatorから起動するAPIに権限を付与します。

      たとえば、受注明細変更のBPELプロセスの場合は、受注変更PL/SQL APIに含まれている受注明細変更関連の機能を選択して権限セットとしてグループ化し、ロールを介して該当するユーザーにその権限セットを付与します。

      関連項目: ユーザー・ロールの作成

      権限セット・メニュー

      図の説明は本文にあります。

  5. 権限セットを保存します。

ユーザー・ロールの作成

権限セットはユーザー・ロールを介して付与されます。したがって、最初にロールを作成してからユーザーにそのロールを割り当てる必要があります。

ユーザー・ロールは、次の手順を使用して作成します。

  1. ユーザー管理職責を使用してOracle E-Businessにログインします。

  2. 「ナビゲータ」から「ロールおよびロール継承」を選択し、「ロールおよびロール継承」ページにアクセスします。

  3. 「ロールの作成」をクリックして、「ロールの作成」ページにアクセスします。

  4. 次の情報を入力してユーザー・ロールを作成します。

  5. 情報を保存して「付与の作成」をクリックします。

  6. 「付与の作成: 付与の定義」ページに次の情報を入力します。

  7. 「次」をクリックします。

  8. 「付与の作成: オブジェクト・パラメータの定義およびセットの選択」ページで、「権限セットの作成」項で作成した権限セットを選択し、「次」をクリックします。

  9. 「終了」をクリックします。

ロールを介したユーザーへの権限セットの付与

ロールを介してユーザーに権限セットを付与するには、次の手順を使用します。

  1. ユーザー管理職責を使用してOracle E-Businessにログインします。

  2. 「ナビゲータ」から「ユーザー」を選択して「ユーザー保守」ページにアクセスします。

  3. ロールを割り当てるユーザーを検索して「移動」をクリックします。

  4. ロールを割り当てるユーザー名の隣にある「更新」アイコンを選択します。

  5. 「ユーザーの更新」ページで「ロールの割当」をクリックすると「検索」ウィンドウが移入され、以前に作成したロールが検索できます。

  6. ロール(EBS_ADAPTER_ROLEなど)を選択して更新内容を保存します。

PL/SQL APIでのフレックスフィールドのサポート

Oracle Adapter for Oracle Applicationsは、PL/SQL APIでフレックスフィールドを使用できるようにします。PL/SQLインタフェースがフレックスフィールドを含むように構成されている場合、フレックスフィールド・データやマッピングなどのフレックスフィールド情報が設計時に表示されるのみでなく、XSDにも含められます。さらにこの機能により、Adapter for Oracle Applicationsのランタイムがフレックスフィールドのコンテキスト内で動作できます。

注意: 以前のリリースでは設計時にフレックスフィールド情報が表示されず、かわりに汎用APIパラメータ名が表示されていたことに注意してください。ペイロードのXSDにもフレックスフィールド情報のかわりに汎用パラメータ名が表示されていました。

PL/SQL APIでこの機能を使用できるのは、Oracle E-Business Suiteリリース12以上のみです。

フレックスフィールドについて

フレックスフィールドはOracle E-Business Suiteの基本機能の1つです。オブジェクトを表したり、必要な場合にのみ表示されるコンテキスト依存フィールドを実装するための柔軟な手段を提供します。フレックスフィールドはサブフィールド、つまりセグメントで構成されます。2タイプのフレックスフィールド(キー・フレックスフィールドと付加フレックスフィールド)を使用して、追加のプログラミングなしでOracle E-Business Suiteの機能をカスタマイズできます。ビジネス・ニーズに合せてカスタマイズした固有の情報を提供するために、 Adapter for Oracle Applicationsはフレックスフィールドを含むPL/SQL APIのためのフレックスフィールド・サポートを提供しています。

設計時のフレックスフィールド・データの構成方法

パートナ・リンク作成での設計時、PL/SQLインタフェースがフレックスフィールドを含むように構成されている場合、適切なフレックスフィールド情報とAPIパラメータがOracle Applicationsモジュール・ブラウザの右側のペインに表示されます。任意で、選択したAPIに対してフレックスフィールド・マッピングを変更または新規作成したり、PL/SQL APIをフレックスフィールドを含むように構成せずにパートナ・リンクの作成を続行することもできます。

Adapter for Oracle Applicationsでフレックスフィールド・データを構成するには、以前に作成された既存のフレックスフィールド・マッピングを使用するか、必要に応じて新規のマッピングを作成できます。新規のマッピングを作成する場合は、フレックスフィールド・マッピング・ウィザードが表示され、各構成ページで、選択したAPIと望みどおりにマッピングされたキー・フレックスフィールドや付加フレックスフィールドを追加できます。

主な機能

Oracle Adapter for Oracle Applicationsが提供する主なフレックスフィールド機能は次のとおりです。

フレックスフィールドの構成における主な要素

Oracle Adapter for Oracle Applicationsは、APIから参照されるキー・フレックスフィールドと付加フレックスフィールドを両方ともサポートします。

一般に、キー・フレックスフィールドはOracle E-Business Suiteで必要とされる識別子の多くについて独自の構造を定義するために使用し、付加フレックスフィールドはOracle E-Business Suiteで必要とされる情報の範囲を超えてビジネス・エンティティに関する追加情報を収集するために使用します。

フレックスフィールドの詳細は、Oracle E-Business Suiteフレックスフィールド・ガイドを参照してください。

フレックスフィールドのマッピングの概念

すべてのフレックスフィールドには、そのタイプに関係なく所有アプリケーションがあります。たとえば会計フレックスフィールドは、Oracle General Ledgerアプリケーションに所有されています。フレックスフィールドを構成するときには、まずそのフレックスフィールドが所属するアプリケーションを選択した後、選択したアプリケーション(General Ledgerなど)に含まれるフレックスフィールド名(会計フレックスフィールドなど)を選択する必要があります。

次の図は、キー・フレックスフィールドのマッピングの高レベルの概念を示しています。

図の説明は本文にあります。

この図のFlexfield 2 (会計フレックスフィールド)はGeneral Ledgerアプリケーションに所属しており、データ・タイプ別にグループ分けできる複数のセグメント(Segment 1からSegment n)を含んでいます。

フレックスフィールド構成作業の中核はマッピングです。フレックスフィールドとそれが所属するアプリケーションを選択すると、フレックスフィールドのメタデータに基づいて、一致するセグメントと関連インタフェース・パラメータがマッピングのためにApplication Object Library (AOL)フレックスフィールド表から導出されます。

APIパラメータは、選択されたデータ・タイプ(親タイプまたはレコード・タイプ)に基づいて表示されます。APIパラメータとフレックスフィールド表の列は、手作業でマップすることも自動マップ機能を使用して自動的にマップすることもできます。

注意: 自動マップ機能では、表のすべての列が、パラメータ名の一部に列名を含むパラメータにマップされます。たとえば、パラメータP_ATTRIBUTE1はATTRIBUTE1という名前の列にマップされ、パラメータP_ATTRIBUTE2はATTRIBUTE2という名前の列にマップされます。

マッピングが完了したら、キー・フレックスフィールドのフレックスフィールド構造を選択する必要があります。

注意: フレックスフィールド構造は、セグメントの特定の構成です。セグメントを追加または削除したり、フレックスフィールド内のセグメントの順序を並べ替えると、別の構造になります。特定の構造を構成する各セグメントは、論理的または機能的に関連しています。

付加フレックスフィールドの場合は、さらにコンテキスト列のマッピングも必要です。コンテキスト列も含めた表のすべての列を、1つのレコード・タイプまたは親タイプに属するスカラー・パラメータにマップする必要があります。マッピングが完了したら、付加フレックスフィールドの選択したコンテキスト列に対してコンテキスト値を少なくとも1つ選択してください。

たとえば、チリ(Chile)では小区域や比較的狭い場所を地理的に表現するために、州および郡に加えてRegionとComunaを使用します。同様に、エクアドル(Ecuador)の地理ではそれぞれ異なる境界を記述するためにZonaとParroquiaを使用します。これは、アプリケーションをビジネス・ニーズに合せてカスタマイズするために付加フレックスフィールドを使用する格好の例です。ChileとEcuadorは、付加フレックスフィールドTCA Location Informationを定義するときのコンテキスト値です。Parameter1 (またはParameter2)はATTRIBUTE1 (またはATTRIBUTE2)にマップされ、その値は選択されたコンテキスト値(ChileまたはEcuador)によって決まります。

注意: 付加フレックスフィールドの場合、APIパラメータを通じてランタイムがコンテキスト値を使用できるようにする必要があります。

図の説明は本文にあります。

Adapter for Oracle Applicationsは拡張XSDを生成するために、Oracle Applicationsモジュール・ブラウザから定義されたフレックスフィールド・マッピングを使用します。このXSDには、設計時に選択されたマッピングに基づくフレックスフィールド・セグメント名が含まれます。Adapter for Oracle Applicationsはランタイム処理のために、Oracle Databaseアダプタと連携して拡張スキーマ・ファイルを処理します。

フレックスフィールド構造とコンテキスト値の定義に関するガイドライン

次のいずれかの条件が満たされた場合、付加フレックスフィールドのコンテキスト値またはキー・フレックスフィールドの構造を選択することはできません。

フレックスフィールドのマッピングは、拡張スキーマまたはXSDファイルの生成に使用されます。

フレックスフィールドの構成に関するガイドラインと制約

フレックスフィールド構成ユーザー・インタフェースへのアクセス

設計時にパートナ・リンクを作成しているときに、選択したPL/SQLインタフェースがフレックスフィールドを含むように構成されている場合、フレックスフィールド情報がOracle Applicationsモジュール・ブラウザの右側のペインに表示されます。

たとえば、PL/SQL APIのSYNC_ACCT_ORDERは、検索して取得するか、「その他インタフェース」→「カスタム・オブジェクト」→「PLSQL API」ノードの下にリストされたHZ_AIA_CUSTOM_PKGから選択できます。このAPIの中に構成されたフレックスフィールド・データがあれば、それがOracle Applicationsモジュール・ブラウザに表示されます。

フレックスフィールド情報を持つAPI

図の説明は本文にあります。

Oracle Applicationsモジュール・ブラウザ内のフレックスフィールド・データについて

選択したAPIに関連付けられたフレックスフィールド情報は、Oracle Applicationsモジュール・ブラウザの次の各領域に表示して構成することができます。

注意: また、Adapter for Oracle Applicationsでは、単にブラウザで「OK」をクリックしてパートナ・リンクの作成を進めるのみで、選択したAPIについてフレックスフィールドの構成または変更をバイパスすることもできます。

フレックスフィールド構成ファイルの確認

パートナ・リンクを作成すると、拡張XSDファイルとフレックスフィールド構成ファイルおよびマッピング・ファイルが生成されます。これらのファイルを見て、フレックスフィールドの詳細を確認できます。「フレックスフィールドの構成の確認」を参照してください。

新しいマッピングの追加または構成

Oracle Applicationsモジュール・ブラウザに表示されるAPIのリストを通じて検索または参照を実行した後、選択したPL/SQLインタフェースがフレックスフィールドを含むように構成されている場合、そのAPI内のフレックスフィールド情報がウィンドウの右側のペインに表示されます。

選択したAPIについて新しいマッピングを追加または構成するには、「フレックスフィールドの構成」領域にある「マッピングの追加」をクリックします。ウィザードで表示される一連のフレックスフィールド選択ページの指示に従って、選択したAPIの新しいマッピングを構成できます。

フレックスフィールドのサブフロー - ようこそ

図の説明は本文にあります。

「ようこそ」ページの「次へ」をクリックすると、「フレックスフィールド・タイプの選択」ページが表示され、構成または追加するフレックスフィールドとしてキー・フレックスフィールドまたは付加フレックスフィールドを選択できます。

フレックスフィールドのサブフロー - フレックスフィールド・タイプの選択

図の説明は本文にあります。

構成するフレックスフィールドのタイプとして、「キー・フレックスフィールド」または「付加フレックスフィールド」ラジオ・ボタンを選択します。

選択したAPIについて、ビジネスのニーズに合せて複数のキー・フレックスフィールドまたは付加フレックスフィールドを構成できることに注意してください。

次を参照してください。

キー・フレックスフィールドの構成

サンプル・ビジネス・シナリオ

INV_EBI_ITEM_PUB.PROCESS_ITEM_LIST APIを例に取り、フレックスフィールド・データを使用したインバウンドWebサービスの作成について説明します。

サード・パーティ・アプリケーションから在庫品目リストの処理を求めるリクエストが発行されると、キー・フレックスフィールド・データが入力ペイロードの一部としてルーティングされ、Oracle E-Business Suiteで品目リストを更新するためにPL/SQL APIのINV_EBI_ITEM_PUB.PROCESS_ITEM_LISTが起動されます。更新されたデータは、レスポンス・メッセージとしてクライアントに渡されます。

次の図は、サービス起動プロセスの流れを示しています。

図の説明は本文にあります。

サービスをデプロイした後、Oracle E-Business Suiteアプリケーションから在庫品目リストに対する問合せを直接行うことで、プロセスを検証できます。取得された品目データは、ペイロードからの入力と同じであるはずです。

パートナ・リンク作成の一環としてのキー・フレックスフィールドの構成

APIとして選択したINV_EBI_ITEM_PUB.PROCESS_ITEM_LISTについてキー・フレックスフィールドを構成するには、「フレックスフィールドの構成」領域にある「マッピングの追加」をクリックします。ウィザードで表示される一連のフレックスフィールド選択ページの指示に従って、選択したAPIの新しいマッピングを構成できます。

「ようこそ」ページで「次へ」をクリックします。「フレックスフィールド・タイプの選択」ページが表示されます。

フレックスフィールドのサブフロー - フレックスフィールド・タイプの選択

図の説明は本文にあります。

キー・フレックスフィールドを構成するには、次の手順を実行します。

  1. 「フレックスフィールド・タイプの選択」ページで「キー・フレックスフィールド」ラジオ・ボタンを選択します。「次」をクリックします。「フレックスフィールド・アプリケーションの選択」ページが表示されます。

  2. 目的のアプリケーション名を見つけるには、検索キーワード(%App%など)を入力して「問合せ」をクリックし、検索を実行します。検索基準と一致したエントリがすべて表示されます。たとえば、フレックスフィールドが所属するアプリケーションの名前として、「Inventory」ラジオ・ボタンを選択します。

    フレックスフィールドのサブフロー - フレックスフィールド・アプリケーションの選択

    図の説明は本文にあります。

    または、直接「問合せ」をクリックして検索キーワードなしの空白検索を実行します。この場合は、すべてのフレックスフィールド・アプリケーション名が選択肢として表示されます。

    「次」をクリックします。

  3. 「フレックスフィールドの選択」ページで、検索キーワードを入力し(必要な場合)、「問合せ」をクリックして検索を実行します。一致したキー・フレックスフィールドがすべて選択肢として表示されます。目的のキー・フレックスフィールドのラジオ・ボタンを選択します。

    フレックスフィールドのサブフロー - フレックスフィールドの選択

    図の説明は本文にあります。

    「次」をクリックして処理を続行してください。

  4. 「データ型の選択とマッピングの構成」ページが表示され、そこでキー・フレックスフィールドのマッピングを選択できます。選択したキー・フレックスフィールド名が自動的にフレックスフィールド名として表示されます。

    フレックスフィールドのサブフロー - データ型の選択とマッピングの構成

    図の説明は本文にあります。

    レコード・タイプを持たない単純なAPIの場合、フレックスフィールド・マッピングを構成するには、「データ型の選択」ドロップダウン・リストから<Parent_type>を選択します。すると、必要なフレックスフィールド・メタデータがすべてOracle E-Business Suiteデータベースから取得され、親レベルのパラメータがマッピングのために表示されます。

    注意: Parent_typeは、プロシージャ・レベルですべてのスカラー・パラメータをマッピングに含めるための疑似タイプです。

    複雑なAPIの場合は、レコード・タイプを選択することもできます。API内で1つのレコード・タイプが複数回出現する場合は、参照のためにパスのリストが表示されます。レコード・タイプからのパラメータがフレックスフィールド表の列にマップされた場合、それが出現したすべてのパスに同じマッピングを適用できます。

    このマッピング・ページでは、手作業でマッピングすることも、自動マップ機能を使用することもできます。

    注意: パラメータがすでに表の列にマップされている場合、そのパラメータを別の列に再マップすることはできません。この場合は、マップされたパラメータのかわりに「マップ済」と表示されます。

    現在のマッピングをクリアするには、「マッピングのクリア」をクリックします。「マップ済」のマークが付いているマップ済の列はすべて、システムから削除されません。

    「次」をクリックして処理を続行してください。

  5. フレックスフィールドの構成は、キー・フレックスフィールドの構造と付加フレックスフィールドの最低1つのコンテキスト値がないと完了しません。

    「フレックスフィールドの構成」ページで、必要に応じて「構造」フィールドに検索キーワードを入力するか、単に「問合せ」をクリックして空白検索を実行します。選択したキー・フレックスフィールドに対して一致した構造がすべて表示されます。

    構造は1つのみ選択します(SYSTEM_ITEMSなど)。

    望みどおりの構造が選択肢としてウィザードに表示されるようにするには、特定の基準を満たす必要があることに注意してください。「フレックスフィールド構造とコンテキスト値の定義に関するガイドライン」を参照してください。

    フレックスフィールドのサブフロー - フレックスフィールドの構成

    図の説明は本文にあります。

    注意: フレックスフィールド・マッピングに含められるキー・フレックスフィールドの構造は1つのみです。付加フレックスフィールドの場合は、複数のコンテキスト値をマッピングに含めることができます。

    「終了」をクリックします。

  6. 「Oracle Applicationsモジュール・ブラウザ」ウィンドウが表示されます。新しく追加したキー・フレックスフィールド構造と、マップされたパラメータが「パラメータと対応するフレックスフィールドのマッピング」領域に表示されます。

    キー・フレックスフィールドの情報も、「フレックスフィールド定義」セクションに表示されます。

    選択したキー・フレックスフィールドの情報の表示

    図の説明は本文にあります。

    「OK」をクリックします。

  7. 「アプリケーション・インタフェース」ページが開き、選択したAPIが表示されます。

    図の説明は本文にあります。

    「次へ」をクリックし、「終了」をクリックします。

    パートナ・リンクに対応するWSDLファイルが生成されます。拡張XSDファイル(たとえばProcessItem_KFF_flex.xsd)も作成されます。このXSDファイルには、フレックスフィールドのセグメント名で置き換えられたパラメータを表す要素を使用してプロシージャの引数を記述するスキーマが収められています。

    「適用」をクリックし、「OK」をクリックします。

  8. さらに、構成ファイルとフレックスフィールド・マッピング・ファイルも作成されます。これらのファイルの詳細は、「フレックスフィールドの構成の確認」を参照してください。

選択したAPIについて付加フレックスフィールドを追加する方法は、「付加フレックスフィールドの構成」を参照してください。

設計時のマップされたキー・フレックスフィールドの表示

パートナ・リンクの作成時に構成されたキー・フレックスフィールドのマッピング・データを、設計時に表示できます。

キー・フレックスフィールドを持つコンポジットの例

次の例では、SOAコンポジットのBPELプロセスにおけるキー・フレックスフィールドのマッピングについて説明します。

SOAコンポジット内のBPELプロセスの構築

図の説明は本文にあります。

設計時タスクを作成する方法の詳細は、「PL/SQL APIに関する設計時タスク」を参照してください。

Oracle E-Business Suiteでのフレックスフィールドの検証

Oracle Inventoryアプリケーションでシステム品目キー・フレックスフィールドのキー・フレックスフィールド・セグメントを定義するときには(アプリケーション開発者職責)、「セグメント要約 - システム品目」ウィンドウでSEGMENT1のみが品目(Item)として指定されます。

システム品目のキー・フレックスフィールド・セグメント要約

図の説明は本文にあります。

次の表は、キー・フレックスフィールドのマッピング・データとOracle E-Business Suiteで定義された実際のセグメントとの関係を示しています。

システム品目キー・フレックスフィールドのセグメント要約
フレックスフィールドの構成時にマップされたキー・フレックスフィールド・セグメント Oracle E-Business Suiteで定義されたキー・フレックスフィールド・セグメント
SEGMENT1 Item
SEGMENT2 定義されていません
SEGMENTn 定義されていません

マッピングが完了すると、システム品目キー・フレックスフィールドに対してマップされたセグメント列名がOracle Applicationsモジュール・ブラウザに表示されます。この場合は、SEGMENT1内の対応する列名であるItemのみが表示されます。

マップされたセグメント列名Itemの表示

図の説明は本文にあります。

キー・フレックスフィールドおよびキー・フレックスフィールド・セグメントの定義方法の詳細は、Oracle E-Business Suiteフレックスフィールド・ガイドの「キー・フレックスフィールドの計画と定義」を参照してください。

スキーマ・ファイル内のフレックスフィールドの検証

Oracle JDeveloperで拡張XSDファイル(たとえばProcessItem_KFF_flex.xsd)を選択し、マップされたキー・フレックスフィールド列(Item)が、フレックスフィールド名System_Itemsの下にflex型として表示されていることを確認します。

図の説明は本文にあります。

assignアクティビティでのキー・フレックスフィールドを使用したパラメータの割当て

SOAコンポジット・アプリケーション内のBPELプロセス・ダイアグラムのassignアクティビティに、マップされたキー・フレックスフィールドを表示して、ペイロードからの入力変数を2番目のinvokeアクティビティに渡してサービスを起動するために使用できます。

assignアクティビティでのマップされたキー・フレックスフィールドの表示

図の説明は本文にあります。

assignアクティビティを使用して、入力ペイロード情報をターゲット・パラメータのItemオブジェクトに渡します。

注意: キー・フレックスフィールドの構成時に列名SEGMENT1にマップされたターゲット・パラメータns2:SEGMENT1が、ここではns3:Item (ns2:System_Itemsの下)に変換されてassignアクティビティの中に表示されています。

ソース・ノード(ns3: Item)を、指定したターゲット・ノード(ns3: Item)にドラッグして接続します。 これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。

「適用」をクリックして「OK」をクリックし、assignアクティビティの構成を完了します。

注意: あるいは、ソースとターゲットのns2:InputParameters変数はどちらも同じものなので、単にソース・ノード(ns2:InputParameters)をターゲット・ノード(ns2:InputParameters)にドラッグして接続するという方法で、assignアクティビティを完成させることもできます。

invokeアクティビティへの入力変数の割当て

図の説明は本文にあります。

ここに表示されているデータ型INV_EBI_ITEM_MAIN_OBJが、「データ型の選択とマッピングの構成」ページでドロップダウン・リストから指定されたデータ型(INV_EBI_ITEM_PUB:INV_EBI_ITEM_MAIN_OBJ)とまったく同じであることに注意してください。選択したデータ型のパスとしてP_ITEMがリストされます。

図の説明は本文にあります。

実行時のマップされたキー・フレックスフィールドの表示

SOAコンポジット・アプリケーションに含まれているBPELプロセス(FlexfieldKFF)をOracle WebLogic管理対象サーバー(たとえばsoa-server1)にデプロイすると、前述のように構成したキー・フレックスフィールドがsoa-server1サーバーに表示され(http://<servername>:<portnumber>/soa-infra)、ペイロード・データを指定してサービスの起動をテストできます。

注意: プロセスのテストと管理はOracle Enterprise Manager Fusion Middleware Controlコンソールからも実行できることに注意してください。この例では、マップされたキー・フレックスフィールドが、最上位レベルから複数のサブレベルにネストされた入力ペイロードの一部として使用されています。これは、マップされたキー・フレックスフィールドItemに到達するためには、最上位レベルからいくつものパラメータ・ノードを展開する必要があることを意味します(「ペイロード」→「P_ITEM」→「P_ITEM_ITEM」→「MAIN_OBJ_TYPE」)。しかし、ペイロード・パラメータのネストが深すぎる場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールでのペイロード・パラメータの表示には一定の制限があります。

図の説明は本文にあります。

したがって、この場合は、マップしたキー・フレックスフィールドにsoa-server1サーバー内のsoa-infraから直接アクセスします。

Oracle Enterprise Manager Fusion Middleware Controlコンソールからサービスの起動をテストする方法の詳細は、「BPELプロセスを使用したデプロイ済SOAコンポジット・アプリケーションのテスト」を参照してください。

図の説明は本文にあります。

FlexfieldKFFプロジェクト(「Test_bpelprocess2_client_ep」リンク)をクリックして、ペイロード情報をHTMLで表示します。

図の説明は本文にあります。

「ペイロード」セクションで、 「P_ITEM」→「P_ITEM_ITEM」→「MAIN_OBJ_TYPE」→「System_Items」を展開します。マップされたキー・フレックスフィールドItemがペイロードの一部として表示されます。

図の説明は本文にあります。

適切なデータをペイロードとして入力し、「起動」をクリックしてサービスを起動します。

付加フレックスフィールドの構成

サンプル・ビジネス・シナリオ

HZ_AIA_CUSTOM_PKG.SYNC_ACCT_ORDER APIを例に取り、フレックスフィールド・データを使用したインバウンドWebサービスの作成について説明します。

サード・パーティ・アプリケーションから顧客情報の同期を求めるリクエストが発行されると、付加フレックスフィールド・データがペイロードの一部としてルーティングされ、Oracle E-Business Suiteで組織および顧客アカウントを更新するためにPL/SQL APIのHZ_AIA_CUSTOM_PKG.SYNC_ACCT_ORDERTが起動されます。同期された顧客データは、レスポンス・メッセージとしてクライアントに渡されます。

次の図は、サービス起動プロセスの流れを示しています。

フレックスフィールド・データを使用したインバウンド・サービスの起動

図の説明は本文にあります。

サービスをデプロイした後、Oracle Customer Onlineアプリケーションから顧客データの問合せを直接行うことで、プロセスを検証できます。取得された顧客データは、ペイロードからの入力と同じであるはずです。

パートナ・リンク作成の一環としての付加フレックスフィールドの構成

選択したAPIであるHZ_AIA_CUSTOM_PKG.SYNC_ACCT_ORDERについて付加フレックスフィールドを構成するには、「フレックスフィールドの構成」領域にある「マッピングの追加」をクリックします。ウィザードで表示される一連のフレックスフィールド選択ページの指示に従って、選択したAPIの新しいマッピングを構成できます。

「ようこそ」ページで「次へ」をクリックします。「フレックスフィールド・タイプの選択」ページが表示されます。

フレックスフィールドのサブフロー - フレックスフィールド・タイプの選択

図の説明は本文にあります。

付加フレックスフィールドを構成するには、次の手順を実行します。

  1. 「フレックスフィールド・タイプの選択」ページで「付加フレックスフィールド」ラジオ・ボタンを選択し、フレックスフィールド・マッピング・ウィザードで前述のキー・フレックスフィールドの場合と同様のアプローチを使用します。

  2. 「フレックスフィールド・タイプの選択」ページで「次へ」をクリックします。「フレックスフィールド・アプリケーションの選択」ページが表示されます。

  3. 目的のアプリケーションを見つけるには、検索キーワード(%App%など)を入力するか単に「問合せ」をクリックして、検索を実行します。付加フレックスフィールドに対して一致したアプリケーションがすべて表示されます。たとえば、付加フレックスフィールドが所属するアプリケーションの名前として、「Receivables」ラジオ・ボタンを選択します。

    フレックスフィールドのサブフロー - フレックスフィールド・アプリケーションの選択

    図の説明は本文にあります。

    「次」をクリックします。

  4. 「フレックスフィールドの選択」ページで、必要に応じて検索キーワード(たとえばHZ%)を入力し、「問合せ」をクリックして検索を実行します。一致した付加フレックスフィールドがすべて選択肢として表示されます。

    目的の付加フレックスフィールド(たとえばHZ_LOCATIONS)を選択し、「次へ」をクリックします。

    フレックスフィールドのサブフロー - フレックスフィールドの選択

    図の説明は本文にあります。

  5. 「データ型の選択とマッピングの構成」ページが表示され、そこで付加フレックスフィールドのマッピングを選択できます。

    選択した付加フレックスフィールド名HZ_LOCATIONSが自動的にフレックスフィールド名として表示されます。

    フレックスフィールドのサブフロー - データ型の選択とマッピングの構成

    図の説明は本文にあります。

    フレックスフィールド・マッピングを構成するには、「データ型の選択」ドロップダウン・リストから目的のデータ型を選択します。すると、必要なフレックスフィールド・メタデータがすべてOracle E-Business Suiteデータベースから取得され、親レベルのパラメータがマッピングのために表示されます。

    付加フレックスフィールド・マッピングでのコンテキスト列の選択

    付加フレックスフィールドの場合は、コンテキスト列に関する追加のマッピングを実行する必要があります。これは、フレックスフィールド・マッピングがレコードのタイプ間を超えられないためです。コンテキスト列も含めた表のすべての列を、1つのレコード・タイプまたは親タイプに属するスカラー・パラメータにマップする必要があります。

    「コンテキスト列のマップ ATTRIBUTE_CATEGORY」フィールドで、マッピング情報を表示するカテゴリの名前をドロップダウン・リストから選択します。たとえば、ドロップダウン・リストからATTRIBUTE_CATEGORYを選択します。

    注意: パラメータがすでに表の列にマップされている場合、そのパラメータを別の列に再マップすることはできません。この場合は、マップされたパラメータのかわりに「マップ済」と表示されます。

    キー・フレックスフィールドの場合と同様に、マッピングは手作業で行うことも、「自動マップ」をクリックして自動マップ機能を利用することもできます。

    自動マップ機能は表のすべての列を、パラメータ名の一部に列名を含むパラメータにマップします。たとえば、ATTRIBUTE1からATTRIBUTE20までの表列名が自動的に表示され、自動マップ機能によってそれぞれATTRIBUTE1からATTRIBUTE20までのパラメータにマップされます。

    パラメータ名と表の列名のセットが複数ある場合は、自動マッピングのために接頭辞を指定する必要があります。これにより、マッピングの対象とみなす必要がある潜在的パラメータがマップされます。まず自動マッピングの対象にするパラメータを見つけるために、パラメータ接頭辞(たとえばINDUSTRY_)を入力します。次に、「自動マップ」をクリックします。接頭辞INDUSTRY_で始まるすべてのパラメータが、自動マップされた表の列名とともに表示されます。パラメータINDUSTRY_ATTRIBUTE1はATTRIBUTE1列にマップされ、パラメータINDUSTRY_ATTRIBUTEnはATTRIBUTEn列にマップされます。

    自動マップ機能を使用するかわりに、フレックスフィールド・マッピングで対応するパラメータにマップする表の列名をドロップダウン・リストから手作業で選択することもできます。

    現在表の列に設定されているマッピングのみをクリアするには、「マッピングのクリア」をクリックします。「マップ済」のマークが付いているマップ済の列はすべて、システムから削除されません。

    「次へ」をクリックして、次のページに進みます。

  6. 「フレックスフィールドの構成」ページで、選択した付加フレックスフィールドに対して少なくとも1つのコンテキスト値を選択します。たとえば、希望するコンテキスト値(ChileやEcuadorなど)を選択します。

    選択の前に、「コンテキスト」フィールドに検索キーワードを入力するか、単に「問合せ」をクリックして、検索を実行できます。

    付加フレックスフィールドの場合、APIパラメータを通じてランタイムがコンテキスト値を使用できるようにする必要があります。

    望みどおりのコンテキスト値が選択肢としてウィザードに表示されるようにするには、特定の基準を満たす必要があることに注意してください。「フレックスフィールド構造とコンテキスト値の定義に関するガイドライン」を参照してください。

    フレックスフィールドのサブフロー - フレックスフィールドの構成

    図の説明は本文にあります。

    「終了」をクリックしてフレックスフィールドの構成を完了します。

  7. 「Oracle Applicationsモジュール・ブラウザ」ウィンドウが表示されます。新しく追加した付加フレックスフィールド情報が、選択したコンテキスト値のセグメント値も含めて、ウィンドウの右側のペインに表示されます。

    選択した付加フレックスフィールドの情報の表示

    図の説明は本文にあります。

    「OK」をクリックします。

  8. 「アプリケーション・インタフェース」ページが開き、選択したAPIが表示されます。

    図の説明は本文にあります。

    「次へ」をクリックし、「終了」をクリックします。

    パートナ・リンクに対応するWSDLファイルが生成されます。拡張XSDファイル(たとえばSynAccOrder_flex.xsd)も作成されます。このXSDファイルには、フレックスフィールドのセグメント名で置き換えられたパラメータを表す要素を使用してプロシージャの引数を記述するスキーマが収められています。

    「適用」をクリックし、「OK」をクリックします。

  9. さらに、構成ファイルとフレックスフィールド・マッピング・ファイルも作成されます。これらのファイルの詳細は、「フレックスフィールドの構成の確認」を参照してください。

新しいフレックスフィールド・マッピングを構成または追加した後、変更が必要になった場合は、まず変更対象のフレックスフィールド・タイプを選択して、必要な変更を行います。選択したマッピングの詳細を変更する方法の詳細は、「フレックスフィールド定義の変更」を参照してください。

設計時のマップされた付加フレックスフィールドの表示

キー・フレックスフィールドの場合と同様に、パートナ・リンクの作成時に構成された付加フレックスフィールドのマッピング・データは、SOAコンポジット内のBPELプロセスにまとめられた次のアクティビティとともに設計時に表示できます。

付加フレックスフィールドを持つコンポジットの例

次の例では、SOAコンポジットのBPELプロセスにおける付加フレックスフィールドのマッピングについて説明します。

SOAコンポジット内のBPELプロセスの構築

図の説明は本文にあります。

設計時タスクを作成する方法の詳細は、「PL/SQL APIに関する設計時タスク」を参照してください。

Oracle E-Business Suiteでのフレックスフィールドの検証

Oracle ReceivablesアプリケーションでTCA Location Information (HZ_LOCATIONS)の付加フレックスフィールド属性を定義すると(アプリケーション開発者職責)、コンテキスト値に基づいて次の属性が指定されます。

TCA Location Informationの付加フレックスフィールド・セグメント要約
コンテキスト値 ATTRIBUTE1 ATTRIBUTE2
Chile Region Comuna
Ecuador Zona Parroquia

システム品目の付加フレックスフィールド・セグメント要約

図の説明は本文にあります。

スキーマ・ファイル内のフレックスフィールドの検証

Oracle JDeveloperで拡張XSDファイル(たとえばSynAccOrder_flex.xsd)を選択し、マップされた付加フレックスフィールドが、HZ_LOCATIONSフレックスフィールドの下にflex型のスキーマの一部として表示されていることを確認します。

さらに、マップされた表の列名(Region、Comuna、Zona、Parroquia)は、ツリー構造内にリストされたコンテキスト値(ChileとEcuador)によってグループ分けされています。コンテキスト値のノード間は「<choice>」アイコンによって接続されており、いずれか1つのコンテキスト値とそれに関連付けられた表列のみが選択可能であることを示しています。

図の説明は本文にあります。

assignアクティビティでの付加フレックスフィールドを使用したパラメータの割当て

SOAコンポジット・アプリケーション内のBPELプロセス・ダイアグラムのassignアクティビティに、マップされた付加フレックスフィールドを表示して、ペイロードから受け取った入力変数をinvokeアクティビティに渡してSynAccOrderサービスを起動するために使用できます。

assignアクティビティに表示されたマップ済の付加フレックスフィールド

図の説明は本文にあります。

assignアクティビティを使用して、入力ペイロード情報をターゲット・パラメータのTCA Locationオブジェクトに渡します。

ターゲット・パラメータns2:ATTRIBUTE1は、前述のフレックスフィールド構成時に次の付加フレックスフィールド列にマップされています。

ターゲット・パラメータns2:ATTRIBUTE2は、前述のフレックスフィールド構成時に次の付加フレックスフィールド列にマップされています。

コンテキスト値によってグループ分けされたこれらの付加フレックスフィールド列が、assignアクティビティ内に表示されます。

assignアクティビティ内の付加フレックスフィールドにパラメータを割り当てるには、ソース・ノード(ns3:Region)をドラッグして、前述の操作で指定した最初のターゲット・ノード(ns3:Region)に接続します。これでソース・ノードとターゲット・ノードを接続する線が作成されます。コピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。

同じ手順を繰り返し、同じソース・ノード(ns3:Comuna)をドラッグして2番目のターゲット・ノード(ns3:Comuna)に接続し、2番目のパラメータを割り当てます。2番目のコピー・ルールは、「Assignの編集」ダイアログ・ボックスの下部にある「From」セクションと「To」セクションに表示されます。

「適用」をクリックして「OK」をクリックし、assignアクティビティの構成を完了します。

注意: あるいは、ソースとターゲットのns2:InputParameters変数はどちらも同じものなので、単にソース・ノード(ns2:InputParameters)をターゲット・ノード(ns2:InputParameters)にドラッグして接続するという方法で、assignアクティビティを完成させることもできます。

図の説明は本文にあります。

実行時のマップされた付加フレックスフィールドの表示

SOAコンポジット・アプリケーションに含まれているBPELプロセスをOracle WebLogic管理対象サーバー(たとえばsoa-server1)にデプロイすると、前述のように構成した付加フレックスフィールドがsoa-server1サーバーに表示され(http://<servername>:<portnumber>/soa-infra)、ペイロード・データを指定してサービスの起動をテストできます。プロセスのテストと管理はOracle Enterprise Manager Fusion Middleware Controlコンソールからも実行できることに注意してください。

注意: プロセスのテストと管理はOracle Enterprise Manager Fusion Middleware Controlコンソールからも実行できることに注意してください。この例では、マップされた付加フレックスフィールドが、最上位レベルから複数のサブレベルにネストされた入力ペイロードの一部として使用されています。これは、マップされた付加フレックスフィールド(RegionとComuna)に到達して表示するためには、最上位レベルからいくつものパラメータ・ノードを展開する必要があることを意味します(「ペイロード」→「P_ORG_CUST_OBJ」→「ORGANIZATION_OBJ」→「PARTY_SITE_OBJS」→「PARTY_SITE_OBJS_ITEM」→「LOCATION_OBJ」→「HZ_LOCATIONS」→「ATTRIBUTE_CATEGORY」→「HZ_LOCATIONS_1」)。しかし、ペイロード・パラメータのネストが深すぎる場合、Oracle Enterprise Manager Fusion Middleware Controlコンソールでのペイロード・パラメータの表示には一定の制限があります。

図の説明は本文にあります。

したがって、この場合は、マップした付加フレックスフィールドにsoa-server1サーバー内のsoa-infraから直接アクセスします。

Oracle Enterprise Manager Fusion Middleware Controlコンソールからサービスの起動をテストする方法の詳細は、「BPELプロセスを使用したデプロイ済SOAコンポジット・アプリケーションのテスト」を参照してください。

図の説明は本文にあります。

DescFlexプロジェクト(「Test_bpelprocess1_client_ep」リンク)をクリックして、BPELプロセス情報をHTMLで表示します。

図の説明は本文にあります。

「ペイロード」セクションでP_ORG_CUST_OBJノードを展開し、「ORGANIZATION_OBJ」→「PARTY_SITE_OBJS」→「PARTY_SITE_OBJS_ITEM」→「LOCATION_OBJ」→「HZ_LOCATIONS」→「ATTRIBUTE_CATEGORY」→「HZ_LOCATIONS_1」にナビゲートします。

前述の設計時に構成した付加フレックスフィールドの2つのセットが、実行時に表示されるようになりました。

  1. HZ_LOCATIONS_1_0 (設計時にassignアクティビティに構成したデフォルトの選択肢)

  2. HZ_LOCATIONS_1_1

図の説明は本文にあります。

適切なデータをペイロードとして入力し、「起動」をクリックしてサービスを起動します。

既存のフレックスフィールド・マッピングのインポート

新しいマッピングを構成するかわりに、選択したAPIのために単に既存のマッピングをインポートすることもできます。構成済のマッピングを使用すれば、APIのフレックスフィールド・マッピングを短時間で確立したり、構成済のマッピングを土台として必要に応じた変更を加えることができます。

既存のマッピングをインポートするには、「フレックスフィールドの構成」領域で「ファイルからインポート」をクリックします。「オープン」ウィンドウが表示され、目的のフレックスフィールド・マッピングを選択できます。

目的のフレックスフィールド・マッピングの選択

図の説明は本文にあります。

インポートするマッピングを選択したら、「オープン」をクリックします。選択したマッピング・ファイルが「フレックスフィールド・データのインポート」のプロジェクト・フィールドに自動的に表示されます。

たとえば、OE_ORDER_PUB_PROCESS_LINE_mapping.xmlファイルを選択すると、選択したAPIに対してインポートされたマッピングが、選択したマッピング・ファイル名とともに自動的に「パラメータと対応するフレックスフィールドのマッピング」領域に表示されます。

インポートしたフレックスフィールド・マッピング・ファイルの表示

図の説明は本文にあります。

選択したAPIに対して希望するマッピングをインポートするときには、キー・フレックスフィールドの構造と付加フレックスフィールドのコンテキスト値を選択する必要があります。

まず、「フレックスフィールド定義」セクションで変更が必要なキー・フレックスフィールドまたは付加フレックスフィールドを選択し、「編集」をクリックします。「フレックスフィールドのサブフロー - ようこそ」ページが表示されます。「次へ」をクリックし、付加フレックスフィールドの場合は希望するフレックスフィールド・コンテキスト値を選択します。

インポートしたマッピングに対するコンテキスト値の選択

図の説明は本文にあります。

「終了」をクリックして、付加フレックスフィールドのマッピング情報を完成させます。更新された付加フィールド・コンテキスト値(SSE_Country)が、「パラメータと対応するフレックスフィールドのマッピング」領域と「フレックスフィールド定義」セクションの両方に追加されます。

図の説明は本文にあります。

「OK」をクリックする前に、同じアプローチを使用して、構造情報を必要とするキー・フレックスフィールドを更新します。

選択したマッピングの詳細を変更する方法の詳細は、「フレックスフィールド定義の変更」を参照してください。

フレックスフィールド定義の変更

Oracle Adapter for Oracle Applicationsでは、キー・フレックスフィールドと付加フレックスフィールドの両方について、必要に応じて何回でもフレックスフィールド定義を変更できます。ただし、変更できるのは付加フレックスフィールドのコンテキスト値とキー・フレックスフィールドの構造のみです。構造またはコンテキスト値の変更以上の更新が必要な場合は、まずそのフレックスフィールド・マッピングを削除してから新しいフレックスフィールド・マッピングを構成する必要があります。

フレックスフィールド・データの変更

フレックスフィールド・データを変更するには、「フレックスフィールド定義」セクションで変更するキー・フレックスフィールドまたは付加フレックスフィールドを選択し、「編集」をクリックします。選択したフレックスフィールド・タイプに対応する適切なフレックスフィールド・ページが表示され、そこでフレックスフィールドの詳細を変更できます。

フレックスフィールドのマッピング・データの変更

図の説明は本文にあります。

たとえば、付加フレックスフィールド(HZ_LOCATIONS)の構造を変更します。フレックスフィールドのサブフロー ようこそウィザードで「次へ」をクリックすると、「フレックスフィールドの構成」ウィンドウが表示されます。

フレックスフィールドのサブフロー - フレックスフィールドの構成

図の説明は本文にあります。

「問合せ」をクリックし、コンテキスト値として「Ecuador」チェック・ボックスのみを選択します。「終了」をクリックして変更を完了します。更新されたフレックスフィールド情報が、「フレックスフィールド定義」セクションに反映されます。

変更したフレックスフィールド・マッピング・データの検証

図の説明は本文にあります。

フレックスフィールド構成xmlファイル(<projectname>_flex-config.xml)で変更を検証することもできます。「フレックスフィールドの構成の確認」を参照してください。

それぞれの「フレックスフィールドのサブフロー」ウィンドウの構成または追加方法の詳細は、「新しいマッピングの追加または構成」を参照してください。

フレックスフィールド・データの削除

フレックスフィールド・データを削除するには、削除するキー・フレックスフィールドまたは付加フレックスフィールドを選択して「削除」をクリックします。選択したフレックスフィールド・データとそれに関連付けられた構造または値がデータベースから削除されます。

また、複数のフレックスフィールドを削除対象として選択するには、[Control]キーや[Shift]キーを使用します。

フレックスフィールドの構成の確認

フレックスフィールド情報を含むパートナ・リンクを作成した後、Oracle JDeveloperからSOA Contentフォルダを展開して拡張XSDファイル(たとえばProcessItem_KFF_flex.xsd)を選択し、前述の構成または更新したフレックスフィールド情報を検証します。

設計時に選択されたマッピングに基づいて、拡張スキーマ情報がフレックスフィールド・セグメント名とともに表示されます。

拡張XSDファイルの表示

図の説明は本文にあります。

さらに、XSDファイルに加えて次の2つのxmlファイルが作成されます。

ロギング

Oracle Fusion Middleware Adapter for Oracle Applicationsでは、Oracle SOA Suiteのロギング・フレームワークを実装し、診断ログ・ファイルをテキスト形式で記述します。したがって、Oracle Adapter for Oracle Applicationsを使用してOracle E-Business Suiteサービスを起動すると、必ずシステム管理者がアクセスできるログ・メッセージが記録されます。これによって、問題の識別メカニズムが強化され、Oracle Adapter for Oracle Applicationsの実行時に、サービスを起動する際の問題を追跡できるようになります。

Oracle Adapter for Oracle Applicationsおよびテクノロジ・アダプタは、JCAバインディング・コンポーネントのLogManagerインタフェースを実装し、これによって、インバウンドとアウトバウンドの両方の相互作用のログ・ファイルがOracle Diagnostic Logging(ODL)形式でsoa-diagnostic.logファイルにリダイレクトされます。これらのログ・ファイルは、すべてのタイプのイベント(起動と停止の情報、エラーと警告メッセージ、HTTPリクエストへのアクセス情報、追加情報など)を記録します。これによって、発生する可能性のある問題を管理者が効率的に特定して解決するために役立つ、起動プロセスについてのインサイド・アウトのクイック・ビューが表示されます。Oracle Enterprise Manager Fusion Middleware Controlコンソールで適切なログ・レベルを構成すると、Oracle Adapter for Oracle Applicationsおよびテクノロジ・アダプタの実行時に単一ファイルに書き込まれたODLレベルのログ・ファイルを表示できます。

ロギング・メカニズムがどのように動作するかについては、この章の次の項で説明します。

SOA Suiteの詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。

アダプタのロギングの有効化

Oracle Adapter for Oracle Applicationsとテクノロジ・アダプタのすべてのログは、soa-diagnostic.logファイルにOracle Diagnostic Logging(ODL)形式でリダイレクトされます。Oracle Adapter for Oracle Applicationsのログを表示できるようにするには、Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用して、適切なメッセージ・タイプとそれに関連付けられたログ・レベルをログ出力oracle.soa.adapter用に設定し、有効にする必要があります。これによって、Oracle SOA Suiteレベルでログ設定が有効になります。

注意: ログ出力構成は$FMWHOME/user_projects/domains/soainfra/config/fmwconfig/servers/soa_server1/logging.xmlにあり、すべてのOracle JCAアダプタに対応するログ出力名はoracle.soa.adapterと呼ばれます。

次の表に、診断メッセージ・タイプとログ・レベルを示します。

注意: 各メッセージ・タイプで、メッセージ・レベルに設定できる値は1(重大度が最も高い)から32(重大度が最も低い)です。各メッセージ・タイプに一部のレベルだけがサポートされているコンポーネントもあります。一般に、タイプだけで指定する必要があり、レベルを指定する必要はありません。

各ログ出力のデフォルトのメッセージ・タイプは、NOTIFICATION、レベル1に設定されています。

メッセージ・タイプ レベル 説明
INCIDENT_ERROR 1 製品の不具合によって発生し、Oracleサポートに報告する必要のある深刻な問題。
たとえば、リカバリ不能なエラーなどの深刻な問題があります。
ERROR 1 管理者が注意する必要があるが、製品の不具合によって発生するものではない深刻な問題。
Oracle Fusion Middlewareではログ・ファイルを処理できないが、ドキュメントに対する権限を修正することで問題を解決できる場合などが、これに該当します。
WARNING 1 管理者による確認を要する、潜在的な問題。
NOTIFICATION 1 プライマリ・サブコンポーネントや機能のアクティブ化や非アクティブ化などの主要なライフサイクル・イベント。
NOTIFICATION 16 通常のイベントをレポートする粒度の詳細なレベル。
TRACE 1 パブリックAPIエントリや終了ポイントなど、管理者に重要なイベントに関するトレースまたはデバッグ情報。
TRACE 16 特定のサブシステムにおける問題を診断するためにOracleサポート・サービスが利用できる詳細トレース情報または詳細デバッグ情報。
TRACE 32 特定のサブシステムにおける問題を診断するためにOracleサポート・サービスが利用できるきわめて詳細なトレース情報またはデバッグ情報。

SOA SuiteでOracle Adapter for Oracle Applicationsに診断メッセージ・タイプとログ・レベルを設定する手順:

次の手順に従って、メッセージ・タイプとそれに関連付けられたログ・レベルを設定します。

  1. http://<servername>:<portnumber>/emに移動します。

    Oracle Enterprise Manager Fusion Middleware Controlコンソールのホーム・ページが表示されます。

  2. ユーザー名とパスワードを入力して、コンソールにログオンします。

  3. 「ナビゲータ」ツリーで「SOA」フォルダの「soa-infra」を右クリックします。

  4. ポップアップ・メニューから「ログ」>「ログ構成」を選択します。

    注意: SOAインフラストラクチャ」メニューをクリックして、ドロップダウン・メニューから「ログ」>「ログ構成」を選択しても、「ログ構成」ページにアクセスできます。

    図の説明は本文にあります。

    ログ出力のリストを表示でき、ログ・ファイルに書き込む情報の量と種類、およびログ・レベル状態を設定するためのOracle Diagnostic Logging(ODL)レベルを構成できる「ログ構成」ページが開きます。

    アダプタのログ・レベルの構成

    図の説明は本文にあります。

  5. 「ログ・レベル」タブを選択します。

  6. 「表示」ドロップダウン・リストから次のいずれかの値を選択します。

    注意: デフォルトでは、ログ・レベルはランタイム出力用に設定されています。ランタイム出力は、コンポーネントを再起動するとリセットされます。コンポーネントを再起動してもログ・レベルが保持されるようにするには、「表示」リストから「永続ログ・レベル状態のログ出力」を選択します。

  7. oracle.soaノードを展開し、「ログ出力名」リストでoracle.soa.adapterランタイム・ログ出力を検索します。Oracle Diagnosticの「ログ・レベル」ドロップダウン・リストからログ出力レベルを選択します。たとえば、「TRACE:32 (FINEST)」を選択します。

  8. 「適用」をクリックします。

「ログ・ファイル」タブでのログ・ファイルの作成と編集

「ログ・ファイル」列に表示されるログ・ヘッダー・リンクをクリックして、特定のログ・ファイルを編集できます。基本的な構成設定や詳細なログ設定を構成できる「ログ・ファイル」タブが開きます。これらの設定には、ハンドラ名、ログ・メッセージが記録されるログ・ファイル、ログ・メッセージの処理機、使用されるローテーション・ポリシー、ログ・ファイル構成クラスに基づくその他のパラメータが含まれます。

たとえば、表からログ・ハンドラを選択し、「構成の編集」を選択します。「ログ・ファイルの編集」ダイアログ・ボックスが表示されます。

ログ・ファイルの構成方法の詳細は、see the Managing Log Files and Diagnostic Data Chapter, 『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルと診断データの管理」の章を参照してください。

SOA Suiteの詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。

oracle.soa.adapterランタイム・ログ出力を使用した、PL/SQL APIおよびコンカレント・プログラム用の自動FNDロギング

Oracle SOA Suiteのoracle.soa.adapterランタイム・ログ出力に設定されたログ・レベルに基づき、ランタイム実行時にPL/SQL APIおよびコンカレント・プログラムのインタフェースが起動されている間、これらのインタフェースのロギングを自動的に制御または有効化できます。Oracle E-Business Suite側でFNDロギング・フレームワークを別途有効化する必要はありません。

注意: この自動FNDロギングを使用できるのは、Oracle E-Business Suiteリリース12.1.3以上のみです。

oracle.soa.adapterランタイム・ログ出力と、対応するOracle E-Business Suiteのログ・レベルのマッピングを次の表に示します。

ランタイム・ログ出力oracle.soa.adapterのログ・レベル Oracle E-Business Suiteのログ・レベル
INCIDENT_ERROR LEVEL_UNEXPECTED
ERROR LEVEL_ERROR
WARNING LEVEL_EXCEPTION
NOTIFICATION 1, 16, 32 LEVEL_EVENT
TRACE 1 LEVEL_PROCEDURE
TRACE 16, 32 LEVEL_STATEMENT

アダプタ・ログの検索と表示

Oracle Adapter for Oracle Applicationsとテクノロジ・アダプタは、JCAバインディング・コンポーネントのLogManagerインタフェースを実装し、Oracle Diagnostic Logging(ODL)フォーマットで実行時に単一ファイルに書き込まれたログ・ファイルがリダイレクトされます。

アウトバウンドとインバウンドの両方の相互作用で、ログ・ファイルは単一ファイルsoa-diagnostic.logにリダイレクトされます。

server-soa管理対象サーバーにデプロイされたOracle SOA Suiteのログ・ファイルは、MW_HOME/user_projects/domains/<domain_name>/servers/server-soa/logs/soa-diagnostic.logに格納されます。

Oracle Adapter for Oracle Applicationsログ・ファイルを検索して表示するには、Oracle Enterprise Manager Fusion Middleware Controlコンソール、WLST displayLogsコマンドライン・ツールを使用するか、またはローカル・クライアントにログ・ファイルをダウンロードして、別のツール(テキスト・エディタや別のファイル表示ユーティリティなど)を使用して表示します。WLSTコマンドライン・ツールを使用してログ・ファイルを検索して表示する方法の詳細は、『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルおよび診断データの管理」の章を参照してください。

Oracle Enterprise Manager Fusion Middleware Controlコンソールを使用したアダプタ・ログの検索と表示手順

次の手順を使用して、Oracle Enterprise Manager Fusion Middleware Controlコンソールからアダプタ・ログを検索します。

  1. http://<servername>:<portnumber>/emに移動します。

    Oracle Enterprise Manager Fusion Middleware Controlコンソールのホーム・ページが表示されます。

  2. ユーザー名とパスワードを入力して、コンソールにログオンします。

  3. 左側のペインにある「ナビゲータ」ツリーから「ログ・メッセージ」ページにアクセスするには、次の2つの方法があります。

    ポップアップ・メニューから「ログ」>「ログ・メッセージの表示」を選択します。「ログ・メッセージ」ページに、「検索」セクションとデフォルトの検索基準が表示されたメッセージのサマリーが表示された表が表示されます。

    「ログ・メッセージ」ページ: 検索

    図の説明は本文にあります。

  4. Oracle Adapter for Oracle Applicationsのログ・メッセージを検索するための検索基準を入力します。

  5. 「検索」をクリックして、検索を実行します。検索基準に一致するすべてのメッセージが検索され、表に表示されます。これらのメッセージはメッセージとして表示することも、「表示」フィールドで選択した値に応じて、メッセージ・タイプやメッセージIDごとにグループ分けすることもできます。

    図の説明は本文にあります。

  6. 表からいずれかのログ・メッセージをクリックします。メッセージ・レベル、コンポーネント、ECID(Execution Context ID)、関係ID、実際のメッセージなどのメッセージの詳細がメッセージ表の下に表示されます。

    「ECID」リンクをクリックすると、「ECIDごとの関連メッセージ」ページに同じECIDを持つ関連メッセージが検索されます。関連メッセージの詳細は、「ログ・ファイルとコンポーネント間のメッセージの関連付け」を参照してください。

  7. ログ・メッセージをOracle Diagnosticログ・テキスト・ファイル(.txt)、XMLファイル(.xml)またはカンマ区切りリスト(.csv)ファイルとしてエクスポートする場合は、「メッセージをファイルにエクスポート」ドロップダウン・リストから適切な出力オプションを選択します。

  8. 「ターゲット・ログ・ファイル」をクリックして、管理対象サーバー(server-soa)に関連するログ・ファイルのリストが表示される「ログ・ファイル」ページを開きます。

    「ログ・ファイル」ページ

    図の説明は本文にあります。

    1. ファイルを選択して「ログ・ファイルの表示」をクリックします。選択したログ・ファイルの「ログ・ファイルの表示」ページが表示され、このログに含まれるメッセージのリストを表示できます。

      「ログ・ファイルの表示」ページ

      図の説明は本文にあります。

    2. メッセージの詳細を表示するには、メッセージを選択します。メッセージ・レベル、コンポーネント、ECID、関係ID、実際のメッセージなどのメッセージの詳細が、メッセージ表の下に表示されます。

    3. 時間またはECIDを基準にして関連メッセージを表示するには、「関連メッセージの表示」をクリックして、「時間ごと」または「ECID(実行コンテキストID)ごと」を選択します。

      または、メッセージの詳細から「ECID」リンクを直接クリックしても、「ECIDごとの関連メッセージ」ページに同じECIDを持つ関連メッセージを検索できます。

ログ・ファイルとコンポーネント間のメッセージの関連付け

Oracle Fusion Middlewareコンポーネントは、診断メッセージにメッセージ相関情報を提供します。メッセージ相関情報は、診断メッセージを表示したユーザーがコンポーネント間のメッセージの関係を判定する際に役立ちます。診断メッセージのそれぞれに、実行コンテキストID(ECID)と関係IDが組み込まれています。

ECIDは、特定のリクエストの実行に関連付けられたグローバルに一意の識別子です。ECIDは、リクエストが最初に処理されるときに生成されます。関係IDは、同じリクエストのかわりに、あるプロセスの1つのスレッドで実行された作業と、このプロセスまたは他のプロセスの別のスレッドで実行された作業を区別します。

Oracle Enterprise Manager Fusion Middleware Controlコンソールにログ・メッセージを表示した状態で、ログ・メッセージを選択した後、「関連メッセージの表示」ドロップダウン・リストから次のいずれかの値を選択すると、関連するメッセージを表示することができます。

注意: 「関連メッセージの表示」は、検索基準に基づいて一致するすべてのメッセージを表示している状態で、「表示」フィールドで「メッセージ」 が選択されているときだけ選択できます。「表示」フィールドで「メッセージ・タイプ別グループ」または「メッセージID別グループ」が選択されていると、一致するすべてのメッセージがメッセージ・タイプまたはメッセージIDごとにグループ分けされて表示されます。この場合、「関連メッセージの表示」フィールドは使用できません。

メッセージの関連付け情報を使用して関連メッセージを検索して、複数のメッセージを調査し、最初に問題が発生したコンポーネントを識別できます。メッセージ相関データは、コンポーネント間で診断メッセージのクリア・パスを確立する際に役立ち、これによって、エラーおよびそれに関連した動作を理解できます。

エラーおよび例外処理の拡張

Business Suiteインタフェースの起動中に発生する可能性のある問題またはエラーの根本原因を特定するため、Adapter for Oracle Applicationsでは、わかりやすく説明的な例外やエラー・メッセージを生成するようになりました。これらは特に、任意のPL/SQL APIまたはコンカレント・プログラムの起動中に使用できます。

アダプタの前処理中、およびデータベース・アダプタやAQアダプタによるランタイム実行中にエラーを処理するほか、PL/SQL APIが生成した機能エラーを、取得するために追加のコールを行う必要なくいつでも取得できます。これらのメッセージにより、ランタイムにおける障害の原因を特定しやすくなります。

さらに、他のJCAアダプタによって使用されている共通ロギング・フレームワークに基づき、Adapter for Oracle Applicationsに関するすべてのエラーと例外およびデバッグ情報がロギングされます。これにより、実行中に発生したことを管理者や開発者が把握し、問題解決に必要な行動を取りやすくなります。

機能エラーの処理

Adapter for Oracle Applicationsでサポートされている統合インタフェースの起動中に問題やエラーが発生した場合(OE_ORDER_PUB.CHANGE_ORDER APIの起動時に入力した注文番号が存在しないなど)、例外(ORA-20100: 注文番号が存在しません)がスローされ、このようなエラーに機能エラーが含まれます。このタイプの例外は、API実行中の機能的な問題な問題を報告するために幅広く使用されます。

ほとんどのPL/SQL APIでは、機能エラーはAdapterのランタイム・エンジンによって捕捉されたSQLExceptionとして、コードとメッセージとともに、あるいはAPI出力パラメータの一部としてスローできます。しかし、一部のPL/SQL APIは実行中に機能エラーをスローせず、メモリ・スタックに蓄積し続けます。エラーをフェッチする責任は、APIのコール元に繰延べられます。

たとえば、HRMS APIは、FND_MSG_PUB.putパッケージを使用して、FND_MESSAGEスタックに機能エラーを配置します。APIコールが完了したら、コール元はFND_MSG_PUB.GET()メソッドを使用して、このスタックから明示的にエラーをフェッチする必要があります。

注意: このリリースでは、エラー・メッセージはスタックFND_MSG_PUBからのみ取得できます。

明示的な処理が必要なAPI用には、APIErrorHandlerという新しいJCAプロパティが導入され、FND_MESSAGEメモリ・スタックから機能エラーをフェッチできるようになりました。このプロパティがエラーのフェッチ用インジケータとして機能することで、コール元は明示的に取得するためのコールを行う必要なくエラーを取得できます。ランタイム実行時、Adapter for Oracle ApplicationsはJCAプロパティAPIErrorHandlerの存在をチェックします。存在する場合、PL/SQL APIの実行直後にエラー・ハンドラが呼び出されます。

このようなAPIの機能エラーをフェッチするには、次の機能エラー処理パラメータをWSDLファイル(XX_apps.jca)に追加する必要があることに注意してください。

<property name="APIErrorHandler" value="FND_MSG_PUB.GET_DETAIL"/>

J2EEデータ・ソースの実装を使用したOracle E-Business SuiteとOracle Fusion Middleware SOA Suite間の保護された接続

Oracle E-Business SuiteとOracle SOA Suite間の保護された接続に対してJ2EEデータ・ソースを実装することには、2つの明確な利点があります。1つ目は、AppsまたはAppsと同等のスキーマのユーザー名やパスワードを必要としないOracle E-Business Suiteのアプリケーション・データベースに対して、FNDユーザー名/パスワード(Oracle Applicationsのユーザー名とパスワードの概念)のみを使用して、安全に接続できることです。2つ目は、パスワードがミドルウェアに保存されないことです。これにより、セキュリティ上のリスクが取り除かれるだけでなく、パスワードをOracle E-Business SuiteとSOA Suite間で同期して保持する必要がありません。

Oracle Adapter for Oracle Applicationsでは、新しいメカニズムを使用して実行時にユーザーを認証し、J2EEデータ・ソースを使用してOracle E-Business Suiteデータベースに接続します。この方法は、アプリケーション・データベースにアクセスするために接続プールを定義することが、Oracle E-Business Suite固有です。

この新しいメカニズムにより、データベース接続の構成の一環として必要なアプリケーション・ログインのユーザー名およびパスワードなどのアカウントの詳細情報が、J2EEデータ・ソース作成時に入力パラメータとしてdbcファイルの位置とともに追加されます。

このプロセスを完了するため、次の手順を使用してOracle E-Business SuiteデータベースへのJ2EEデータ・ソース接続を定義します。

  1. Oracle E-Business Suite環境にサービス指向アーキテクチャ(SOA)スイート中間層ノードを登録し、接続をインスタンス化するためのデータ・ソース実装で使用されるdbcファイルを生成します。

  2. SOAスイート・サーバーが稼動する中間層サーバーにdbcファイルをコピーし、SOAスイートの所有者がアクセス権を持つファイル・システム上の場所に配置します。

  3. 接続プールを作成します。ここには、コネクション・ファクトリのプロパティとしてアプリケーションのログイン・ユーザー名、パスワードおよびdbcファイルの場所を入力する必要があります。

  4. アプリケーション・データ・ソースを作成します。この手順では、Oracle Adapter for Oracle Applicationsのアプリケーション・データベース接続のために、アプリケーション・データ・ソースをJava Naming and Directory Interface(JNDI)名と関連付けます。

J2EEデータ・ソース機能を使用したネイティブOracle E-Business Suite接続機能を使用するには、

注意: この機能を使用可能にするには、最小限の要件として、Oracle E-Business Suiteリリース11iは11i.ATG_PF.H.Delta.6(RUP6)であり、Oracle E-Business Suiteリリース12は12.0.4リリースであることが必要です。

または、Oracle E-Business Suiteと外部アプリケーション・サーバー間の接続を有効化するのに必要なパッチを適用する必要があります。詳細は、My Oracle Support Knowledge Document 787637.1『Oracle Fusion Middleware Adapter for Oracle Applications, Release 11g』を参照してください。

Oracle Applicationsモジュール・ブラウザについて

Oracle Applicationsモジュール・ブラウザは、Adapter for Oracle Applicationsの主要なコンポーネントです。Oracle Integration Repositoryを介して使用できるインタフェース以外に、Adapter for Oracle Applicationsを使用すると、ビジネス・イベントおよびビジネス・イベント・グループ、カスタムPL/SQL API、カスタムXML Gatewayマップおよび選択したコンカレント・プログラムを使用できますが、これらはすべて、Oracle Applicationsモジュール・ブラウザを使用して参照できます。

パートナ・リンクの定義に必要なインタフェースを選択するには、モジュール・ブラウザを使用します。次のように使用して、目的のインタフェースを見つけることができます。

インタフェースの検索

目的のインタフェース名またはワイルドカード文字を含む部分値を「オブジェクト名」フィールドに入力し、「検索」をクリックして、目的のインタフェースをModule Browser上で見つけます。

Oracle Applicationsモジュール・ブラウザを介したインタフェース検索

図の説明は本文にあります。

ツリー構造を介したインタフェース参照

モジュール・ブラウザは、Oracle統合リポジトリからのインタフェース・データを、Adapter for Oracle Applicationsでサポートされるその他のインタフェースに関する情報と組み合せます。

ツリー構造の展開によるインタフェース参照

図の説明は本文にあります。

サポートされているインタフェースは、次のようなツリー階層に整理されます。

ProductFamilies
 |-[product_family]
 |  |-[product]
 |     |-[business_entity]
 |        |-XML Gateway ([n])
 |        |-EDI ([n])
 |        |-PLSQL ([n])
 |        |  |-[package_name]
 |        |-OpenInterfaces ([n])
 |           |-[OpenInterface_name]
 |              |-Tables ([n])
 |              |-Views ([n])
 |              |-ConcurrentPrograms ([n])
 |-Other Interfaces
    |-Business Events
       |-Inbound
       |-Outbound
          |-Groups
            |-[business event name]
    |-Custom Objects
       |-PLSQL APIs
       |  |-[package_name]
       |-XMLGateway Maps
          |-Inbound
          |-Outbound
       |-Concurrent Programs
			   |-[concurrent program name]
 

製品ファミリによるインタフェース参照

Oracle Integration Repositoryインタフェース・データは、[product_family]セクションを移入し、所属する製品およびビジネス・エンティティに従ってグループ化します。

製品ファミリによるインタフェース参照

図の説明は本文にあります。

「その他インタフェース」以下でのビジネス・イベントとカスタム・インタフェースの参照

ビジネス・イベントとカスタム・インタフェースは、「その他インタフェース」ノードの下に表示されます。

その他インタフェースの参照

図の説明は本文にあります。