Oracle Fusion Middleware Adapter for Oracle Applicationsユーザーズ・ガイド 11g リリース1(11.1.1.7.0) 部品番号 B61389-04 | ![]() 目次 | ![]() 前 | ![]() 次 |
この章では、Adapter for Oracle Applicationの基本的な概念について説明します。アプリケーションのコンテキスト、セキュリティ、ロギングおよびフレックスフィールドがどのように使用またはサポートされるかと、エラーと例外がどのように処理されるかについて、基本的な知識を提供します。この章で詳細を説明する概念は次のとおりです。
Oracle Applicationsとのインタフェースを起動するには、アプリケーションのコンテキストが必要です。アプリケーション・コンテキストは、「ユーザー名」、「職責」、「職責アプリケーション」および「セキュリティ・グループ」を組み合せたものです。これらの要素は、Oracle Applicationsとのインタフェースを正しく確立するために必要になることがあります。
複数の組織と組織間のリレーションシップは、Oracle Applicationsの単一インストールで定義できます。これらの組織には、会計帳簿、ビジネス・グループ、法的エンティティ、営業単位または在庫組織があります。
各階層の最上位のビジネス・グループを使用して、複数レベルの組織階層を定義できます。新しい組織を定義すると、現在のセッションに関連付けられたビジネス・グループに自動的に割り当てられます。各組織はビジネス・グループに属しています。通常、ビジネス・グループは企業の組織図の最上部にあるボックスです。
ビジネス・グループ階層
次の図に示すように、複数レベルの会社構造を作成するには、Oracle Applicationsの会計、配布および資材管理の各機能を使用して、在庫組織、営業単位、法的エンティティおよび会計帳簿間のリレーションシップを定義します。
複数組織トランザクション
フランスの営業所とドイツの倉庫という、社内の2つの異なる組織を考えてみましょう。顧客からの発注トランザクションが存在します。この図は発注から搬送までの全体的なプロセスを示しています。
顧客がフランスの営業所に発注します。
ドイツの倉庫が顧客へ製品出荷を行います。
ドイツの倉庫がフランスの営業所に会社間請求書を発行します。
フランスの営業所がドイツの倉庫に会社間支払を実行します。
フランスの営業所が顧客に顧客請求書を送付します。
顧客がフランスの営業所に支払を実行します。
データベース・アーキテクチャは、複数組織インストールでも非複数組織インストールでも同じであり、標準のインストール・ツール機能が使用されます。この機能により、ベース製品表ごとに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セキュリティ・プロファイルにグループ化されています。アメリカ販売セキュリティ・プロファイルはアメリカ関連データ用に作成され、地域セキュリティ・プロファイルは指定地域データ用に作成されています。システム管理者は、複数の営業単位を含むこれらのセキュリティ・プロファイルを適切な職責を介してユーザーに関連付けることができます。したがって、販売管理者は、その職責を変更することなく東部または西部地域の販売データに容易にアクセスできます。次の図は、この販売会社のセキュリティ・プロファイル、職責および営業単位間の関係を示しています。
セキュリティ・プロファイル、職責および営業単位間の関係図
職責によって決まる営業単位
職責は、その関連付けられているセキュリティ・プロファイルが営業単位にリンクしているため、どの営業単位にアクセス権があるかは職責がキーとなって決まります。
PL/SQL APIまたはコンカレント・プログラムを使用してOracle Applicationsと統合する場合、アプリケーションのコンテキストは、「ユーザー名」、「職責」、「職責アプリケーション」および「セキュリティ・グループ」の各ヘッダー・プロパティに渡される値に基づいて設定されます。
注意: 下位互換性維持のため、「職責アプリケーション」、「セキュリティ・グループ」または「NLS言語」ヘッダー・プロパティが渡された場合を除いて、コンテキスト関連の例外またはエラーはスローされません。
MOAC設定は、ユーザーが所属する「職責アプリケーション」に基づいて行われます。Organization IDを渡すと、組織のアクセスは渡された組織に設定されます。
ユーザーが希望の言語でインタフェースを起動する必要がある場合は、ヘッダー・プロパティ「NLS言語」を渡すことができます。「NLS言語」のデフォルト値は、Oracle Applications内のユーザーのプリファレンスで指定された言語です。
ビジネス・プロセスをOracle Applicationsと統合する際には、これらのアプリケーション・コンテキスト値を、Adapter for Oracle Applicationsがヘッダー・プロパティを通じて提供する柔軟なメカニズムによって伝播することが重要です。
この項の内容は、次のとおりです。
BPELプロセスで必要なアプリケーション・コンテキスト値を効果的に設定したり、XML Gatewayインバウンド・トランザクションが正常に完了するために必須のヘッダー・プロパティを移入するために、Adapter for Oracle Applicationsには柔軟なメカニズムが備えられています。それぞれのコンテキスト値やヘッダー変数はこのメカニズムによって設定され、invokeアクティビティによってアダプタ・ユーザー・インタフェースに直接渡されます。このメッセージの正規化機能により、ヘッダー・サポート上の柔軟なソリューションが提供されるだけでなく、ヘッダー値を渡すときにassignアクティビティを使用しないことによって設計時タスクが簡易化されます。
アプリケーション・コンテキストのメッセージ・プロパティの設定
次のヘッダー・プロパティは、PL/SQLおよびコンカレント・プログラムのインタフェースでアプリケーションのコンテキストを設定するために使用します。
jca.apps.Username
jca.apps.Responsibility
jca.apps.ORG_ID
jca.apps.RespApplication
jca.apps.SecurityGroup
注意: 以前のリリースで使用されている既存のヘッダー・プロパティは、入力として「職責キー」および「職責名」を使用できるようになりました。ヘッダー・プロパティjca.apps.NLSLanguageが設定されており、かつ「職責名」が渡される場合、jca.apps.Responsibilityに渡される値は同じ言語で記述されていることが想定されます。ただし、「職責キー」およびその他のヘッダー・プロパティは言語非依存です。
アプリケーション・コンテキストを設定するために、これらのすべてのヘッダー・プロパティを同時に使用する場合があります。または、「ユーザー名」および「職責」のみを渡すと、以前のリリースと同様に処理されます。
NULLまたは空の値の場合は、デフォルトの「ユーザー名」は「SYSADMIN」、デフォルトの「職責」は「システム管理者」、デフォルトの「セキュリティ・グループ・キー」は「標準」およびデフォルトの「NLS言語」は「US」となります。
XML Gatewayインバウンド・トランザクションのメッセージ・プロパティの設定
XML Gatewayのインバウンド・トランザクションおよびエンキュー・トランザクションに必要なXML Gateway情報の設定には、次のヘッダー・メッセージ・プロパティが使用されます。
jca.apps.ecx.TransactionType
jca.apps.ecx.TransactionSubtype
jca.apps.ecx.PartySiteId
jca.apps.ecx.MessageType
jca.apps.ecx.MessageStandard
jca.apps.ecx.DocumentNumber
jca.apps.ecx.ProtocolType
jca.apps.ecx.ProtocolAddress
jca.apps.ecx.Username
jca.apps.ecx.Password
jca.apps.ecx.Attribute1
jca.apps.ecx.Attribute2
jca.apps.ecx.Attribute3
jca.apps.ecx.Attribute4
jca.apps.ecx.Attribute5
jca.apps.ecx.Payload
Adapter for Oracle Applicationsでは、次の手順に従って、メッセージの正規化をサポートするための設計時タスクを完了します。
このアクティビティでは、次のタスクを実行します。
「一般」タブでの基本情報の構成:
invokeアクティビティを、作成したパートナ・リンクにリンクすることで構成します。これにより、「Invokeの編集」ダイアログ・ボックスの「一般」タブが開きます。このタブに、「パートナ・リンク」および「操作」情報が移入されています。
invokeアクティビティの入力変数と出力変数を作成できます。
指示の詳細は、「一般」タブでの基本情報の構成を参照してください。
「プロパティ」タブでのヘッダー・メッセージ・プロパティの設定:
これにより、次の目的のために必要なメッセージ・プロパティを設定できます。
インバウンド・トランザクションに対してXML Gatewayのヘッダー変数を設定します。
たとえば、最初にXML Gatewayのヘッダー・プロパティjca.apps.ecx.TransactionTypeを見つけて、選択したプロパティに対する値('PO'など)を入力します。
選択したプロパティ値の入力
指示の詳細は、「ECXヘッダー・メッセージ・プロパティの設定」を参照してください。
アプリケーション・ユーザー、職責およびユーザー関連の組織情報を識別するために、Oracle Applicationsのアプリケーション・コンテキストを設定します。
たとえば、jca.apps.Usernameプロパティをプロパティ・リストから見つけて、プロパティ値として'OPERATIONS'と入力します。
ヘッダー・プロパティ値
指示の詳細は、「アプリケーション・コンテキストのヘッダー・プロパティの設定」を参照してください。
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の実行中にシステムからトランザクション・データを取得したり、エラー・メッセージを受信すると、データやエラー・メッセージのセッション言語は次の条件に基づいて決定されます。
「NLS言語」の値は、ヘッダー・プロパティjca.apps.NLSLanguageを使用して設定できます。有効な言語の値が渡される(すなわち、言語がOracle E-Business Suiteインスタンスで有効化されている)場合、セッション言語は対応する言語に設定されます。
「NLS言語」ヘッダー・プロパティが渡されない場合は、セッション言語を設定するために、ユーザー作業環境に基づくユーザーのデフォルト言語が使用されます。
ユーザーのデフォルト言語が見つからないか、または設定されていない場合、「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パラメータは次のとおりです。
NLS_LANGUAGE
NLS_SORT
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_NUMERIC_CHARACTERS
NLS_TERRITORY
たとえば、デフォルト言語が日本語のユーザーがシステムにログインして、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では、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プロパティが導入されています。
DataSecurityCheck
IRepOverloadSeq
ユーザーが機能セキュリティ認可チェックの実行を希望する場合、次のプロパティ情報を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」を使用することです。
「Y」に設定すると、機能セキュリティ機能が有効になり、PL/SQL API、Oracle E-Commerce Gatewayおよびコンカレント・プログラムに対するすべてのAPIコールは、実行される前にユーザー・セキュリティがチェックされます。
「N」(デフォルト値)に設定すると、機能セキュリティ機能が無効になります。APIコールの実行中はセキュリティ・チェックは実行されません。
ユーザーが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で次の手順を実行して、ユーザー・ロールを介してユーザーにセキュリティ権限付与を作成する必要があります。
権限セットは、次の手順を使用して作成します。
システム管理者の職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「アプリケーション・メニュー」を選択して「メニュー」ウィンドウにアクセスします。
次のメニュー情報を入力します。
メニュー: メニュー名(OE_PROCESS_LINE_PSなど)を入力します。
ユーザー・メニュー名: メニュー名(「オーダー・マネージャ明細処理権限セット」など)を入力します。
メニュー・タイプ: 権限セット。
摘要: このメニューの説明を入力します。
「順序」と「機能」の値を入力して、この権限セットにグループ化する機能をすべて追加します。
「順序」フィールドに入力します。
「機能」の列で、この権限セットに割り当てる機能を検索します。
「機能」ウィンドウで検索を実行して機能名を選択します。たとえば、パブリックPL/SQL API検索の構文は、PLSQL:<package name>:<procedure name>です。「検索」フィールドに%PLSQL:OE%と入力し、「検索」をクリックして検索を実行します。
機能の検索
コンポジット・アプリケーションに基づいて機能を選択し、BPELプロセスまたはMediatorから起動するAPIに権限を付与します。
たとえば、受注明細変更のBPELプロセスの場合は、受注変更PL/SQL APIに含まれている受注明細変更関連の機能を選択して権限セットとしてグループ化し、ロールを介して該当するユーザーにその権限セットを付与します。
関連項目: ユーザー・ロールの作成
権限セット・メニュー
権限セットを保存します。
権限セットはユーザー・ロールを介して付与されます。したがって、最初にロールを作成してからユーザーにそのロールを割り当てる必要があります。
ユーザー・ロールは、次の手順を使用して作成します。
ユーザー管理職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「ロールおよびロール継承」を選択し、「ロールおよびロール継承」ページにアクセスします。
「ロールの作成」をクリックして、「ロールの作成」ページにアクセスします。
次の情報を入力してユーザー・ロールを作成します。
カテゴリ: ドロップダウン・リストから「その他」を選択します。
ロール・コード: 該当するロール・コード(EBS_ADAPTER_ROLEなど)を入力します。
表示名: 表示名の情報(「EBSアダプタ・ロール」など)を入力します。
摘要: 説明の情報(「EBSアダプタ・ロール」など)を入力します。
アプリケーション: 該当するアプリケーション(Application Object Libraryなど)を選択します。
有効日: ロールがすぐに有効になるように当日またはそれより前の日付を入力します。
情報を保存して「付与の作成」をクリックします。
「付与の作成: 付与の定義」ページに次の情報を入力します。
名前: 名前(「EBS_ADAPTER_GRANT」など)を入力します。
摘要: この付与の説明を入力します。
「次」をクリックします。
「付与の作成: オブジェクト・パラメータの定義およびセットの選択」ページで、「権限セットの作成」項で作成した権限セットを選択し、「次」をクリックします。
「終了」をクリックします。
ロールを介してユーザーに権限セットを付与するには、次の手順を使用します。
ユーザー管理職責を使用してOracle E-Businessにログインします。
「ナビゲータ」から「ユーザー」を選択して「ユーザー保守」ページにアクセスします。
ロールを割り当てるユーザーを検索して「移動」をクリックします。
ロールを割り当てるユーザー名の隣にある「更新」アイコンを選択します。
「ユーザーの更新」ページで「ロールの割当」をクリックすると「検索」ウィンドウが移入され、以前に作成したロールが検索できます。
ロール(EBS_ADAPTER_ROLEなど)を選択して更新内容を保存します。
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が提供する主なフレックスフィールド機能は次のとおりです。
APIパラメータ名とそれに対応するフレックスフィールド・セグメント名とのマッピングを含むフレックスフィールド情報をOracle Applicationsモジュール・ブラウザで表示できます。
キー・フレックスフィールドと付加フレックスフィールドの両方を構成および変更できます。
選択されたAPIに対して、新規のマッピングを構成することも作成済のマッピングをインポートして再利用することもできる柔軟なマッピング・サポート・メカニズムを提供します。
注意: フレックスフィールドをマップできるのは1つのPL/SQL APIに対して1回のみです。重複するフレックスフィールドは使用できません。
フレックスフィールドのマッピングが完了してパートナ・リンクが作成されると、汎用パラメータ名のかわりにフレックスフィールド名を使用して拡張スキーマ(XSD)が生成されます。
Adapter for Oracle ApplicationsのランタイムをOracle Databaseアダプタからのサポートと連携させて拡張スキーマを処理できます。
Oracle Adapter for Oracle Applicationsは、APIから参照されるキー・フレックスフィールドと付加フレックスフィールドを両方ともサポートします。
キー・フレックスフィールド
キー・フレックスフィールドはエンティティの識別子として使用します。一般に、キー・フレックスフィールドを使用して作成する識別子はアプリケーションにとって必要な識別子です。たとえば、勘定科目番号の作成と表示には会計フレックスフィールドが使用されます。このキー・フレックスフィールドはOracle General Ledgerによって所有されますが、その値は他の多くのアプリケーションで使用できます。
通常、キー・フレックスフィールド構造は複数のセグメントで構成され、各セグメントには意味のある情報が格納されます。たとえば会計フレックスフィールド構造は、会社、部門、勘定科目、小科目、製品の5つのセグメントで構成できます。
付加フレックスフィールド
付加フレックスフィールドは、ビジネスに必要な専門的かつ重要な固有の情報を収集するために使用します。つまり、このタイプのフレックスフィールドはOracle E-Business Suiteの収集範囲を超える情報収集に使用されるのです。
通常、付加フレックスフィールドでは複数の構造が使用されます。各構造は、それぞれ異なるデータを収集するために異なるセグメントで構成できます。各セグメントの値は、アプリケーションのベース表内の列に格納されます。列名は格納されるフレックスフィールド・データのタイプを反映します。一般に、キー・フレックスフィールドではSEGMENTnと呼ばれる列にデータが格納され、付加フレックスフィールドではATTRIBUTEnと呼ばれる列にデータが格納されます(nは番号です)。
一般に、キー・フレックスフィールドは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パラメータとフレックスフィールド表の列は、手作業でマップすることも自動マップ機能を使用して自動的にマップすることもできます。
親タイプ: 親タイプは、プロシージャ・レベルですべてのスカラー・パラメータをマッピングに含めるための疑似タイプです。スカラー・パラメータのみを含む単純なAPIに使用できます。
レコード・タイプ: レコード・タイプは、スカラー・タイプに加えてレコード・タイプも含んでいる複雑なAPIに対して選択できます。API内で1つのレコード・タイプが複数回出現する場合は、参照のためにパスのリストが表示されます。レコード・タイプからのパラメータがフレックスフィールド表の列にマップされた場合、それが出現したすべてのパスに同じマッピングを適用できます。
サポートされるレコード・タイプとしては、配列、ネストされた表、関連配列などがあります。
注意: 自動マップ機能では、表のすべての列が、パラメータ名の一部に列名を含むパラメータにマップされます。たとえば、パラメータ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アダプタと連携して拡張スキーマ・ファイルを処理します。
フレックスフィールド構造とコンテキスト値の定義に関するガイドライン
次のいずれかの条件が満たされた場合、付加フレックスフィールドのコンテキスト値またはキー・フレックスフィールドの構造を選択することはできません。
コンテキストまたは構造にセグメントもセグメント・マッピングもない。
少なくとも1つのセグメントを持つコンテキスト値または構造値のみ選択できる。
コンテキストまたは構造にセグメントがあるが、いずれのセグメントもマッピング・ページでマップされた表のどの列とも一致しない。
コンテキストまたは構造のセグメントがすべてOracle E-Business Suiteで無効にされている。
コンテキストまたは構造そのものがOracle E-Business Suiteで無効にされている。
フレックスフィールドのサブフロー・ウィザードの手順6 (フレックスフィールドのサブフロー - フレックスフィールドの構成)では、有効なコンテキストまたは構造のみ表示されます。
フレックスフィールドのマッピングは、拡張スキーマまたはXSDファイルの生成に使用されます。
重複するフレックスフィールドは使用できません。フレックスフィールドをマップできるのは1つのPL/SQL APIに対して1回のみです。
範囲キー・フレックスフィールドはサポートされません。
値セットと修飾子はサポートされません。
1つのフレックスフィールドを構成するすべてのフレックスフィールド・セグメントに対するフレックスフィールド・マッピングは、親レベルで、または1つのレコード・タイプ内で行う必要があります。
コンテキスト列のマッピングは、セグメントがマップされたレベルのパラメータと対応する必要があります。つまり、付加フレックスフィールドのセグメントが選択されたデータ・タイプ(レコード・タイプまたは親タイプ)にマップされた場合、コンテキスト列のマッピングも同じデータ・タイプとの間で行う必要があります。
設計時にパートナ・リンクを作成しているときに、選択した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についてフレックスフィールドの構成または変更をバイパスすることもできます。
「パラメータと対応するフレックスフィールドのマッピング」領域
この領域には、選択したAPIのパラメータと、対応するAPIパラメータからフレックスフィールド表の列へのマッピング情報が表示されます。
選択したAPIの中のパラメータを簡単に見つけられるように、レコード・タイプのパラメータは表内のツリーとして表示されます。
「フレックスフィールドの構成」領域
この領域では次のタスクを実行できます。
フレックスフィールド定義の変更
選択したAPIがカスタムAPIであってもシードされたAPIであっても、フレックスフィールド・マッピング情報が一度ブラウザに表示されたら、付加フレックスフィールドのコンテキスト値とキー・フレックスフィールドの構造を変更できるようになります。
Oracle Adapter for Oracle Applicationsは、Oracle Applicationsモジュール・ブラウザからのフレックスフィールド定義を使用して拡張XSDを生成します。このXSDには、設計時にマッピング情報に基づいて選択されたフレックスフィールド・セグメント名がAPIパラメータ名とともに含められます。
フレックスフィールドを変更する方法の詳細は、「フレックスフィールド定義の変更」を参照してください。
新しいマッピングの作成
選択したAPIに新しいマッピングを作成するには、「フレックスフィールド・メタデータ」セクションで「マッピングの追加」を選択します。新しいフレックスフィールド・マッピング・ウィザードが表示され、各構成ページで、キー・フレックスフィールドや付加フレックスフィールドを追加したり、選択したAPIとOracle E-Business Suiteインスタンスで定義されたフレックスフィールドとの間のフレックスフィールド・マッピングを構成することができます。
「新しいマッピングの追加または構成」を参照してください。
既存マッピングのインポート
新しいマッピングを作成するかわりに、「フレックスフィールド・メタデータ」セクションで 「ファイルからインポート」を選択して作成された既存のマッピングを使用できます。これにより選択した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の新しいマッピングを構成できます。
「ようこそ」ページで「次へ」をクリックします。「フレックスフィールド・タイプの選択」ページが表示されます。
フレックスフィールドのサブフロー - フレックスフィールド・タイプの選択
キー・フレックスフィールドを構成するには、次の手順を実行します。
「フレックスフィールド・タイプの選択」ページで「キー・フレックスフィールド」ラジオ・ボタンを選択します。「次」をクリックします。「フレックスフィールド・アプリケーションの選択」ページが表示されます。
目的のアプリケーション名を見つけるには、検索キーワード(%App%など)を入力して「問合せ」をクリックし、検索を実行します。検索基準と一致したエントリがすべて表示されます。たとえば、フレックスフィールドが所属するアプリケーションの名前として、「Inventory」ラジオ・ボタンを選択します。
フレックスフィールドのサブフロー - フレックスフィールド・アプリケーションの選択
または、直接「問合せ」をクリックして検索キーワードなしの空白検索を実行します。この場合は、すべてのフレックスフィールド・アプリケーション名が選択肢として表示されます。
「次」をクリックします。
「フレックスフィールドの選択」ページで、検索キーワードを入力し(必要な場合)、「問合せ」をクリックして検索を実行します。一致したキー・フレックスフィールドがすべて選択肢として表示されます。目的のキー・フレックスフィールドのラジオ・ボタンを選択します。
フレックスフィールドのサブフロー - フレックスフィールドの選択
「次」をクリックして処理を続行してください。
「データ型の選択とマッピングの構成」ページが表示され、そこでキー・フレックスフィールドのマッピングを選択できます。選択したキー・フレックスフィールド名が自動的にフレックスフィールド名として表示されます。
フレックスフィールドのサブフロー - データ型の選択とマッピングの構成
レコード・タイプを持たない単純なAPIの場合、フレックスフィールド・マッピングを構成するには、「データ型の選択」ドロップダウン・リストから<Parent_type>を選択します。すると、必要なフレックスフィールド・メタデータがすべてOracle E-Business Suiteデータベースから取得され、親レベルのパラメータがマッピングのために表示されます。
注意: Parent_typeは、プロシージャ・レベルですべてのスカラー・パラメータをマッピングに含めるための疑似タイプです。
複雑なAPIの場合は、レコード・タイプを選択することもできます。API内で1つのレコード・タイプが複数回出現する場合は、参照のためにパスのリストが表示されます。レコード・タイプからのパラメータがフレックスフィールド表の列にマップされた場合、それが出現したすべてのパスに同じマッピングを適用できます。
このマッピング・ページでは、手作業でマッピングすることも、自動マップ機能を使用することもできます。
自動マップ機能はすべてのセグメントを、パラメータ名の一部に列名を含むパラメータにマップします。たとえば、表のSEGMENT1列はパラメータSEGMENT1にマップされます。パラメータ名と表の列名のセットが複数ある場合は、接頭辞を指定できます。
たとえば、P_SEGMENT1、P_SEGMENT2、P_SEGMENT3、P_SEGMENTn (nは番号)のようなP_で始まるパラメータをすべて取得するには、接頭辞としてP_を入力します。「自動マップ」をクリックすると、接頭辞P_で始まるすべてのパラメータが、自動マップされた表の列名とともに表示されます。
注意: フレックスフィールドの値は、アプリケーションのデータベース表に格納されます。一般に、キー・フレックスフィールドではSEGMENTnと呼ばれる列にデータが格納され、付加フレックスフィールドではATTRIBUTEnと呼ばれる列にデータが格納されます(nは番号です)。
手動マップでは、対応するパラメータに対してマップする表の列を選択できます。
注意: パラメータがすでに表の列にマップされている場合、そのパラメータを別の列に再マップすることはできません。この場合は、マップされたパラメータのかわりに「マップ済」と表示されます。
現在のマッピングをクリアするには、「マッピングのクリア」をクリックします。「マップ済」のマークが付いているマップ済の列はすべて、システムから削除されません。
「次」をクリックして処理を続行してください。
フレックスフィールドの構成は、キー・フレックスフィールドの構造と付加フレックスフィールドの最低1つのコンテキスト値がないと完了しません。
「フレックスフィールドの構成」ページで、必要に応じて「構造」フィールドに検索キーワードを入力するか、単に「問合せ」をクリックして空白検索を実行します。選択したキー・フレックスフィールドに対して一致した構造がすべて表示されます。
構造は1つのみ選択します(SYSTEM_ITEMSなど)。
望みどおりの構造が選択肢としてウィザードに表示されるようにするには、特定の基準を満たす必要があることに注意してください。「フレックスフィールド構造とコンテキスト値の定義に関するガイドライン」を参照してください。
フレックスフィールドのサブフロー - フレックスフィールドの構成
注意: フレックスフィールド・マッピングに含められるキー・フレックスフィールドの構造は1つのみです。付加フレックスフィールドの場合は、複数のコンテキスト値をマッピングに含めることができます。
「終了」をクリックします。
「Oracle Applicationsモジュール・ブラウザ」ウィンドウが表示されます。新しく追加したキー・フレックスフィールド構造と、マップされたパラメータが「パラメータと対応するフレックスフィールドのマッピング」領域に表示されます。
キー・フレックスフィールドの情報も、「フレックスフィールド定義」セクションに表示されます。
選択したキー・フレックスフィールドの情報の表示
「OK」をクリックします。
「アプリケーション・インタフェース」ページが開き、選択したAPIが表示されます。
「次へ」をクリックし、「終了」をクリックします。
パートナ・リンクに対応するWSDLファイルが生成されます。拡張XSDファイル(たとえばProcessItem_KFF_flex.xsd)も作成されます。このXSDファイルには、フレックスフィールドのセグメント名で置き換えられたパラメータを表す要素を使用してプロシージャの引数を記述するスキーマが収められています。
「適用」をクリックし、「OK」をクリックします。
さらに、構成ファイルとフレックスフィールド・マッピング・ファイルも作成されます。これらのファイルの詳細は、「フレックスフィールドの構成の確認」を参照してください。
選択したAPIについて付加フレックスフィールドを追加する方法は、「付加フレックスフィールドの構成」を参照してください。
パートナ・リンクの作成時に構成されたキー・フレックスフィールドのマッピング・データを、設計時に表示できます。
キー・フレックスフィールドを持つコンポジットの例
次の例では、SOAコンポジットのBPELプロセスにおけるキー・フレックスフィールドのマッピングについて説明します。
BPELプロセスを持つ新しいSOAコンポジット・アプリケーションを作成します。
前述のINV_EBI_ITEM_PUB.PROCESS_ITEM_LIST APIに対して構成したキー・フレックスフィールド・マッピングを使用するProcesItem_KFFと呼ばれるパートナ・リンク・サービスを追加します。
キー・フレックスフィールドを構成する方法の詳細は、「キー・フレックスフィールドの構成」を参照してください。
サービス起動用のフレックスフィールド・データを含む入力ペイロードを読み取るために、ファイル・アダプタのパートナ・リンクを追加します。
「ファイル・ディレクトリ」ダイアログで、入力ペイロードxmlファイル(たとえばinput_payload.xml)が存在する物理ディレクトリ(たとえば/usr/tmp)を入力します。
「メッセージ」ダイアログで、「URL」フィールドの横にある「スキーマ・ファイルを参照」アイコンを選択して「タイプ・チューザ」を開きます。
「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「ProcessItem_KFF_sp.xsd」→「ProcessItem_KFF_flex.xsd」→「InputParameters」を選択します。
「OK」をクリックします。選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
2つのinvokeアクティビティを構成します。
最初のinvokeアクティビティは、入力ペイロードのデータを同期的に読み取るために、ファイル・アダプタのパートナ・リンクと関連付けます。
2番目のinvokeアクティビティは、サービスを起動するために、フレックスフィールド・マッピングを含んでいるパートナ・リンクProcessItem_KFFと関連付けます。
ファイル・アダプタから受け取った入力ペイロードを、サービス起動用に2番目のinvokeアクティビティに渡すために、assignアクティビティを追加します。
Oracle E-Business Suiteで定義された一致するフレックスフィールド・セグメントに対応する、マップされたキー・フレックスフィールドの列名が、assignアクティビティに表示されます。「assignアクティビティでのキー・フレックスフィールドを使用したパラメータの割当て」を参照してください。
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アクティビティの中に表示されています。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_SynchRead_OutputVariable」→「本文」→「ns2:InputParameters」→「ns2:P_ITEM」→「ns2:P_ITEM_ITEM」→「ns2:MAIN_OBJ_TYPE」(データ型はINV_EBI_ITEM_MAIN_OBJ)→「ns2: System_Items」にナビゲートして「ns3: Item」を選択します。
「To」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「InputParameters」→「ns2:InputParameters」→「ns2:P_ITEM」→「ns2:P_ITEM_ITEM」→「ns2:MAIN_OBJ_TYPE」(データ型はINV_EBI_ITEM_MAIN_OBJ)→「ns2: System_Items」にナビゲートし、「ns3: Item」を選択します。
ソース・ノード(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の新しいマッピングを構成できます。
「ようこそ」ページで「次へ」をクリックします。「フレックスフィールド・タイプの選択」ページが表示されます。
フレックスフィールドのサブフロー - フレックスフィールド・タイプの選択
付加フレックスフィールドを構成するには、次の手順を実行します。
「フレックスフィールド・タイプの選択」ページで「付加フレックスフィールド」ラジオ・ボタンを選択し、フレックスフィールド・マッピング・ウィザードで前述のキー・フレックスフィールドの場合と同様のアプローチを使用します。
「フレックスフィールド・タイプの選択」ページで「次へ」をクリックします。「フレックスフィールド・アプリケーションの選択」ページが表示されます。
目的のアプリケーションを見つけるには、検索キーワード(%App%など)を入力するか単に「問合せ」をクリックして、検索を実行します。付加フレックスフィールドに対して一致したアプリケーションがすべて表示されます。たとえば、付加フレックスフィールドが所属するアプリケーションの名前として、「Receivables」ラジオ・ボタンを選択します。
フレックスフィールドのサブフロー - フレックスフィールド・アプリケーションの選択
「次」をクリックします。
「フレックスフィールドの選択」ページで、必要に応じて検索キーワード(たとえばHZ%)を入力し、「問合せ」をクリックして検索を実行します。一致した付加フレックスフィールドがすべて選択肢として表示されます。
目的の付加フレックスフィールド(たとえばHZ_LOCATIONS)を選択し、「次へ」をクリックします。
フレックスフィールドのサブフロー - フレックスフィールドの選択
「データ型の選択とマッピングの構成」ページが表示され、そこで付加フレックスフィールドのマッピングを選択できます。
選択した付加フレックスフィールド名HZ_LOCATIONSが自動的にフレックスフィールド名として表示されます。
フレックスフィールドのサブフロー - データ型の選択とマッピングの構成
フレックスフィールド・マッピングを構成するには、「データ型の選択」ドロップダウン・リストから目的のデータ型を選択します。すると、必要なフレックスフィールド・メタデータがすべてOracle E-Business Suiteデータベースから取得され、親レベルのパラメータがマッピングのために表示されます。
親タイプ: 親タイプは、プロシージャ・レベルですべてのスカラー・パラメータをマッピングに含めるための疑似タイプです。スカラー・パラメータのみを含む単純なAPIに使用できます。
レコード・タイプ: レコード・タイプは、スカラー・タイプに加えてレコード・タイプも含んでいる複雑なAPIに対して選択できます。
付加フレックスフィールド・マッピングでのコンテキスト列の選択
付加フレックスフィールドの場合は、コンテキスト列に関する追加のマッピングを実行する必要があります。これは、フレックスフィールド・マッピングがレコードのタイプ間を超えられないためです。コンテキスト列も含めた表のすべての列を、1つのレコード・タイプまたは親タイプに属するスカラー・パラメータにマップする必要があります。
「コンテキスト列のマップ ATTRIBUTE_CATEGORY」フィールドで、マッピング情報を表示するカテゴリの名前をドロップダウン・リストから選択します。たとえば、ドロップダウン・リストからATTRIBUTE_CATEGORYを選択します。
注意: パラメータがすでに表の列にマップされている場合、そのパラメータを別の列に再マップすることはできません。この場合は、マップされたパラメータのかわりに「マップ済」と表示されます。
キー・フレックスフィールドの場合と同様に、マッピングは手作業で行うことも、「自動マップ」をクリックして自動マップ機能を利用することもできます。
自動マップ機能は表のすべての列を、パラメータ名の一部に列名を含むパラメータにマップします。たとえば、ATTRIBUTE1からATTRIBUTE20までの表列名が自動的に表示され、自動マップ機能によってそれぞれATTRIBUTE1からATTRIBUTE20までのパラメータにマップされます。
パラメータ名と表の列名のセットが複数ある場合は、自動マッピングのために接頭辞を指定する必要があります。これにより、マッピングの対象とみなす必要がある潜在的パラメータがマップされます。まず自動マッピングの対象にするパラメータを見つけるために、パラメータ接頭辞(たとえばINDUSTRY_)を入力します。次に、「自動マップ」をクリックします。接頭辞INDUSTRY_で始まるすべてのパラメータが、自動マップされた表の列名とともに表示されます。パラメータINDUSTRY_ATTRIBUTE1はATTRIBUTE1列にマップされ、パラメータINDUSTRY_ATTRIBUTEnはATTRIBUTEn列にマップされます。
自動マップ機能を使用するかわりに、フレックスフィールド・マッピングで対応するパラメータにマップする表の列名をドロップダウン・リストから手作業で選択することもできます。
現在表の列に設定されているマッピングのみをクリアするには、「マッピングのクリア」をクリックします。「マップ済」のマークが付いているマップ済の列はすべて、システムから削除されません。
「次へ」をクリックして、次のページに進みます。
「フレックスフィールドの構成」ページで、選択した付加フレックスフィールドに対して少なくとも1つのコンテキスト値を選択します。たとえば、希望するコンテキスト値(ChileやEcuadorなど)を選択します。
選択の前に、「コンテキスト」フィールドに検索キーワードを入力するか、単に「問合せ」をクリックして、検索を実行できます。
付加フレックスフィールドの場合、APIパラメータを通じてランタイムがコンテキスト値を使用できるようにする必要があります。
望みどおりのコンテキスト値が選択肢としてウィザードに表示されるようにするには、特定の基準を満たす必要があることに注意してください。「フレックスフィールド構造とコンテキスト値の定義に関するガイドライン」を参照してください。
フレックスフィールドのサブフロー - フレックスフィールドの構成
「終了」をクリックしてフレックスフィールドの構成を完了します。
「Oracle Applicationsモジュール・ブラウザ」ウィンドウが表示されます。新しく追加した付加フレックスフィールド情報が、選択したコンテキスト値のセグメント値も含めて、ウィンドウの右側のペインに表示されます。
選択した付加フレックスフィールドの情報の表示
「OK」をクリックします。
「アプリケーション・インタフェース」ページが開き、選択したAPIが表示されます。
「次へ」をクリックし、「終了」をクリックします。
パートナ・リンクに対応するWSDLファイルが生成されます。拡張XSDファイル(たとえばSynAccOrder_flex.xsd)も作成されます。このXSDファイルには、フレックスフィールドのセグメント名で置き換えられたパラメータを表す要素を使用してプロシージャの引数を記述するスキーマが収められています。
「適用」をクリックし、「OK」をクリックします。
さらに、構成ファイルとフレックスフィールド・マッピング・ファイルも作成されます。これらのファイルの詳細は、「フレックスフィールドの構成の確認」を参照してください。
新しいフレックスフィールド・マッピングを構成または追加した後、変更が必要になった場合は、まず変更対象のフレックスフィールド・タイプを選択して、必要な変更を行います。選択したマッピングの詳細を変更する方法の詳細は、「フレックスフィールド定義の変更」を参照してください。
キー・フレックスフィールドの場合と同様に、パートナ・リンクの作成時に構成された付加フレックスフィールドのマッピング・データは、SOAコンポジット内のBPELプロセスにまとめられた次のアクティビティとともに設計時に表示できます。
付加フレックスフィールドを持つコンポジットの例
次の例では、SOAコンポジットのBPELプロセスにおける付加フレックスフィールドのマッピングについて説明します。
BPELプロセスを持つ新しいSOAコンポジット・アプリケーションを作成します。
HZ_AIA_CUSTOM_PKG.SYNC_ACCT_ORDER APIに対して構成した前述の付加フレックスフィールド・マッピングを使用するSynAccOrderと呼ばれるパートナ・リンク・サービスを追加します。
付加フレックスフィールドを構成する方法の詳細は、「付加フレックスフィールドの構成」を参照してください。
サービス起動用のフレックスフィールド・データを含む入力ペイロードを読み取るために、ファイル・アダプタのパートナ・リンクを追加します。
「ファイル・ディレクトリ」ダイアログで、入力ペイロードxmlファイル(たとえばinput_payload.xml)が存在する物理ディレクトリ(たとえば/usr/tmp)を入力します。
「メッセージ」ダイアログで、「URL」フィールドの横にある「スキーマ・ファイルを参照」アイコンを選択して「タイプ・チューザ」を開きます。
「タイプ・エクスプローラ」をクリックして、「プロジェクトのスキーマ・ファイル」→「SynAccOrder_sp.xsd」→「SynAccOrder_flex.xsd」→「InputParameters」を選択します。
「OK」をクリックします。選択したスキーマ情報は、「URL」フィールドと「スキーマ要素」フィールドに自動的に移入されます。
2つのinvokeアクティビティを構成します。
最初のinvokeアクティビティは、入力ペイロードのデータを同期的に読み取るために、ファイル・アダプタのパートナ・リンクと関連付けます。
2番目のinvokeアクティビティは、サービスを起動するために、フレックスフィールド・マッピングを含んでいるパートナ・リンクSynAccOrderと関連付けます。
ファイル・アダプタから受け取った入力ペイロードを、サービス起動用に2番目のinvokeアクティビティに渡すために、assignアクティビティを追加します。
Oracle E-Business Suiteで定義された一致するフレックスフィールド・セグメントに対応する、マップされた付加フレックスフィールドの列名が、assignアクティビティに表示されます。「assignアクティビティでの付加フレックスフィールドを使用したパラメータの割当て」を参照してください。
SOAコンポジット内のBPELプロセスの構築
設計時タスクを作成する方法の詳細は、「PL/SQL APIに関する設計時タスク」を参照してください。
Oracle E-Business Suiteでのフレックスフィールドの検証
Oracle ReceivablesアプリケーションでTCA Location Information (HZ_LOCATIONS)の付加フレックスフィールド属性を定義すると(アプリケーション開発者職責)、コンテキスト値に基づいて次の属性が指定されます。
コンテキスト値 | 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は、前述のフレックスフィールド構成時に次の付加フレックスフィールド列にマップされています。
Region (コンテキスト値<sequence(Chile)>の下)
Zona (コンテキスト値<sequence(Ecuador)>の下)
ターゲット・パラメータns2:ATTRIBUTE2は、前述のフレックスフィールド構成時に次の付加フレックスフィールド列にマップされています。
Comuna (コンテキスト値<sequence(Chile)>の下)
Parroquia (コンテキスト値<sequence(Ecuador)>の下)
コンテキスト値によってグループ分けされたこれらの付加フレックスフィールド列が、assignアクティビティ内に表示されます。
「From」ナビゲーション・ツリーで、「変数」→「プロセス」→「変数」→「Invoke_SynchRead_OutputVariable」→「本文」→「ns2:InputParameters」→「ns2:P_ORG_CUST_OBJ」→「ns2:ORGANIZATION_OBJ」→「ns2:PARTY_SITE_OBJS」→「ns2:PARTY_SITE_OBJS_ITEM」→「ns2:LOCATION_OBJ」→「ns2:HZ_LOCATIONS」→「ns3:ATTRIBUTE_CATEGORY」にナビゲートし、「<choice>」アイコンを展開して、選択したコンテキスト値ns3:Chileについてマップした付加フレックスフィールド列ns3:Regionおよびns3:Comunaを見つけます(または、選択したコンテキスト値ns3:Ecuadorに対してns3:Zonaとns3:Parroquiaを選択します)。
「To」ナビゲーション・ツリーで、「Invoke_SyncOrder_InputVariable」→「InputParameters」→「ns2:InputParameters」→「ns2:P_ORG_CUST_OBJ」→「ns2:ORGANIZATION_OBJ」→「ns2:PARTY_SITE_OBJS」→「ns2:PARTY_SITE_OBJS_ITEM」→「ns2:LOCATION_OBJ」→「ns2:HZ_LOCATIONS」→「ns3:ATTRIBUTE_CATEGORY」にナビゲートし、「<choice>」アイコンを展開して、選択したコンテキスト値ns3:Chileについてマップした付加フレックスフィールド列ns3:Regionおよびns3:Comunaを見つけます(または、選択したコンテキスト値ns3:Ecuadorに対してns3:Zonaとns3:Parroquiaを選択します)。
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つのセットが、実行時に表示されるようになりました。
HZ_LOCATIONS_1_0 (設計時にassignアクティビティに構成したデフォルトの選択肢)
Region
Comuna
HZ_LOCATIONS_1_1
Zona
Parroquia
適切なデータをペイロードとして入力し、「起動」をクリックしてサービスを起動します。
新しいマッピングを構成するかわりに、選択した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ファイルが作成されます。
マッピングXML: マッピングxmlファイル(たとえばINV_EBI_ITEM_PUB_PROCESS_ITEM_LIST_ProcessItem_KFF_mapping.xml)には、マッピング・ウィザード・パネルで取得されたマッピング情報が格納されます。この情報は、同じAPIのために再利用したり、別のパートナ・リンクからインポートすることができます。
フレックスフィールド・マッピングの詳細の表示
選択したAPIに対してフレックスフィールド・マッピングをインポートする方法の詳細は、「既存のフレックスフィールド・マッピングのインポート」を参照してください。
構成XML: 構成xml (たとえばOE_ORDER_PUB_PROCESS_LINE_GL_Flexfield_flex-config.xml)には、キー・フレックスフィールドおよび付加フレックスフィールドの両方を含む(両方が構成されている場合)フレックスフィールド情報が格納されます。これは再利用できません。
構成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に診断メッセージ・タイプとログ・レベルを設定する手順:
次の手順に従って、メッセージ・タイプとそれに関連付けられたログ・レベルを設定します。
http://<servername>:<portnumber>/emに移動します。
Oracle Enterprise Manager Fusion Middleware Controlコンソールのホーム・ページが表示されます。
ユーザー名とパスワードを入力して、コンソールにログオンします。
「ナビゲータ」ツリーで「SOA」フォルダの「soa-infra」を右クリックします。
ポップアップ・メニューから「ログ」>「ログ構成」を選択します。
注意: SOAインフラストラクチャ」メニューをクリックして、ドロップダウン・メニューから「ログ」>「ログ構成」を選択しても、「ログ構成」ページにアクセスできます。
ログ出力のリストを表示でき、ログ・ファイルに書き込む情報の量と種類、およびログ・レベル状態を設定するためのOracle Diagnostic Logging(ODL)レベルを構成できる「ログ構成」ページが開きます。
アダプタのログ・レベルの構成
「ログ・レベル」タブを選択します。
「表示」ドロップダウン・リストから次のいずれかの値を選択します。
ランタイム・ログ出力(デフォルト): ランタイム出力は、実行時に自動的に作成され、サービスの実行時にアクティブになります。たとえば、oracle.soa.b2bまたはoracle.soa.bpelはランタイム出力です。ランタイム出力のログ・レベルは、コンポーネントを再起動するとリセットされます。
永続ログ・レベル状態のログ出力: 永続ログ出力は、構成ファイルに保存され、コンポーネントの起動時にアクティブになるログ出力です。これらのログ出力のログ・レベルは、コンポーネントを再起動しても保持されます。
注意: デフォルトでは、ログ・レベルはランタイム出力用に設定されています。ランタイム出力は、コンポーネントを再起動するとリセットされます。コンポーネントを再起動してもログ・レベルが保持されるようにするには、「表示」リストから「永続ログ・レベル状態のログ出力」を選択します。
oracle.soaノードを展開し、「ログ出力名」リストでoracle.soa.adapterランタイム・ログ出力を検索します。Oracle Diagnosticの「ログ・レベル」ドロップダウン・リストからログ出力レベルを選択します。たとえば、「TRACE:32 (FINEST)」を選択します。
「適用」をクリックします。
「ログ・ファイル」タブでのログ・ファイルの作成と編集
「ログ・ファイル」列に表示されるログ・ヘッダー・リンクをクリックして、特定のログ・ファイルを編集できます。基本的な構成設定や詳細なログ設定を構成できる「ログ・ファイル」タブが開きます。これらの設定には、ハンドラ名、ログ・メッセージが記録されるログ・ファイル、ログ・メッセージの処理機、使用されるローテーション・ポリシー、ログ・ファイル構成クラスに基づくその他のパラメータが含まれます。
たとえば、表からログ・ハンドラを選択し、「構成の編集」を選択します。「ログ・ファイルの編集」ダイアログ・ボックスが表示されます。
ログ・ファイルの場所を変更するには、「ログ・パス」フィールドで新しいパスを入力します。
メッセージ・レベルを構成するには、「ログ・レベル」ドロップダウン・リストからロギング・レベルを選択します。たとえば、「TRACE:32 (FINEST)」を選択します。
ログ・ファイル・ローテーションを構成するには、「ローテーション・ポリシー」セクションで、適切な情報を指定して、「サイズ・ベース」または「時間ベース」のログ・ファイルを選択します。
ログ・ファイルの構成方法の詳細は、see the Managing Log Files and Diagnostic Data Chapter, 『Oracle Fusion Middleware管理者ガイド』の「ログ・ファイルと診断データの管理」の章を参照してください。
SOA Suiteの詳細は、『Oracle Fusion Middleware Oracle SOA Suite管理者ガイド』を参照してください。
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コンソールからアダプタ・ログを検索します。
http://<servername>:<portnumber>/emに移動します。
Oracle Enterprise Manager Fusion Middleware Controlコンソールのホーム・ページが表示されます。
ユーザー名とパスワードを入力して、コンソールにログオンします。
左側のペインにある「ナビゲータ」ツリーから「ログ・メッセージ」ページにアクセスするには、次の2つの方法があります。
「SOA」フォルダから「soa-infra」を右クリックします。
「SOA」フォルダからのナビゲート
「WebLogicドメイン」フォルダから「soainfra」を右クリックします。
「WebLogicドメイン」フォルダからのナビゲート
ポップアップ・メニューから「ログ」>「ログ・メッセージの表示」を選択します。「ログ・メッセージ」ページに、「検索」セクションとデフォルトの検索基準が表示されたメッセージのサマリーが表示された表が表示されます。
「ログ・メッセージ」ページ: 検索
Oracle Adapter for Oracle Applicationsのログ・メッセージを検索するための検索基準を入力します。
日付範囲: ドロップダウン・リストから値を選択し、適切な数値を入力します。たとえば、「最新」として6時間などです。
ドロップダウン・リストから「時間間隔」を選択する場合は、カレンダ・アイコンで「開始日」を選択した後、日付と時間を選択します。同様に、カレンダ・アイコンで「終了日」を選択した後、日付と時間を選択します。
メッセージ・タイプ: 1つ以上のメッセージ・タイプを選択します。たとえば、Oracle Adapter for Oracle Applications用に以前に構成されているメッセージ・タイプの場合は、「トレース」チェック・ボックスを選択します。
メッセージ: 値のリストから「次を含む」を選択した後、テキスト・ボックスにOracle Applications Adapterと入力します。
必要に応じて、「検索」セクションに追加の検索基準を指定します。
「フィールドの追加」をクリックして、さらに検索基準を追加することもできます。この操作によって、ホストなどさらに基準を追加でき、検索結果を特定のホストに絞り込むことができます。その後、「追加」をクリックします。
「検索」をクリックして、検索を実行します。検索基準に一致するすべてのメッセージが検索され、表に表示されます。これらのメッセージはメッセージとして表示することも、「表示」フィールドで選択した値に応じて、メッセージ・タイプやメッセージIDごとにグループ分けすることもできます。
表からいずれかのログ・メッセージをクリックします。メッセージ・レベル、コンポーネント、ECID(Execution Context ID)、関係ID、実際のメッセージなどのメッセージの詳細がメッセージ表の下に表示されます。
「ECID」リンクをクリックすると、「ECIDごとの関連メッセージ」ページに同じECIDを持つ関連メッセージが検索されます。関連メッセージの詳細は、「ログ・ファイルとコンポーネント間のメッセージの関連付け」を参照してください。
ログ・メッセージをOracle Diagnosticログ・テキスト・ファイル(.txt)、XMLファイル(.xml)またはカンマ区切りリスト(.csv)ファイルとしてエクスポートする場合は、「メッセージをファイルにエクスポート」ドロップダウン・リストから適切な出力オプションを選択します。
「ターゲット・ログ・ファイル」をクリックして、管理対象サーバー(server-soa)に関連するログ・ファイルのリストが表示される「ログ・ファイル」ページを開きます。
「ログ・ファイル」ページ
ファイルを選択して「ログ・ファイルの表示」をクリックします。選択したログ・ファイルの「ログ・ファイルの表示」ページが表示され、このログに含まれるメッセージのリストを表示できます。
「ログ・ファイルの表示」ページ
メッセージの詳細を表示するには、メッセージを選択します。メッセージ・レベル、コンポーネント、ECID、関係ID、実際のメッセージなどのメッセージの詳細が、メッセージ表の下に表示されます。
時間またはECIDを基準にして関連メッセージを表示するには、「関連メッセージの表示」をクリックして、「時間ごと」または「ECID(実行コンテキストID)ごと」を選択します。
または、メッセージの詳細から「ECID」リンクを直接クリックしても、「ECIDごとの関連メッセージ」ページに同じECIDを持つ関連メッセージを検索できます。
Oracle Fusion Middlewareコンポーネントは、診断メッセージにメッセージ相関情報を提供します。メッセージ相関情報は、診断メッセージを表示したユーザーがコンポーネント間のメッセージの関係を判定する際に役立ちます。診断メッセージのそれぞれに、実行コンテキストID(ECID)と関係IDが組み込まれています。
ECIDは、特定のリクエストの実行に関連付けられたグローバルに一意の識別子です。ECIDは、リクエストが最初に処理されるときに生成されます。関係IDは、同じリクエストのかわりに、あるプロセスの1つのスレッドで実行された作業と、このプロセスまたは他のプロセスの別のスレッドで実行された作業を区別します。
Oracle Enterprise Manager Fusion Middleware Controlコンソールにログ・メッセージを表示した状態で、ログ・メッセージを選択した後、「関連メッセージの表示」ドロップダウン・リストから次のいずれかの値を選択すると、関連するメッセージを表示することができます。
注意: 「関連メッセージの表示」は、検索基準に基づいて一致するすべてのメッセージを表示している状態で、「表示」フィールドで「メッセージ」 が選択されているときだけ選択できます。「表示」フィールドで「メッセージ・タイプ別グループ」または「メッセージID別グループ」が選択されていると、一致するすべてのメッセージがメッセージ・タイプまたはメッセージIDごとにグループ分けされて表示されます。この場合、「関連メッセージの表示」フィールドは使用できません。
時間別: 「時間ごとの関連メッセージ」ページが表示され、選択したメッセージと同じタイムスタンプを持つすべてのメッセージが表示されます。
「時間ごとの関連メッセージ」ページ
ECID(実行コンテキストID)ごと: 「ECID(実行コンテキストID)ごと」ページが表示され、選択したメッセージと同じECIDを持つすべてのメッセージが表示されます。
「ECIDごとの関連メッセージ」ページ
メッセージの関連付け情報を使用して関連メッセージを検索して、複数のメッセージを調査し、最初に問題が発生したコンポーネントを識別できます。メッセージ相関データは、コンポーネント間で診断メッセージのクリア・パスを確立する際に役立ち、これによって、エラーおよびそれに関連した動作を理解できます。
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"/>
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データ・ソース接続を定義します。
Oracle E-Business Suite環境にサービス指向アーキテクチャ(SOA)スイート中間層ノードを登録し、接続をインスタンス化するためのデータ・ソース実装で使用されるdbcファイルを生成します。
SOAスイート・サーバーが稼動する中間層サーバーにdbcファイルをコピーし、SOAスイートの所有者がアクセス権を持つファイル・システム上の場所に配置します。
接続プールを作成します。ここには、コネクション・ファクトリのプロパティとしてアプリケーションのログイン・ユーザー名、パスワードおよびdbcファイルの場所を入力する必要があります。
アプリケーション・データ・ソースを作成します。この手順では、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モジュール・ブラウザは、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]
「その他インタフェース」の下にある項目、および[product family]階層の下にある特定のPL/SQL APIとコンカレント・プログラムは、Adapter for Oracle Applicationsを介して使用することはできますが、Oracle Integration Repositoryを介して使用することはできません。
[n]によって示されるインタフェース数は、Oracle E-Business Suite 11.5.10インスタンスが使用されている場合にのみ表示されます。Oracle E-Business Suiteリリース11.5.9やリリース12のインスタンスに接続している場合には表示されません。
製品ファミリによるインタフェース参照
Oracle Integration Repositoryインタフェース・データは、[product_family]セクションを移入し、所属する製品およびビジネス・エンティティに従ってグループ化します。
製品ファミリによるインタフェース参照
「その他インタフェース」以下でのビジネス・イベントとカスタム・インタフェースの参照
ビジネス・イベントとカスタム・インタフェースは、「その他インタフェース」ノードの下に表示されます。
その他インタフェースの参照
ビジネス・イベントとビジネス・イベント・グループ
ビジネス・イベントとビジネス・イベント・グループは、「Oracle Applicationsモジュール・ブラウザ」の「その他インタフェース」ノードの下に表示されます。
ビジネス・イベント・グループは、個別のビジネス・イベントのセットが含まれるイベント・タイプです。「その他インタフェース」→「ビジネス・イベント」→「アウトバウンド」→「グループ」ノードをクリックすると、ビジネス・イベント・グループが表示されます。
カスタム・インタフェース
カスタム・インタフェースは、Oracle Applicationsモジュール・ブラウザで「その他インタフェース」→「カスタム・オブジェクト」ノードの下に表示されます。
カスタム・インタフェースの参照
サポートされているカスタム・インタフェースは、次のようにリストされます。
カスタムPL/SQL API
カスタムPL/SQL APIは、2箇所に表示されます。
Oracle Integration Repositoryを介してすでに公開されているパッケージ内のプロシージャは、製品ファミリ階層内のパッケージ名の下に表示されます。
完全に新しいパッケージ内のプロシージャは、「その他インタフェース」→「カスタム・オブジェクト」の下のパッケージ名の下に表示されます。
カスタムXML Gatewayマップ
カスタムXML Gatewayマップはインバウンドとアウトバウンドのいずれかに分類されます。カスタムXML Gatewayマップを表示するには、いずれかのノードを選択します。
カスタマイズされたコンカレント・プログラム
「カスタム・オブジェクト」ノードの下にある「コンカレント・プログラム」ノードをクリックすると、すべてのカスタム・コンカレント・プログラムが表示されます。
Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved.