価格設定アルゴリズムの例(パート3、価格表の取得)
使用する価格表を決定します。
 
 ノート
- 
               価格設定戦略の取得ステップの出力SDOは、入力SDOを提供します。 
- 
               価格表の導出アルゴリズムを使用します。 - 
                     デフォルトの価格表を取得します。 
- 
                     条件上書きが存在する場合は適用します。 
- 
                     明細上書きが存在する場合は、検証します。 
 
- 
                     
アルゴリズムの動作は次のとおりです。
- 
               価格設定管理作業領域の戦略と価格表を確認します。 
- 
               入力SDOのPricingStrategyId(300100071623888など)を使用して、調査する戦略を決定します。 
- 
               戦略の価格表の優先属性に従って、戦略の価格表を順番に確認します。 
- 
               入力SDOで品目、単位および手数料を使用して、戦略に同じ品目、単位および手数料を含む価格表を識別します。 
- 
               一致が見つかった場合は、価格表がデフォルトの価格表として使用され、明細に価格が適用されます。 DefaultPriceListId属性を使用して価格表を識別します。 
- 
               営業基本契約が明細に適用され、契約が明細を上書きする場合、アルゴリズムは契約価格を使用して明細の価格を設定します。 
- 
               明細に価格表上書きが存在し、その価格表が戦略および日付に従って有効であることがアルゴリズムで検出された場合は、上書きを使用して明細の価格が設定されます。 
- 
               アルゴリズムで戦略に一致する価格表が見つからない場合、または契約価格が無効な場合、または上書き価格が無効な場合は、エラーが作成されます。 
- 
               Order Managementは、価格表の上書きをサポートするように事前定義されていません。 手動で設定する必要があります。 
次に、SDOの属性の詳細を示します。
| エンティティ | 入力SDOの属性 | 出力SDOの属性 | 
|---|---|---|
| 明細 | AllowCurrencyOverrideFlag: Y AppliedCurrencyCode: USD DefaultCurrencyCode: USD HeaderId: 1 InventoryItemId: 149 InventoryOrganizationId: 204 ItemType: Standard LineCategoryCode: オーダー LineId: 1 LineQuantity2: 個 LineQuantityUOMCode: 個 LineTypeCode: ORA_BUY PriceAsOf: 2019-03-26 @ 08:32:53 PricedOn: 2019-03-26 @ 08:32:53 PricingDate: 2019-03-26 @ 08:32:53 PricingStrategyId: 300100071623888 ShipToLocationId: 929 UnreferencedReturnLineFlag: N | AllowCurrencyOverrideFlag: Y AppliedCurrencyCode: USD AppliedPriceListId: 300100071623855 この例では、アルゴリズムで上書きが見つからなかったため、適用された価格表とデフォルト価格表は同じです。 上書きが見つかった場合は、適用された価格表を上書き価格表に設定します。 DefaultCurrencyCode: USD DefaultPriceListId: 300100071623855 DefaultPriceListPrecedence: 1 FromCurrencyCode: USD。 価格リストの通貨コードです。 HasAlternatePriceList: Y HeaderId: 1 InventoryItemId: 149 InventoryOrganizationId: 204 ItemType: Standard LineCategoryCode: オーダー LineId: 1 LineQuantity2: 個 LineQuantityUOMCode: 個 LineTypeCode: ORA_BUY PriceAsOf: 2019-03-26 @ 08:32:53 PricedOn: 2019-03-26 @ 08:32:53 PricingDate: 2019-03-26 @ 08:32:53 PricingStrategyId: 300100071623888 ShipToLocationId: 929 UnreferencedReturnLineFlag: N | 
階層内のオブジェクト参照の表示
次に、価格表の導出アルゴリズムで使用できる関数のいくつかを示します。
| 関数名 | 説明 | 
|---|---|
| getCharges | 品目またはサブスクリプション品目の料金を取得します。 | 
| getCoverageCharges | カバレッジ品目および対象品目の手数料を取得します。 | 
| getItems | 構成モデルの品目を取得します。 | 
これらの関数は、階層ビュー・オブジェクト参照です。 ビュー・オブジェクト参照は、1つの参照のみを問い合せます。 階層ビュー・オブジェクト参照は、階層内の2つのオブジェクトを問い合せます。 たとえば、getCharges関数は、ビュー・オブジェクトxを使用して、優先順位に従って戦略内の価格表を問い合せ、ビュー・オブジェクトyを使用して、オブジェクトxが返す各価格表の価格表料金を問い合せます。
オブジェクト参照の表示
価格表の導出で使用できるビュー・オブジェクト参照である関数を次に示します。
| 関数名 | 説明 | 
|---|---|
| getOverridePriceListName | OverridePriceListIdで識別される価格表名を取得します。 付加フレックスフィールドを使用して、Trading Community Architectureで設定する各パーティに特定の価格を設定する場合は、戦略のデフォルト値を使用するかわりに、getOverridePriceListNameを使用して適用する価格表の名前を取得できます。 | 
| getStrategy | Header.StrategyIdに従って価格設定戦略を取得します。 | 
| validateOverrideCurrency | ヘッダーまたは明細の上書き通貨を検証します。 | 
| validateOvrPriceList | 上書き価格表の検証 line. | 
| validateTermPriceList | 販売契約で指定されている価格設定条件から上書き価格表を検証します。 |