拡張変換ルールの作成
ソース・オーダーの2つ以上の明細を比較する拡張変換ルールを作成します。
履行明細で在庫品目が追加され、別の履行明細で同じ在庫品目が削除されるとします。 これらの明細の処理を回避する変換ルールを作成できます。
- 
            
履行明細「ひとつの」が在庫品目xの追加をリクエストし、履行明細「さようなら」が在庫品目xの削除をリクエストした場合、履行明細「ひとつの」および「さようなら」を削除
 
このロジックを実装します。
| 
                      説明文  | 
                  
                      説明  | 
               
|---|---|
| 
                      最初のIF文  | 
                  
                      履行明細1の変更が追加の場合。  | 
               
| 
                      2つ目のIF文  | 
                  
                      履行明細2の変更が「削除」の場合。  | 
               
| 
                      3番目のIF文  | 
                  
                      履行明細1の在庫品目が履行明細2の在庫品目と同じである場合。  | 
               
| 
                      4番目のIF文  | 
                  
                      履行明細1の履行明細IDが履行明細2の履行IDと異なる場合。  | 
               
| 
                      THEN文  | 
                  
                      履行明細1および履行明細2を削除します。  | 
               
この変換ルールを作成します。
 このトピックでは、拡張モードを使用します。 このモードおよびビジネス・ルールの作成について理解しておくことをお薦めします。 詳細は、「オーダー管理でのビジネス・ルールの使用の概要」を参照してください。
設定の概要
- 
            
ルールを作成します。
 - 
            
最初のIF文を作成します。
 - 
            
2番目のIF文を作成します。
 - 
            
3番目のIF文を作成します。
 - 
            
4番目のIF文を作成します。
 - 
            
THEN文を作成します。
 
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
ルールの作成
- 
               
「設定および保守」作業領域に移動してから、タスクに移動します。
- 
                     
オファリング: オーダー管理
 - 
                     
機能領域: オーダー
 - 
                     
タスク: 製品変換ルールの管理
 
 - 
                     
 - 「製品変換ルールの管理」ページで、「詳細」をクリックします。
 - 
               
「プロパティ」をクリックし、値を設定します。
属性
値
Rule 1
追加および削除アクションの統合
説明
相互に取り消すリクエストを削除するルール。
拡張モード
チェック・マークが含まれます。
 - 
               
「保存>保存」をクリックします。
 - 「追加」>「ルールの追加」をクリックします。
 
最初のIF文の作成
このIF文を作成します。 履行明細1の変更が追加かどうかを決定します。
 演習
- 
               
Is Aの左側のフィールドに、FulfillLineと入力します。 - 
               
Is Aの右側にあるフィールドで、「下向き矢印」をクリックし、OrderTransformationRules.FulfillLineVOをクリックします。 - 
               
「テストの追加>単純テスト」をクリックします。
 - 
               
「左の値」をクリックします。
 - 
               
条件ブラウザで、FulfillLineを展開し、DeltaType > OKをクリックします。
 - 
               
右の値属性に、
"Add"と入力します。 二重引用符を含める必要があります。 - 
               
「保存」をクリックします。
 
2番目のIF文の作成
このIF文を作成します。 履行明細2の変更が削除かどうかを決定します。
 演習
- 
               
「パターンの追加」をクリックします。
 - 
               
Andの下のウィンドウで、FulfillLine2と入力します。 - 
               
Is Aの右側にあるフィールドで、「下向き矢印」をクリックし、OrderTransformationRules.FulfillLineVOをクリックします。 - 
               
「テストの追加>単純テスト」をクリックし、「左の値」をクリックします。
 - 
               
条件ブラウザで、
FulfillLine2を展開し、DeltaType > OKをクリックします。 - 
               
属性の右の値に、
"Delete"と入力します。 二重引用符を含める必要があります。「保存」をクリックします。
 
3番目のIF文の作成
このIF文を作成します。 履行明細1の在庫品目が履行明細2の在庫品目と同じかどうかを決定
 演習
- 
               
「パターンの追加」をクリックします。
 - 
               
Andの下のウィンドウで、FulfillLineと入力します。 - 
               
Is Aの右側にあるフィールドで、「下向き矢印」をクリックし、OrderTransformationRules.FulfillLineVOをクリックします。 - 
               
「テストの追加>単純テスト」をクリックし、「左の値」をクリックします。
 - 
               
条件ブラウザで、FulfillLineを展開し、InventoryItemIdをクリックし、OKをクリックします。
 - 
               
「右値」をクリックします。
 - 
               
条件ブラウザで、
FulfillLine2を展開し、InventoryItemId > OKをクリックします。「保存」をクリックします。
 
4番目のIF文の作成
このIF文を作成します。 履行明細1の履行明細IDが履行明細2の履行IDと異なるかどうかを決定します。
 演習
- 
               
「パターンの追加」をクリックします。
 - 
               
Andの下のウィンドウで、FulfillLineと入力します。 - 
               
Is Aの右側にあるフィールドで、「下向き矢印」をクリックし、OrderTransformationRules.FulfillLineVOをクリックします。 - 
               
「テストの追加>単純テスト」をクリックし、「左の値」をクリックします。
 - 
               
条件ブラウザで、FulfillLineを展開し、InventoryItemId > OKをクリックします。
 - 
               
Is > Isn'tをクリックします。
 - 
               
「右値」をクリックします。
 - 
               
条件ブラウザで、
FulfillLine2を展開し、InventoryItemId > OKをクリックします。「保存」をクリックします。
 
Then文の作成
この処理を作成します。 履行明細1および履行明細2が削除されます。
 演習
- 
               
Then領域で、「Add Action」>「Assert New」をクリックします。
 - 
               
「ターゲットの選択」をクリックし、OrderTransformationRules.DeleteOrderLineをクリックします。
 - 
               
「プロパティの編集」をクリックします。
 - 
               
プロパティ・ダイアログで値を入力し、OKをクリック
名前
値
fulfillmentLineId
fulfillmentLineId
viewRowImpl
fulfillmentLineId
 - 
               
「処理の追加」>「取消」をクリックします。
 - 
               
「ターゲットの選択」をクリックし、
FulfillLine2をクリックします。「保存」をクリックします。