ヘッダーをスキップ

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

価格設定データ・バルク・ローダー

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

価格設定データ・バルク・ローダーの概要

価格設定データ・バルク・ローダーは、Basic PricingおよびAdvanced Pricingで使用できるアプリケーション・プログラミング・インタフェース(API)で、次のタスクを実行できます。

価格設定データ・バルク・ローダーAPIは、インタフェース表のセットとコンカレント・プログラムで構成されます。すべての検証およびデフォルト設定は、データの挿入または更新が行われる前に実行されます。価格設定データ・バルク・ローダーは、従来のシステムなどから大量の価格表データをインポートする場合に、価格表ユーザー・インタフェース(UI)および価格表のビジネス・オブジェクト用APIのかわりに使用できます。

価格設定データ・バルク・ローダーでは、次の価格表はインポートされません。

価格設定データ・バルク・ローダーで使用されるプロファイル・オプション

価格設定データ・バルク・ローダーAPIで使用されるプロファイル・オプションは、次のとおりです。

関連トピック

インタフェース表の設定例

インタフェース表の移入

最初のステップで、価格設定データ・バルク・ローダーによって次のインタフェース表からデータがインポートされます。

インタフェース表の属性

価格表データのインポートは、インタフェース表の次のキー属性によって管理されます。

バルク・ローダーを使用した価格表の更新または削除

価格表を更新または削除するには、元システム参照列がインタフェース表に移入され、更新対象のレコードが識別できる状態になっている必要があります。たとえば、ヘッダー・レコードを削除または更新する場合はorig_sys_header_refを指定します。明細レコードの場合は、orig_sys_header_refとorig_sys_line_refを指定します。

内部価格表または価格設定API

価格設定ユーザー・インタフェースまたは価格設定APIを使用して作成した内部価格表は、ユーザーによって元システム参照列が入力されないため、システムによってこれらの列のデフォルトが設定されます。R12リリースより前に作成されたデータの元システム参照列を移入するには、コンカレント・プログラム「QP: Bulk Loaderの価格設定データのアップグレード」を実行する必要があります。これらの内部価格表上の更新対象または削除対象のデータについては、これらのデフォルト値がインタフェース表の元システム参照列に移入される必要があります。

すべてのエントリのOrig_sys_header_ref列(価格表ヘッダー、価格表明細、価格設定属性、クオリファイア)のデフォルト値として、プリフィクス「INT」(内部用)が付加されたlist_header_idが設定されます。

重要: プリフィクス「INT」は、11.5.10以前のリリースの更新された価格表ヘッダーに使用されます。12.0以降のリリースで作成された価格表については、プリフィクス「INT」は付加されません。たとえば、header_idが12345の場合、その価格表のすべてのエントリのorig_sys_header_refのデフォルト値として「INT12345」が設定されます。

価格表明細、価格設定属性およびクオリファイアのエンティティのその他の元システム参照列には、デフォルト値として主キーID値が設定されます。たとえば、orig_sys_line_refはlist_line_idがデフォルト値になります。orig_sys_header_refが重複して存在する場合、プリフィクス「INT-D-」がlist_header_idに付加されます。

命名規則がどのように適用されるかについて、例を示します。

価格表ヘッダー名 List_header_id Orig_sys_hdr_ref(命名規則の適用後)
PL_11510 12345 INT12345
PL_120 67890 67890
PL_120 67890 INT-D-67890
注意: Orig_sys_hdr_ref = 67890が別の価格表にすでに存在する場合は、プリフィクス「INT-D-」が付加されます。

注意: バルク・ローダー処理を使用して、価格分岐子明細の更新と価格分岐の削除を同時に行うと(この使用方法はお薦めしません)、価格分岐と価格分岐子明細の両方が削除されます。また、価格分岐子明細には価格設定属性が必要なため、価格分岐子明細の更新と価格設定属性の削除も同時に実行することはできません。明細と価格設定属性の両方を削除(「削除」操作を使用)する正しい方法を使用すると、エラー・メッセージは表示されません。

特定の列の更新

特定の列を更新するには、インタフェース表で更新する列の値のみを入力する必要があります。たとえば、価格表明細のオペランド列のみを更新する場合は、元システム参照列を指定して、レコードとオペランド列の新しい値を価格表明細インタフェース表上で特定する必要があります。

列をNULL値に更新する場合は、インタフェース表のその列に次のいずれかの定数を移入します。

注意: 検証を行うため、価格設定データ・バルク・ローダーによって、インタフェース表の空の列にデータベース内の現在の値が移入されます。前述の例では、オペランド列以外のすべての列がバルク・ローダーによって更新されます。エラーが発生した場合は、ユーザーが移入したデータがオペランド列のみの場合でも、バルク・ローダー実行後に移入されたすべての列を確認してください。

子レコードを作成、更新または削除する場合は、親レコード(および該当する場合は、その上位の親レコード)もインタフェース表に存在している必要があります。親(および、その上位の親)レコードを処理(挿入、更新または削除)する必要がないとしても、それらのレコードがprocess_status_flag = Iの状態で存在し、元システム列が移入された状態になっている必要があります。ヘッダー・レコードが存在しない場合、子エンティティのレコードはバルク・ローダーによって処理されません。

表の名前とアップロード処理の有効性
表名 選択 挿入 更新 削除
QP_INTERFACE_LIST_HEADER X NA X X
QP_INTERFACE_LIST_LINES X NA X X
QP_INTERFACE_QUALIFIERS X NA X X
QP_INTERFACE_PRICING_ATTRIBS X NA X X
QP_INTERFACE_ERRORS NA X NA NA
QP_LIST_HEADERS_B NA X X X
QP_LIST_HEADERS_TL NA X X X
QP_LIST_LINES NA X X X
QP_QUALIFIERS NA X X X
QP_PRICING_ATTRIBUTES NA X X X
QP_RLTD_MODIFIERS NA X X X

注意: 「NA」は「該当しない」の意味です。

インタフェース表の設定例

次のサンプル・スクリプトを見ると、価格設定データ・バルク・ローダー機能に使用するインタフェース表の設定方法がわかります。このスクリプトは$QP_TOP/patch/115/sqlディレクトリにあります。

「QP: 価格表の一括インポート」プログラム

価格設定データ・バルク・ローダーAPIは、コンカレント・プログラム「QP: 価格表の一括インポート」として実装されます。このコンカレント・プログラムを使用して、インポート(一括ロード)する価格設定データを定義し、インタフェース表の価格表データをOracle Advanced Pricing表にインポートします。処理を効率的に行うには、システムにアクティブ・ユーザーが存在しない時間帯など、最適な時間にコンカレント・プログラムが実行されるようにスケジュール設定します。

「QP: 価格表の一括インポート」プログラムを使用すると、次のタスクを実行できます。

プロファイル・オプション「QP: 一括インポートのバッチ・サイズ」(QP_BATCH_SIZE_FOR_BULK_UPLOAD)を設定し、PL/SQL表に読み込むレコード数を制限できます。これにより、一括インポートのパフォーマンスを向上できます。このプロファイルのデフォルト値は1,000ですが、ハードウェアの構成に応じてこの値は変更できます。詳細は、このマニュアルのプロファイル・オプションに関する項を参照してください。

「QP: 価格表の一括インポート」プログラムの使用例

次のように、業務の慣習上、価格表データの定期的なアップロードが必要になることがあります。

「QP: 価格表の一括インポート」プログラムの処理

「QP: 価格表の一括インポート」プログラムでは、次の処理が行われます。

注意: バルク・ローダーで使用するインタフェース表へのデータ移入の詳細は、『Oracle Advanced Pricingインプリメンテーション・マニュアル』を参照してください。

「QP: 価格表の一括インポート」プログラムの実行に関する考慮事項

「QP: 価格表の一括インポート」プログラムを実行する前に、次の点を確認してください。

レポート発行

「要求の発行」ウィンドウの「名称」フィールドで、「QP: 価格表の一括インポート」を選択します。

レポート・パラメータ

「QP: 価格表の一括インポート」のパラメータ

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