ヘッダーをスキップ

Oracle Advanced Pricingインプリメンテーション・マニュアル
リリース12
E05612-01
目次へ
目次
前のページへ
前へ
次のページへ
次へ

属性管理

この章では次のトピックについて説明します。

属性管理の概要

属性マッピングでは、多様な非標準ソースのデータを利用して価格設定機能を拡張し、価格設定処理を実行できます。クオリファイアおよび価格設定属性のデータ・ソースは、Oracle Applications内またはOracle Applications外からの場合があります。

属性管理機能を使用すると、次のタスクを実行できます。

コンテキストおよび属性を新規作成することによって、Oracle Advanced Pricingの機能が拡張され、価格設定処理を実行するためのユーザー定義のデータ・ソースが用意されます。属性のデータ・ソースを指定する方法には、次の3通りがあります。

クオリファイアおよび価格設定属性を使用して、顧客属性または製品属性を定義します。

価格設定エンジンが価格設定要求を受け取ると、属性管理は、取引に関連付けられたクオリファイアと価格設定属性のすべての値を取得します。価格設定エンジンでは、これらの値を評価して、その取引に適格な価格表とモディファイアを決定します。

次に、特定の曜日について値引を定義する例を示します。

価格設定処理 価格設定ルール データ・ソース 属性値
値引モディファイア クオリファイア 曜日 月曜日

注意: アップグレードに関する考慮事項

Oracle Advanced Pricingの「属性管理」ウィンドウを使用して、コンテキストおよび属性を作成および保守し、属性をマップします。リリース11iより前のリリースでは、クオリファイアおよび価格設定属性は、Oracleのフレックスフィールド設定機能を使用して、「フレックスフィールド」や「値セット」ウィンドウで設定していました。

属性管理に関する用語

価格設定取引エンティティ(PTE)

PTEは関連付けられた要求タイプとソース・システムを含む受注体系です。価格設定エンジンへの要求では、アプリケーションによって要求構造が異なる場合があります。

ソース・システム

ソース・システムは、価格設定データを取得するアプリケーションです。

要求タイプ

価格を設定する取引のタイプは、要求タイプによって識別します。様々なアプリケーションによって、価格設定エンジンに対する要求が行われます。これらのアプリケーションの要求タイプは、それぞれ異なる場合があります。一部の複数アプリケーションでは、独自の要求タイプを共有している場合があります。

たとえば、iStoreとOrder Captureでは、同一の要求タイプを共有しています。一方、Order ManagementとiStoreには、異なる要求構造があります。

関連トピック

「価格設定の設定」ウィンドウでのコンテキストと属性の作成

価格設定取引エンティティへの属性のリンク

ATTRIBUTE MAPPINGタイプの属性のマッピング

「属性マッピング・ルールのビルド」プログラムの実行(属性マッピングのみ)

価格設定取引エンティティの新規作成

「価格設定の設定」ウィンドウでのコンテキストと属性の作成

次の各項では、コンテキストと属性の作成方法を説明します。最初にコンテキストを作成し、次にその属性を作成して、価格設定ルールを定義する特定の値を定義指定します。たとえば、顧客のコンテキストに、顧客名または顧客区分などの価格設定属性を含めることができます。「属性管理」を使用して、次のコンテキストおよびその属性を設定できます。

たとえば、品目などの製品コンテキストは、品目名や品目番号などの属性別に細分類できます。また、顧客などのクオリファイア・コンテキストは、顧客名や顧客IDなどの属性で構成できます。

コンテキスト・タイプ コンテキスト名 属性
クオリファイア・コンテキスト 顧客 顧客名
製品コンテキスト 品目 Joeの品目
価格設定コンテキスト

注意: グローバル・データ要素コンテキストは、価格設定コンテキストではサポートされません。

コンテキストを作成した後は、その属性を作成して、価格設定ルールに特定の値を定義でき、属性のマッピング方法、価格設定ウィンドウでリストから選択できる属性、および販促限度に使用する属性を決定できます。

価格設定エンジンでは、実行時に属性を評価して、その取引に適格な価格表とモディファイアを決定します。属性値は、受注レベルまたは明細レベル、あるいはその両方のレベルで導出できます。

警告: 価格表明細の価格設定属性は「受注」レベルで指定できません。したがって、価格設定属性(「コンテキスト・タイプ: 価格設定コンテキスト」)の設定時には、「受注」または「両方」でなく「明細」レベルを選択する必要があります。そうでない場合、価格明細表で価格属性を表示または選択できません。注意: 価格設定属性のレベルは、「リンク属性」ウィンドウで選択します。

属性管理機能を使用してコンテキストおよび属性を作成するには、次の設定ステップを1つ以上実行する必要があります。このステップは、それぞれの要件および現在の設定により異なる場合があります。

  1. 指定したPTEの要求タイプとソース・システムを検証します。そうでない場合は、新規の価格設定取引エンティティをQP参照に作成します。

  2. 新規コンテキストを作成し、そのコンテキストに属性を定義します。

    クオリファイアや価格設定属性などの価格設定ルールを使用して、価格設定処理を実行します。「コンテキスト設定」ウィンドウでは、価格設定ルールを設定するための新規コンテキストおよび属性を作成できます。

    注意: Oracle Advanced Pricingでは、異なるコンテキスト内であれば、同一の名称を持つ価格設定属性の作成がサポートされています。ただし、フレックスフィールド生成プロセスではサポートされず、「属性マッピング・ルールのビルド」プログラムの実行時に失敗します。したがって、属性名を作成する場合、重複していない固有名を使用する必要があります。

  3. 属性をPTEにリンクし、指定のPTEについて属性のプロパティを定義します。

    コンテキストと属性のグループを作成した後は、それを特定のPTEにリンクできます。マップされた属性に対して属性マッピング・ルールを定義し、次に「属性マッピング・ルールのビルド」プログラムを実行します。

  4. 「属性マッピング・ルールのビルド」プログラムを実行します。

    この手順は、属性マッピング手法で属性マッピングが指定された属性にのみ適用されます。これらの属性を作成または更新する場合、あるいは属性マッピング・ルールを変更する場合は常に、「属性マッピング・ルールのビルド」プログラムを実行する必要があります。

    ヒント: 属性の作成時に「属性マッピング・ルールのビルド」プログラムが実行されている場合、その属性を使用(算式や価格設定属性として)する際に、このプログラムを再実行するようにプロンプト指示されます。したがって、属性の使用時にこれを1回のみ実行できます。

  5. その属性を有効な価格設定で使用します。

  6. 受注を入力します。マップされた属性とユーザー入力の属性が、「価格設定エンジン要求ビューワ」から価格設定エンジンに正しく渡されたことを検証します。

コンテキストを作成する手順

  1. 「コンテキスト設定」ウィンドウにナビゲートします。

    「コンテキスト設定」ウィンドウ

    本文の説明内容に関するイメージ

  2. 必要に応じて、次のすべてのエントリを入力します。

  3. すべてのエントリの入力後、「属性」リージョンにこのコンテキストの属性を入力します。

属性を作成する手順

  1. 「コンテキスト設定」ウィンドウで、属性を追加するコンテキストを選択します。

  2. 次に、「属性」リージョンで、選択した属性に関する次のエントリを入力します。

  3. コンテキストと属性を作成した場合は、属性グループを特定の価格設定取引エンティティ(PTE)にリンクできます。

    「価格設定の設定」ウィンドウでの属性レベルおよび制限

    次の項では、属性に割り当てられた属性レベルに基づいて、値リストに表示される属性および関連付けられる制限について説明します。

    価格設定属性表およびフレックスフィールド表

    Oracle Order Management(OM)では、価格設定属性に対してフレックスフィールド体系を使用しています。したがって、価格設定属性をOracle Order ManagementのUIに表示するには、これらの定義をフレックスフィールド表にも格納する必要があります。コンテキストと属性の定義はすべて、価格設定表(QP表)に格納されます。ただし、コンテキスト・タイプが「価格設定属性」の場合は、同じデータがフレックスフィールド表にも格納されます。したがって、「価格設定属性」タイプのコンテキストが「コンテキストと属性」ウィンドウを使用して作成されると、フレックスフィールド価格設定コンテキストとしてフレックスフィールド表にもコンテキストが作成されます。

    ただし、価格設定属性の設定は、フレックスフィールド内でなく、「コンテキストと属性」の設定メニューで設定する必要があります。これは、価格設定属性がフレックスフィールド表で設定された場合、データがフレックスフィールド表からQP表にコピーされないため、その設定データはQP表で使用できないためです。したがって、価格設定属性が「受注管理」ウィンドウに表示されている場合でも、価格設定エンジンは属性を表示できません。

    次の手順は、「価格設定属性」タイプのコンテキストが、「コンテキストと属性」ウィンドウで作成された後、フレックスフィールド価格設定コンテキストとしてフレックスフィールド表に登録される方法を示します。

    1. マップされる列がPRICING_ATTRIBUTE30より大きい場合、「価格設定属性」タイプのコンテキストは自動的に登録されます。

    2. 「価格設定属性」タイプのコンテキストの作成と登録が完了すると、システムでは、そのフレックスフィールドを自動的にバックグラウンドでコンパイルします。ユーザーは、自分のコンカレント要求を表示して、コンパイルの段階を追跡できます。

    3. Oracle Advanced Pricingにある価格設定コンテキストの付加フレックスフィールドは、価格設定コンテキストと製品コンテキスト(コンテキスト=ITEMのみ)にマップされます。すべてのクオリファイア・コンテキストは、クオリファイア・コンテキストにマップされます。

    「価格設定属性」のコンテキストおよびその関連の属性は、削除基準を満たしていると、フレックスフィールド(および「コンテキストと属性」ウィンドウ)で更新および削除されます。

関連トピック

属性管理の概要

価格設定取引エンティティへの属性のリンク

価格設定取引エンティティの新規作成

「デフォルトの復元」ボタンを使用したシード済データの復元

コンテキストと属性の削除

コンテキストおよび属性は、次の場合を除いて削除できます。

コンテキストを削除する手順

1つ以上の属性を持つコンテキストは削除できません。

属性を削除する手順

価格設定ウィンドウですでに使用されている属性は削除できません。

価格設定取引エンティティへの属性のリンク

PTEは、同じ設定データと属性を指すアプリケーションのグループで構成され、要求タイプとソース・システムが含まれています。ソース・システムは、価格設定データを取得するアプリケーションであり、要求タイプは価格を設定する取引のタイプを識別します。

コンテキストとその属性を作成した後、それらを指定のPTEにリンクします。特定のPTEについては、価格設定ウィンドウでこの組合せが使用可能になります。各PTEには、一意の属性の組合せが定義されます。

次の表に、Oracle Advanced Pricingにシード済PTEおよびその要求タイプとソース・システムを示します。

価格設定取引エンティティ(コード) ソース・システム 要求タイプ
複雑なMRO(CMRO) AHL AHL
需要計画(DEMAND) QP MSD
会社間取引(INTCOM) INV、QP IC
ロジスティクス(LOGSTX) FTE FTE
オーダー管理(ORDFUL) AMS、ASO、OKC、OKS、QP ASO、OKC、OKS、ONT
調達(PO) PO PO

属性をPTEへリンクする手順

  1. 「Oracle Advanced Pricing」>「価格設定取引エンティティ - 属性リンク」ウィンドウにナビゲートします。

    「価格設定取引エンティティ - 属性リンク」ウィンドウ

    本文の説明内容に関するイメージ

  2. 「Oracle Advanced Pricing」 - 「価格設定取引エンティティ - 属性リンク」ウィンドウのエントリをすべて入力します。

  3. PTEにリンクする属性を持つコンテキストを選択します。「PTEへ割当」ボックスが選択されていない場合、指定されたPTEでそのコンテキストの属性は、作成または選択されていません。

  4. 「リンク属性」をクリックして、「リンク属性」ウィンドウを表示します。

    「リンク属性」ウィンドウ

    本文の説明内容に関するイメージ

    新しく作成されたコンテキストは、「価格設定取引エンティティ - 属性リンク」ウィンドウに表示されます。「PTEへ割当」ボックスには、これらの属性がこのPTEに割り当てられていることが示されます。作成した属性は、価格設定ウィンドウで参照できます。

    オプションで、「コンテキスト」をクリックして、新規コンテキストを追加するか、既存のコンテキストを更新、有効化または表示します。

関連トピック

ATTRIBUTE MAPPINGタイプの属性のマッピング

カスタム・ソース属性の使用

「属性マッピング・ルールのビルド」プログラムの実行

ATTRIBUTE MAPPINGタイプの属性のマッピング

この項は、属性マッピング手法がATTRIBUTE MAPPINGに指定された属性にのみ適用されます。

コンテキストおよび属性をPTEにリンクした後は、「属性マッピング」ウィンドウでの属性マッピング処理を完了できます。属性のマッピングにより、価格設定エンジンは、モディファイア、価格表、またはクオリファイアで使用されている属性の値を導出できます。

属性マッピングを行うと、価格設定エンジンの柔軟性が向上します。たとえば、「顧客」リージョンの値は、Order ManagementのOE_ORDER_PUB.G_HDR.sold_to_org_idから導出できます。ただし、この同じ要素はOrder CaptureのASO_PRICING_INT.G_HEADER_REC.cust_account_idからも導出できます

これらのATTRIBUTE MAPPING属性を作成または更新するか、あるいは属性マッピング・ルールを変更するには、「属性マッピング・ルールのビルド」プログラムを実行する必要があります。

注意: USER ENTEREDまたはCUSTOM SOURCEDが属性マッピング手法として指定されている属性の場合、「属性マッピング・ルールのビルド」プログラムを実行する必要はありません。

ATTRIBUTE MAPPINGタイプの属性をマップする手順

  1. 「リンク属性」ウィンドウで、「属性マッピング」ボタンをクリックして、「属性マッピング」ウィンドウを表示します。必要に応じて、次のすべてのエントリを入力します。

    「属性マッピング」ウィンドウ

    本文の説明内容に関するイメージ

    「アプリケーション名」: マッピング・ルールを作成したアプリケーション名を選択します。アプリケーション名を選択しない場合、マッピング・ルールの作成者としてOracle Pricingがデフォルト設定されます。

  2. 「ヘッダー・レベル」リージョンの次のエントリをすべて入力します。

    注意: 「ヘッダー・レベル」リージョンの各フィールドは、属性の属性マッピング・レベル(「属性の割当」ウィンドウで定義済)が「受注」または「両方」の場合にのみ使用できます。レベルが「明細」の場合、これらのリージョンはグレー表示されます。

  3. 「属性の割当」ウィンドウで定義した属性のレベルが「明細」または「両方」の場合、すべてのエントリを「明細レベル」リージョンに入力します。選択された属性レベルが「受注」の場合、このリージョンはグレー表示されます。フィールドの説明は、「ヘッダー・レベル」リージョンで説明したフィールドと同じです。

  4. 「属性マッピング」ウィンドウでのすべてのエントリの入力を終了し、「属性マッピング・ルールのビルド」プログラムを実行します。

関連トピック

「属性マッピング・ルールのビルド」プログラムの実行(属性マッピングのみ)

価格設定取引エンティティ(PTE)への属性のリンク

「属性マッピング・ルールのビルド」プログラムの実行(属性マッピングのみ)

この項は、次の設定基準を持つ属性のみに適用されます。

次の作業を実行するたびに、「属性マッピング・ルールのビルド」コンカレント・プログラムを実行する必要があります(その際、属性マッピング手法には「属性マッピング」を指定し、「属性マッピング可能」チェック・ボックスを選択する必要があります)。

属性のマッピング漏れを防ぐため、プログラムの最終実行後に使用されたすべての新規属性は、動的にマップされます。属性は動的にマップされ、価格設定で使用できますが、パフォーマンスを向上させるために「属性マッピング・ルールのビルド」プログラムを実行する必要があります。

警告: 「属性マッピング・ルールのビルド」プログラムを使用すると、データベース・オブジェクトのステータスが変更されるため、このプログラムはピーク時間外に実行することをお薦めします。

「属性マッピング・ルールのビルド」プログラムの実行時の動作

「属性マッピング・ルールのビルド」コンカレント・プログラムを実行すると、パッケージQP_BUILD_SOURCING_PVTが動的に生成されます。このパッケージには、属性に対して属性マッピング・ルールを作成するための属性マッピング呼出しが含まれています。このパッケージに含まれているのは、実行時にマップ可能な使用された属性(価格設定で使用されたクオリファイアおよび価格設定属性)のルールのみです。

このプログラムでは、「属性マッピング可能」ボックスが選択されているすべての属性について属性マッピング・ルールを生成します。「属性マッピング・ルールのビルド」プログラムが正常に実行された場合は、属性マッピング・ルールが生成された属性の「属性マッピング・ステータス」ボックスが選択されます。

「属性マッピング・ルールのビルド」プログラムには、プログラムが正常に実行されたかどうかを通知するステータス・メッセージが表示されます。ウィンドウでは、「属性マッピング・ルールのビルド」処理が成功したかどうかについて、データベースに自動的に再問合せを行い、フォーカスを「属性マッピング・ステータス」ボックスに移動します。

注意: build_sourcingでエラーが発生すると、新規作成されたすべての属性マッピング・ルールは失敗します。この状態は、エラーが解決されるまで継続します。

実行時における属性マッピングの動作

呼出し側アプリケーションが、QP_Attr_Mapping_PUB.Build_Contextsを呼び出します。この呼出しによって、属性マッピング・ルーチンが開始され、呼出し側アプリケーションに属性が戻されます。

  1. 呼出し側アプリケーションはユーザー入力の属性を追加し、この要求に対するクオリファイアを要求します。

  2. さらに、呼出し側アプリケーションは、これらのマップされた属性値を使用して価格設定エンジンを呼び出します。

  3. 価格設定エンジンも、内部でマップされたいくつかの属性をこの要求に追加します。

  4. 価格設定エンジンは、要求を処理し、その結果を呼出し側アプリケーションに戻します。

PTEは、検索エンジンが評価するデータ範囲の絞込みに役立ちます。検索エンジンによって評価されるのは、そのPTEに定義されているソース・システムによって生成された設定データのみです。また、1つのPTEのコンテキストを、他の価格設定アプリケーション・ファミリが使用できないようにします。

属性マッピング・ルールのビルドのチェックリスト

正常に属性がマッピングされると、属性マッピング・ルールが正常に生成されたことを通知するメッセージが表示されます。ただし、その属性に対する新しい「属性マッピング」ボックスが、選択されている必要があるにもかかわらず、選択解除されたままである場合があります。この状態は、新規属性の作成時に発生することがあります。新規属性をPTEに適切にリンクし、「ツール」メニューの「属性マッピング・ルールのビルド」を使用してマップしてください。

正常なマッピングを確保し、前述のような状態を回避するには、次の条件を満たしていることを確認する必要があります。

「属性マッピング・ルールのビルド」プログラムを実行する手順

このタスク・フローは、次の基準を満たす属性に対して使用します。

「属性マッピング・ルールのビルド」プログラムは、実行時に属性マッピングが定義されている新規のクオリファイアまたは価格設定属性のソース・コードを生成し、属性マッピング・ルールが変更された属性のソース・コードを生成します。

注意: このプログラムを使用すると、データベース・オブジェクトのステータスが変更されるため、このプログラムはピーク時間外に実行する必要があります。

  1. この属性が、モディファイアや価格表などの有効な価格設定で使用されていることを確認します。モディファイアを設定し、新たに作成したクオリファイア/価格設定属性を添付します。

    たとえば、このクオリファイアをOracle Order Managementでマップする場合は、「属性マッピング・ルールのビルド」プログラムを実行して、属性マッピング・パッケージを再生成する必要があります。

  2. プログラムが正常に終了したかどうかを確認します。

    このプログラムは、モディファイアまたは価格表の設定でクオリファイアが初めて使用されるときに、実行する必要があります。たとえば、顧客区分を自分のインストールで初めてクオリファイアとして使用する場合は、このプログラムを実行する必要があります。

  3. 「価格設定取引エンティティ - 属性リンク」ウィンドウにナビゲートします。

  4. PTEを検索します。

  5. 「コンテキスト・タイプ」フィールドで、値リストからコンテキスト・タイプを選択します。

  6. 「ツール」にナビゲートして「属性マッピング・ルールのビルド」を選択し、Build_context APIを実行します。その結果、「属性マッピング可能」ボックスが選択されている属性に対してのみマッピング・ルール・コードが生成されます。

  7. プログラムが正常に終了したかどうかを確認します。正常に完了した場合は、マッピング・ルール・コードが生成された属性に、「属性マッピング・ステータス」ボックスが選択されています。

    注意: コンカレント・プログラム「属性マッピング・ルールのビルド」の実行時に、「設定で使用」ボックスは更新され、属性使用のステータスが反映されます。属性が削除されても、「設定で使用」ボックスは選択されたままです。

  8. 受注を入力します。

  9. 「価格設定エンジン要求ビューワ」ウィンドウを使用して、属性が価格設定エンジンに正常に送信されたことを検証します。価格設定エンジンが価格設定時に正しい属性を使用したかどうかも検証できます。詳細は、「「価格設定エンジン要求ビューワ」ウィンドウ」を参照してください。

    注意: 「属性マッピング・ルールのビルド」プログラムの実行前に、プロファイル・オプション「QP: 属性マッピング・オプションのビルド」を目的の値に設定します。

「属性マッピング・ルール・エラー・レポート」を実行する手順

「属性マッピング・ルールのビルド」プログラムを実行した際に属性マッピング・メッセージが生成された場合は、「属性マッピング・ルール・エラー・レポート」を実行して、無効なすべての属性マッピング・ルールのリストおよび警告を生成できます。その他のステータス・メッセージも出力されます。詳細は、『Oracle Advanced Pricingユーザーズ・ガイド』のレポートおよびコンカレント・プログラムに関する項を参照してください。

  1. 「価格設定取引エンティティ - 属性リンク」ウィンドウにナビゲートします。

  2. 「ツール」メニューの「属性マッピング・ルールのビルド」を選択して「属性マッピング・ルールのビルド」プログラムを実行します。これにより、価格設定で使用され、「属性マッピング可能」ボックスが選択されている属性に対してのみ、マッピング・ルール・コードが生成されます。

    プログラムが正常に実行された場合は、正常にマップされた属性の「属性マッピング・ステータス」ボックスが選択されています。

ソース・システムの作成

「ソース・システム」ウィンドウでは、要求タイプおよびソース・システムを表示でき、また、要求タイプとそのソース・システムとの関連を追加または更新できます。要求タイプとは、「受注管理受注」または「会社間請求」など、価格設定の対象となる取引タイプを示します。要求タイプは、Oracle PricingまたはOracle Inventoryなどのソース・アプリケーションに価格設定情報やその他の情報を要求します。ソース・システムによって、Oracle iStore、Oracle Pricing(モディファイアおよび算式を含む価格設定データ)およびOracle Marketingなどの設定データを生成するアプリケーションが定義されます。ビジネス要件に応じて、要求タイプを1つ以上のソース・システムと組み合せることができます。たとえば、要求タイプ「受注管理受注」を、ソース・システムのOracle Marketing、Order CaptureおよびOracle Pricingと関連付けることができます。

要求タイプおよびソース・システムをグループ化してPTEに関連付けることができます。PTEが評価する必要があるのはその価格設定取引エンティティに定義されているソース・システムによって生成された設定データのみであるため、PTEは、検索エンジンによって検査されるデータの絞込みに便利です。同じPTEを使用すると、同一データを共有するアプリケーションでは要求タイプに関係なく常に、1つの品目に対して同じ価格を提示するようになります。同じ価格設定取引エンティティに属するすべてのアプリケーションには、それらのアプリケーションで使用できる同じ属性セットがあります。属性(属性の項を参照)は、1つ以上の価格設定取引エンティティにリンクできます。

価格設定取引エンティティの新規作成

価格設定取引エンティティ(PTE)には、同じ設定データと属性を共有する複数アプリケーションのグループが含まれます。たとえば、Oracle iStoreとOracle Order Managementは、同一の価格設定取引エンティティに所属できます。これは、両方ともオーダー管理システムであり、同じ設定データを共有しているためです。反対に、Oracle Transportation Executionは異なる価格設定取引エンティティ内にあって、独自の属性と設定情報を持っています。

PTEの使用により、次のメリットがあります。

重要: プロファイル・オプション「QP: 価格設定取引エンティティ」は、使用している現行のPTEを定義します。価格設定ウィンドウから選択できるのは、現行のPTEに割り当てられたコンテキストと属性のみであるため、価格設定アプリケーションで任意の設定データを作成または問い合せる前に、このプロファイル・オプションを適切な値に設定します。設定データの問合せで表示されるのは、現行のPTEに割り当てられたコンテキストと属性のみです。

Oracle Advanced Pricingには、次のPTEがシードされています。

必要に応じて、追加のPTEを作成できます。

新規PTEの定義時期

Oracleによりシード済PTEが提供されていますが、追加のPTEを設定して、ソース・システムおよび要求タイプをグループ化できます。新規要求タイプの作成時(たとえば、新しい受注体系が追加されたとき)、企業では、その要求タイプで、既存のPTEにあるものと同じソース・システムのセットを使用するかどうかを決定する必要があります。新規PTEの作成が必要なのは、新規要求タイプで異なる受注体系および異なるソース・システムのセットを使用する場合のみです。要求タイプは、PTE全体で一意であることが必要です。

PTEの例

次の図は、オーダー管理PTEを示しています。このPTE内部で、Oracle iStoreやOracle Order Managementなどの要求タイプによって価格設定データが評価されます。

価格設定取引エンティティ - オーダー管理

本文の説明内容に関するイメージ

グローバル体系

次の表に、オーダー管理PTEの多様な要求タイプに対する、受注レベルと明細レベルでのグローバル体系の例を示します。

PTE 要求タイプ 受注レベルのグローバル体系 明細レベルのグローバル体系
オーダー管理 受注獲得 ASO_PRICING_INT.G_HEADER_REC ASO_PRICING_INT.G_LINE_REC
オーダー管理 Oracle Contracts Core OKC_PRICE_PUB.G_CONTRACT_INFO OKC_PRICE_PUB.G_CONTRACT_INFO
オーダー管理 受注管理受注 OE_ORDER_PUB.G_HDR OE_ORDER_PUB.G_LINE
会社間取引 会社間請求 INV_IC_ORDER_PUB.G_HDR INV_IC_ORDER_PUB.G_LINE

新規PTEを作成する手順

  1. 「価格設定参照」ウィンドウにナビゲートします。

  2. 参照タイプとしてQP_PTE_TYPEを問い合せて、既存のPTEを表示します。

  3. 新規PTEのコード(短縮名)、意味および摘要を入力します。

  4. 「使用可」を選択します。

  5. レコードを保存します。

「価格設定取引エンティティ - ソース・システムおよび要求タイプ」ウィンドウ

  1. 「価格設定取引エンティティ - ソース・システムおよび要求タイプ」ウィンドウにナビゲートして、すべてのエントリを入力します。このウィンドウでは、指定のPTEに対する新規要求タイプ、ソース・システム、および次の機能領域を検討、更新および作成できます。

    「要求タイプ」タブ

    価格を設定する取引のタイプは、要求タイプによって識別します。たとえば、Oracle Order Managementは、価格設定アプリケーション(ソース)からの価格を要求する要求タイプです。

    注意: 複数のPTEに対して、1つの要求タイプは作成できません。マッピング・ルールが定義された要求タイプは、削除できません。

    「ソース・システム」リージョンの機能領域

    各PTEには、少なくとも1つの有効な機能領域と関連するカテゴリ・セットが必要です。カテゴリ・セットおよびそれに関連するカテゴリの階層を使用して、価格表明細またはモディファイアを定義できます。たとえば、Order Managementの機能領域に在庫品目のカテゴリ・セットがあった場合、カテゴリ・セット・レベルでモディファイアを定義するか、またはカテゴリ・セット内のカテゴリに対してモディファイアを定義できます。その他のカテゴリ・セットの例に、Oracle Inventoryでの「在庫」、およびOracle Purchasingでの「購買」カテゴリ・セットがあります(それらのカテゴリ・セットを使用可能にするには、これらの製品がインストールされている必要があります)。次の例に、オーダー管理PTEで使用されるAdvanced Pricingソース・システムに対する機能領域とカテゴリの組合せを示します。

    Advanced Pricingソース・システム
    機能領域 カテゴリ・セット
    製品レポート 製品
    購買管理 購買管理
    受注管理 Inv. (在庫)品目

関連トピック

パラメータ定義の表示

パラメータ値の表示

カスタム・ソース属性の使用

CUSTOM SOURCEDが属性マッピング手法として定義されている属性の場合、属性に対してコード・パッケージ・プロシージャを提供する必要があります。属性はカスタム属性の取得によってソース指定されるため、属性マッピングは必須ではありません。ユーザー・コードは、パッケージ・プロシージャQP_CUSTOM_SOURCE.Get_Custom_Attribute_Valuesに記述されています。プロファイル・オプション「QP_CUSTOM_SOURCED」が「Yes」に設定されている場合、このプロシージャは属性マネージャAPIプログラム(Build_Contexts)によって呼び出され、カスタム・ソース属性が選択されます。QP_CUSTOM_SOURCEに対する入力パラメータは、要求タイプ・コードおよび価格設定タイプです。価格設定エンジンに渡される要求タイプ・コードの一般的な値は、ONT、ASO、OKC、IC、FTEおよびMSDです。ユーザーは、Request_Type_Codeを使用することにより、呼出し側アプリケーションのPTEに基づいて属性のソース指定方法を管理できます。

プロファイル・オプション「QP: カスタム・ソース」が「Yes」に設定されていることを確認します。「コンテキストのビルド」プログラムによって、「属性マッピング・ルールのビルド」プログラムで生成した動的パッケージと顧客が作成したカスタム・パッケージからコンテキストが作成されます。属性は、属性マッピング・ルールを使用せずに、価格設定エンジンに直接渡すこともできます。その場合、属性マネージャAPIによって、カスタムAPIであるQP_CUSTOM_SOURCEが呼び出されます。ここでは、ユーザーが価格設定エンジンに渡す属性を手動で定義し、その値の指定を手動でコーディングしています。

属性マッピング・ルールのレベルを定義する価格設定タイプには、H(ヘッダー)またはL(明細)のいずれかを指定できます。これらの属性および属性値は、属性マッピング・ルールを使用してソース指定された属性と同じ方法で、価格設定エンジンに渡されます。

QP_CUSTOM_SOURCEの使用例

次に、特定のケースでQP_CUSTOM_SOURCEの本体をコーディングできる方法の例を説明します。この場合、それぞれコンテキストCUST_SOURCE_QUAL_CONおよびコンテキストCUST_SOURCE_PRIC_CONに属し、PTE「オーダー管理」にリンクされた2つのセグメント・マッピング列「QUALIFIER_ATTRIBUTE31」および「PRICING_ATTRIBUTE31」では、「受注」および「明細」の属性マッピング・レベルでカスタム・ソース値が「10」として表示されます。ユーザーは、両方のPTEと属性リンクの属性マッピング手法が、「リンク属性」ウィンドウでCUSTOM SOURCEDとなっていることを確認する必要があります。

CREATE or REPLACE PACKAGE body QP_CUSTOM_SOURCE AS
/*Customizable Public Procedure*/
PROCEDURE Get_Custom_Attribute_Values
     (        p_req_type_code  IN VARCHAR2
     ,p_pricing_type_code  IN VARCHAR2
     ,x_qual_ctxts_result_tbl         OUT QP_ATTR_MAPPING_PUB.CONTEXTS_RESULT_TBL_TYPE
     ,x_price_ctxts_result_tbl         OUT QP_ATTR_MAPPING_PUB.CONTEXTS_RESULT_TBL_TYPE
)        is
Begin
  If p_req_type_code = ‘ONT' and p_pricing_type_code in (‘L','H') then
      x_qual_ctxts_result_tbl(1).context_name := 'CUST_SOURCE_QUAL_CON';
      x_qual_ctxts_result_tbl(1).attribute_name := 'QUALIFIER_ATTRIBUTE31';
      x_qual_ctxts_result_tbl(1).attribute_value := '10';
      x_price_ctxts_result_tbl(1).context_name := 'CUST_SOURCE_PRIC_CON';
      x_price_ctxts_result_tbl(1).attribute_name := 'PRICING_ATTRIBUTE31';
      x_price_ctxts_result_tbl(1).attribute_value := '10';
  end if;
end Get_Custom_Attribute_Values;
END QP_CUSTOM_SOURCE;
/

「デフォルトの復元」ボタンを使用したシード済データの復元

シード済コンテキストはシステム値で、ユーザーが作成する値ではありません。コンテキストの横にある「シード済」チェック・ボックスは、コンテキストがシード済かどうかを示します(チェック・ボックスが選択されている場合、コンテキストはシード済です)。シード済コンテキストを選択すると、「コンテキスト設定」ウィンドウの「名称」フィールドと「摘要」フィールドにシード済値が表示されます。

ただし、これらのフィールドでシード済値を変更すると、新しい値が表示され、オリジナル・シード済値は、非表示の「シード済名」フィールドと非表示の「シード摘要」フィールドに保存されます。

コンテキストのオリジナル・シード済値を復元する場合は、「デフォルトの復元」ボタンをクリックします。「名称」フィールドと「摘要」フィールドには、変更された値ではなく、オリジナル・シード済値が表示されます。

注意: 「デフォルトの復元」ボタンによって、すべてのフィールドの値がシード済値で置換されます。シードされていない属性の場合、およびシードされている属性でシード済値がこれまでにユーザーによって変更されていない場合、「デフォルトの復元」ボタンはグレー表示されます。

デフォルトのシード設定は、次のウィンドウで復元できます。

コンテキスト設定

シード済コンテキストが変更されている場合は、「デフォルトの復元」ボタンをクリックすると、オリジナル・シード済値を復元できます。「名称」フィールドと「摘要」フィールドには、シード済コンテキスト値が表示されます。ただし、シード済値を変更すると、新しい値が表示され、オリジナル・シード済値は、それぞれ非表示の「シード済名」フィールドと非表示の「シード済摘要」フィールドに保存されます。

属性の場合、変更されたすべての値は、「デフォルトの復元」ボタンによって属性のオリジナル・シード済値に復元されます。したがって、シード済属性が変更された場合は、その値を、オリジナル条件に復元できます。「優先」、「名称」、「値セット」、「データ型」ウィンドウのフィールドには、ユーザー入力値ではなく、シード済値が表示されます。

シード済属性の場合は、「優先」、「名称」、「値セット」、「データ型」および「必須」フィールドにそれぞれのシード済値が表示されます。ただし、シード済値を変更すると、これらのフィールドには新規のユーザー入力値が表示されます。シード済値は、シード済優先、シード済名、シード済値セット、シード済データ型などの名称の個別フィールドに保存されます。これらのシード・フィールドは常に非表示です。

注意: このボタンによって、すべてのフィールドの値はシード済値に置換されます。

リンク属性

シード済属性の場合、「属性マッピング手法」列にはそのシード済値が表示されます。ただし、ユーザーが属性マッピング手法を変更すると、このフィールドには、ユーザー入力値が表示され、シード済値はシード済属性マッピング手法などの名称の個別フィールドに保存されます。これらのシード済「属性マッピング手法」フィールドは常に非表示です。

「デフォルトの復元」ボタンによって、属性のオリジナル・シード済属性マッピング手法が復元されます。シード済属性を上書きし、後でシード済値を復元する場合は、このボタンをクリックします。

シードされていない属性の場合、このボタンはグレー表示されます。ユーザー入力の属性マッピング手法がシード済属性マッピング手法と同じ場合、シード済属性に対して、このボタンは引き続きグレー表示のままです。

注意: 属性「合計品目数量」は、Oracle Transportation Execution(FTE)でのみシードされています。ただし、手動で属性をオーダー管理PTEにリンクさせ、「合計品目数量」などの属性に対応するソース・ルールを作成できます。

属性マッピング

すべてのシード済属性マッピング・ルールについては、「デフォルトの復元」ボタンによってシード・ソース・タイプとシード済値文字列が、ユーザー・ソース・タイプとユーザー値文字列としてそれぞれ復元されます。シード・ソース・タイプおよびシード済値文字列が、それぞれユーザー・ソース・タイプおよびユーザー値文字列と同じ場合、「デフォルトの復元」ボタンはグレー表示されます。

属性設定時のトラブルシューティング

使用例1

この警告メッセージは、属性マッピング手法がATTRIBUTE MAPPINGで、「属性マッピング可能」フラグが「Y」に設定されていない新規追加属性をユーザーが設定で使用しようとした場合に、設定ウィンドウに表示されます。

メッセージ: 警告: 属性マッピングが使用可でないため、この属性 (コンテキスト: CONTEXT および属性: &ATTRIBUTE)はマップされません。

使用例2

この警告メッセージは、属性マッピング手法がATTRIBUTE MAPPINGで、「属性マッピング・ステータス」フラグが「Y」に設定されていない新規追加属性をユーザーが設定で使用した場合に、設定ウィンドウに表示されます。

メッセージ: 警告: この属性 (コンテキスト: CONTEXT および属性: &ATTRIBUTE)はまだマップされていません。属性マッピング・ルールをビルドしてください。

使用例3

この属性の属性マッピングのレベルは、「両方」と定義されています。このような場合、ユーザーは、属性マッピング・ルールをヘッダー・レベルと明細レベルにそれぞれ1つ入力する必要があります。入力したレベルが1つのみの場合は、価格設定上の不整合が生じます。

メッセージ: 警告 : この属性にはヘッダーおよび明細レベルの両方に属性マッピング・ルールが必要です。

使用例4

指定のPTEについては、そのPTEに属しているすべての要求タイプに対して属性マッピング・ルールを入力する必要があります。すべてに入力しなかった場合、同じPTEの異なる要求タイプでは、同じ価格をフェッチできない場合があります。

メッセージ: 警告 : この属性をすべての要求タイプにマップする必要があります。

「価格設定の設定」ウィンドウでの属性管理に関連したトラブルシューティング

使用例1

クオリファイア・ルールのウィンドウ上にあるクオリファイア・ルールの同一クオリファイア・グループ化番号内で、属性レベル「明細」と「受注」の属性を持つクオリファイアの組合せを添付しています。

メッセージ: クォリファイア・ルールのクォリファイア・グループ化番号に、属性レベル 'LINE' のクォリファイア属性は、属性レベル 'ORDER' のクオリファイア属性と混在できません。

使用例2

このエラー・メッセージは、ユーザーが属性レベル「明細」と「受注」を持つクオリファイア属性の組合せを同一クオリファイア・グループ化番号内に添付すると、「モディファイア」ウィンドウの「クオリファイア」タブに表示されます。

メッセージ: リスト明細ID LIST_LINE_ID およびクォリファイア・グループ化番号 &QUALIFIER_GRP_NO に対して、クォリファイア属性レベル 'LINE' および 'ORDER' の混合があります。 与えられたリスト明細IDおよびクォリファイア・グループ化番号について、全クォリファイア属性のレベルが LINE/BOTH または ORDER/BOTH かどうか確認してください。

価格設定時のトラブルシューティング

クオリファイアまたは価格設定の属性を「価格設定の設定」ウィンドウで定義するときに、これらのウィンドウの値リストに表示されるのは、「LOV使用可」ボックスが選択されている属性のみです。基本価格設定がインストールされている場合、様々な「価格設定コンポーネント」設定ウィンドウの値リストに表示されるのは、「AVAILABLE_IN_BASIC」ボックスが選択状態で設定されている属性のみです。ただし、Oracle Advanced Pricingユーザーは、設定されているすべての属性を使用できます。その場合、その他の属性レベルの条件を満たしている必要があります。

価格設定アプリケーションで任意の設定データを作成または問い合せる前に、プロファイル「QP: 価格設定取引エンティティ」を正しい値に設定する必要があります。このプロファイルは頻繁に変更しないでください。これは、価格設定ウィンドウで問合せを行うと、異なるPTEに対して他のコンテキストと属性の組合せが表示されるためです。発生した場合は、内部IDコードが表示されます。

統合時または実行時のトラブルシューティング

次の項に、統合時または実行時に発生する一般的なトラブルシューティングに対する解答を示します。

属性の表示

質問1

価格設定ウィンドウで定義した価格設定コンテキストと属性が、なぜ表示されないのですか。

解答: 次の条件が満たされている必要があります。

質問2

プロファイル「QP: 価格設定取引エンティティ」を正しく設定しないと、どうなりますか。

解答: このプロファイルは、使用している現行のPTEを示します。設定ウィンドウの値リストで使用できるのは、現行のPTEに割り当てられたコンテキストと属性のみです。

設定データの問合せで表示されるのは、現行のPTEに割り当てられたコンテキストと属性に関する摘要のみです。

受注の入力

質問1

受注明細を受注パッドに入力中に、次のエラーが表示されました。

FND_AS_UNEXPECTED_ERROR (PKG_NAME=oe_order_adj_pvt) (PROCEDURE_NAME=oe_line_adj.calculate_adjustments) (ERROR_TEXT=calculate_adjustments#130 ORA-06508: PL/SQL: could not find program unit being called).

解答: エラーの原因となっている属性マッピングAPIを判断するために、このパッケージのdba_errorsをチェックします。これがカスタムAPIの場合は、APIを訂正します。シードされているAPIの場合は、訂正パッチが使用可能かどうかを判断します。

質問2

正常にマップされた属性のコンテキストが、Order Management受注パッドの価格設定コンテキストの値リストに表示されません。

解答: 次のソリューションのいずれかで、問題を解決できる可能性があります。

属性管理に関するその他の考慮事項

次の表に、属性管理に関するいくつかの問題とソリューションの概略を示します。

考えられる原因 デバッグ方法
データ属性マッピングの不適切なマッピングが原因で、QP_Attr_Mapping_PUB.Build_Contextsパッケージが無効です。 エラーの原因となっている属性マッピングAPIを確認するために、このパッケージのdba_errorsをチェックします。これがカスタムAPIの場合は、APIを訂正します。シードされているAPIの場合は、訂正パッチが使用可能かどうかを判断します。
「属性マッピング・ルールのビルド」コンカレント・プログラムがエラーで失敗しました。 次の文を実行して、出力を検査します。名前がQP_BUILD_SOURCING_PVTの場合は、dba_errorsからテキストを選択します。カスタム・ソースがこのエラーの原因であることを検証します。
「属性マッピング・ルールのビルド」コンカレント・プログラムの実行中に、次のエラーが表示されました。ORA-06502: 「PL/SQL: 数値または値のエラーが発生しました」(文字列バッファが小さすぎるため)、ORA-06512: 「APPS.QP_ATTR_MAPPING_PUB行1445」、ORA-20000:ORA-04021: 「timeout occurred while waiting.」。 このエラーは、コンカレント・プログラムの実行中に別のユーザーが価格設定エンジンの呼出しを実行すると発生します。有効ユーザーが価格設定エンジンを呼び出しているときは、「属性マッピング・ルールのビルド」コンカレント・プログラムを実行しないでください。
販売受注パッドで受注明細を入力中に次のエラーが表示されました。END_AS_UNEXPECTED_ERROR (PKG_NAME=oe_order_adj_pvt)(PROCEDURE_NAME=oe_line_adj.calculate_adjustments) (ERROR_TEXT=calculate_adjustments#130 ORA-06508: PL/SQL: could not find program unit being called) 次の文を実行して、出力を検査します。名前がQP_BUILD_SOURCING_PVTの場合は、dba_errorsからテキストを選択します。カスタム・ソースがこのエラーの原因であるかどうかを確認します。シードされているソース・ルールでこのエラーが発生する場合は、シードされているルールを訂正するパッチが使用可能かどうかを判断します。エラーが「記号"_"が見つかりました。」の場合は、適用できる関連パッチを判断します。

アップグレードに関する考慮事項

11.5.7以前のリリース/パッチGからアップグレードする場合、アップグレード・プログラムでは、次の処理が実行されます。

  1. コンテキストと属性をアップグレードします。

  2. ソース・システムと要求タイプをアップグレードします。

  3. PTEと属性リンクの作成

  4. 属性マッピング・ルールをアップグレードします。

  5. 既存モディファイアへのPTEの割当

    H以前のリリース H以降のリリース
    すべてのアプリケーションに共通の要求タイプとソース・システム。 PTEによってグループ化される要求タイプとソース・システム。
    フレックスフィールドで作成および保守されるコンテキストと属性。 価格設定表(QP表)で作成および保守されるコンテキストと属性。
    すべてのアプリケーションが価格設定で使用できるすべての属性。 PTEに基づいてアプリケーションで使用できる属性。属性は、値リストおよび限度に対して使用可能になりました。
    属性には、すべての要求タイプが使用する1つのソース・ルールを指定します。 属性には、多様な要求タイプに対して1つ以上の属性マッピング・ルールを指定できます。
    唯一の受注体系(オーダー管理など)。 最低4つのシード済PTE、拡張準備中。

表のアップグレード

コンテキスト fnd_descr_flex_contexts qp_prc_contexts_b
コンテキスト fnd_descr_flex_contexts_tl qp_prc_contexts_tl
属性 fnd_descr_flex_column_usages qp_segments_b
属性 fnd_descr_flex_col_usage_tl qp_segments_tl
ソース・システムと要求タイプ qp_price_req_sources qp_pte_source_systems
ソース・システムと要求タイプ qp_price_req_sources qp_pte_request_types_b/tl
属性リンク oe_def_attr_condns qp_pte_segments
属性リンク ak_object_attributes qp_pte_segments
属性リンク oe_def_condn_elems qp_pte_segments
属性マッピング・ルール oOe_def_attr_def_rules qp_attribute_sourcing

コンテキストと属性のアップグレード

この項では、コンテキストと属性を、現行のフレックスフィールド体系から新たに正規化された価格設定表(QP表)のセットにアップグレードする方法について説明します。

コンテキストのアップグレード

コンテキストがクオリファイア・コンテキストと価格設定コンテキストのフレックスフィールドに格納されている場合、アップグレード・プログラムでは、すべてのコンテキストがこれらのフレックスフィールドから新規価格設定表(QP表)にコピーされます。すべてのクオリファイア・コンテキスト・フレックスフィールドのクオリファイアは、クオリファイア・コンテキストとしてコピーされます。

ITEM以外の価格設定属性フレックスフィールドのすべてのクオリファイアは、価格設定属性コンテキストとしてコピーされます。ITEMクオリファイアは、製品コンテキストとしてコピーされます。ユーザー1がフレックスフィールドに作成したすべてのコンテキストは、シード済データとして処理されます。各種言語による名前と摘要、有効フラグなどの他の情報はすべて、フレックスフィールドで使用できます。

属性のアップグレード

新システムでフレックスフィールドから作成されるすべてのコンテキストについては、属性がフレックスフィールド使用表で使用できます。これらの属性は、新システムの対応するコンテキストの下にコピーされます。フレックスフィールド使用表の一部の属性には、値セットがありません。これは、これらの属性がその有効値にキー・フレックスフィールドを使用するためです。名前、マッピング列、優先などの他の情報はすべて、フレックスフィールド使用表で使用できます。

ソース・システムと要求タイプのアップグレード

現在、すべてのソース・システムと要求タイプは、多対多の関連でマップされます。シード要求タイプは、要求タイプ間の関連を追加するために用意されています。

属性管理には、価格設定取引エンティティ機能が使用されます。これは、関連付けられた要求タイプとソース・システムを含む受注体系から構成されます。アップグレード時には、PTEの新規セットがターゲット・システムに作成されます。シード済PTE以外に、顧客独自の要求タイプとソース・システムによっては、さらに多くのPTEが作成できます。

シード要求タイプとシード・ソース・システムのマッピング

事前決定の処理により、要求タイプとソース・システムをPTEに関連付けることができます。これらの要求タイプおよびその関連は、シード済データとして動作します。シードされた価格設定取引エンティティ、ソース・システムおよび要求タイプに関しては、前の項を参照してください。

次の表に示すように、要求タイプがアップグレード・プログラムによってターゲット・システムに作成されるたびに、デフォルトのグローバル体系がそれに関連付けられます。

要求タイプ グローバル体系名: ヘッダー・レベル グローバル体系名: 明細レベル
ASO ASO_PRICING_INT.G_HEADER_REC ASO_PRICING_INT.G_LINE_REC
OKC OKC_PRICE_PUB.G_CONTRACT_INFO OKC_PRICE_PUB.G_CONTRACT_INFO
IC INV_IC_ORDER_PUB.G_HDR INV_IC_ORDER_PUB.G_LINE
ONT OE_ORDER_PUB.G_HDR OE_ORDER_PUB.G_LINE
FTE なし なし
MSD なし なし

PTEと属性リンクの作成

現在、既存のフレックスフィールドで使用可能なすべての属性は、すでに属性マップ済です。新規データ・モデルでは、属性マッピング・ルールを指定する前に、各属性を1つ以上のPTEにリンクする必要があります。

1)属性マッピングに対応しているか、すでにマップされている属性

このような属性は、デフォルト・ルールに従って、現行システムのソース・システムに関連付けられます。この時点で、アップグレード・プログラムにより、すべてのPTE‐要求タイプ‐ソース・システム間の関連(データとの)がすでにターゲット・システム内に作成されています。アップグレード・プログラムは、このソース・システムに関連付けられているPTEを判別し、必要な数のPTEと属性リンクを新規のPTE‐属性マッピング表に作成します。

たとえば、デフォルト条件テンプレートに従って、セグメント1がQPソース・システムに関連付けられているとします。アップグレード・プログラムは、この属性に3つのリンクを作成します。この3つのリンクは、次の表のように、新規PTE‐属性マッピング表内で3つの行として表示されます。

価格設定取引エンティティ 属性
1 未割当 - 2 セグメント-1
2 オーダー管理 セグメント-1
3 会社間取引 セグメント-1

3つの行が作成されたのは、ソース・システムQPがPTEの未シード-2、オーダー管理および会社間取引に添付されているためです。

2)属性がマップされていない属性

一部の属性には、属性マッピング・ルールがありません。この一部の属性とは、価格表、モディファイアおよび算式に取引がない属性です。このような属性は、PTE属性マッピング表で作成済のすべてのPTE(シード済PTEも含む)にリンクされます。

属性マッピング・ルールのアップグレード

アップグレード時に、現行システムでデフォルトの属性マッピング・ルールが定義されているすべての属性には、新規モデルでも同じ属性マッピング・ルールが再定義されます。PTE属性マッピング表に表示されるすべての属性には、現行システムでの属性の定義方法に基づいて、ヘッダーのみ、明細のみ、またはヘッダーと明細などの受注レベル・マッピングまたは明細レベル・マッピング、あるいはその両方を指定できます。

注意: 次のいずれかの状況で、属性マネージャ・ローダー・プログラムまたは属性マネージャ・アップグレード・プログラムにより既存の属性が検出された場合、その属性のアップロードまたはアップグレードは迂回されます。

ただし、現行システムとは異なり、属性マッピング・ルールを指定するすべての属性には、要求タイプの数と同じ数の属性マッピング・ルールのセットを指定することが理想的です。ここでいう要求タイプとは、PTE属性マッピング表の該当する属性についてPTEに関連付けられている要求タイプを指します。この時点では、アップグレード・プログラムがすべての要求タイプに対してすべての属性マッピング・ルールを作成するとはかぎりません。アップグレード・プログラムでは、属性に応じてその属性を作成したアプリケーションが指定され、要求タイプに対する属性マッピング・ルールが、次の表に示すように作成されます。

ソース・システム 要求タイプ
QP ONT
OKC OKC
ASO ASO
AMS ONT、ASO

デフォルトの属性マッピング・ルールを指定できるのは、基本価格設定で使用するために作成されたPTE属性マッピング表のシード済PTE-属性の組合せのみです。また、デフォルト・ルールを持ちソース・システムFTEに属する属性すべてに、属性マッピング・ルールがあるわけではありません。

既存モディファイアへのPTEの割当

属性マッピングでは、それまで使用していたソース・システムに加えて、関連モディファイア・リスト、価格表および算式の作成元であるPTEが識別されます。新規の列PTE_CODEがQP_LIST_HEADERS_B表に追加されました。この列にはPTEが格納されます。アップグレード・プログラムでは、次の論理に基づいて、すべてのモディファイア・リスト、価格表または算式のPTE_CODEを更新します。

アップグレード・プログラムでは、ターゲット・システムですべてのPTE‐要求タイプ‐ソース・システム間の関連(データとの)を作成後、すべてのモディファイアのPTEをそのソース・システムから判別します。ソース・システムが1つのPTEのみに関連している場合、PTE_CODEは、PTEとともに更新されます。ソース・システムが複数のPTEに関連している場合は、他のPTE全体でオーダー管理が選択されます。

サンプル・コード

-- Please note, the cursor cs_item_cost may need to be modified
-- before use in your environment.

CREATE OR REPLACE
PACKAGE MY_CUSTOM_SOURCING AUTHID CURRENT_USER AS
-- please see package body for version, history and notes.
-- Package globals...G_Organization_id NUMBER := FND_PROFILE.VALUE('QP_ORGANIZATION_ID');
-- Cached in and out values for each sourcing routine.
TYPE Item_Info_Rec_Type IS RECORD
( inventory_item_id  VARCHAR2(240)
, item_cost NUMBER
);
G_Item_Info   Item_Info_Rec_Type;
FUNCTION Get_Item_Cost (p_item_id IN NUMBER) RETURN VARCHAR2;
PRAGMA RESTRICT_REFERENCES (Get_Item_Cost,WNDS);
END MY_CUSTOM_SOURCING;
/
--------------------------------------------------CREATE OR REPLACE
PACKAGE BODY MY_CUSTOM_SOURCING AS
/* Package Body version 1.01 - 30th January 2001 */
-- This is the package body for Simon's example of
-- Advanced pricing 11i's custom sourcing routines used for
-- retrieving additional information from the apps tables into pricing
-- data structures.
-- standard functionality is not feasible.
-- To marginally improve performance on successive pricing calls,
-- we cache the most recent details from the sourcing functions
------------------------------------------------------------
-- so that the cursors are not run every time if the requests
-- are the same. These cached values are stored in package-wide
-- variables.
------------------------------------------------------------
FUNCTION Get_Item_Cost (p_item_id IN NUMBER) RETURN VARCHAR2 IS
-- Function to retrieve an item cost from cst_item_costs
-- note, this returns null is a cost is not found
-- so that the calling app can handle this.
-- Note, Use your own cost type id from cst_cost_types.
-- I've used 1 just for testing.
CURSOR cs_item_cost(cp_item_id IN NUMBER) IS
  SELECT    cic.item_cost
    FROM    cst_item_costs cic
    AND     cic.cost_type_id      = 1
    AND     cic.organization_id   = G_organization_id;
 v_cost cst_item_costs.item_cost%TYPE := NULL;
BEGIN
  IF p_item_id = G_Item_Info.inventory_item_id THEN
-- if the requested item is already cached then do nothing yet.
    NULL;
  ELSE