明細選択ルールでの拡張可能フレックスフィールドの使用
明細選択ルールで拡張可能フレックスフィールドを使用する場合は、DooSeededOrchestrationRulesオブジェクトを使用してオーケストレーション・プロセスを参照します。
たとえば、ルールを設定する必要があるとします。
-
オーダー明細に報酬品目が含まれている場合は、このオーケストレーション・プロセス・ステップの実行時に使用します。
使用するロジックを次に示します。
オブジェクト |
説明 |
---|---|
パターン |
パターンの使用。
|
テスト |
テストを使用します。
ノート
|
処理 |
新規アサート・アクションを使用します。
|
このロジックによって階層が作成されます。
Order Header
childFLines
flexContext
説明
-
オーダー・ヘッダーはルートです
-
childFLinesはオーダー・ヘッダーの子です
-
flexContextはchildFLinesの子で、Order Headerの孫です
この例では、階層を明示的に作成するのではなく、ツリー・モードを使用して階層を保守します。 スラッシュ(/)は階層を指定します。 たとえば:
-
header/childFLines/flexContexts
この例では、オーケストレーション・プロセスで明細選択基準を定義し、履行明細ごとに実行するオーケストレーション・プロセス・ステップを指定します。 この基準は、拡張可能フレックスフィールドに含まれる値に従って定義します。 ルールを作成します。
-
オーダー明細のエクスポート規制遵守ステータスが不合格の場合は、手動で調査を行います。 その他のオーダー・ラインを出荷に直接送信します。
作成したフローを次に示します。
拡張可能フレックスフィールドを使用して、コンプライアンス・ステータスの値を格納します。
コンテキスト |
拡張可能フレックスフィールド |
オブジェクト |
値 |
---|---|---|---|
コンプライアンス |
Compliance_Status |
履行明細EFF (DOO_FULFILL_LINES_ADD_INFO) |
不合格 |
ライン選択ルールを作成します。
ステップの概要
拡張可能フレックスフィールドの値に従ってオーダー明細を履行します。
-
ルールを作成します。
-
オブジェクト階層を設定します。
-
フレックスフィールド・コンテキストに従って明細を選択します。
-
コンプライアンス・ステータスに従って明細を選択します。
-
手動検査が必要な履行明細を識別します。
ビジネス・ルールの作成方法の詳細は、「オーダー管理でのビジネス・ルールの使用の概要」を参照してください。
このトピックではサンプル値を使用します。 ビジネス要件によっては、別の値が必要になる場合があります。
ルールの作成
-
「設定および保守」作業領域に移動してから、タスクに移動します。
-
オファリング: オーダー管理
-
機能領域: オーダー
-
タスク: オーケストレーション・プロセス定義の管理
-
-
「オーケストレーション・プロセス定義の管理」ページで、編集する必要があるオーケストレーション・プロセスを検索し、「処理」>「編集」をクリックします。
-
「オーケストレーション・プロセス定義の編集」ページのプロセス詳細領域のステップ定義リストで、ステップを追加します。
属性
値
ステップ名
コンプライアンス・チェック
ステップ・タイプ
サービス
タスク・タイプ
DOO_TradeCompliance
タスク
DOO_TradeCompliance
サービス
取引コンプライアンスのスクリーニング・リクエスト
-
追加した行の行選択基準列で、「ルールのクリック」をクリックします。
-
「明細選択基準」ダイアログで、「ルールの追加>プロパティ」をクリックし、値を設定します。
属性
値
名前
コンプライアンス・ステータスの確認
説明
オーダー明細のエクスポート規制遵守ステータスが不合格の場合は、手動検証を実行します。
有効日
常時
Priority
中
アクティブ
チェック・マークが含まれます。
拡張モード
チェック・マークが含まれます。
ツリー・モード
チェック・マークが含まれます。
ツリー・モードを使用して、オーケストレーション・ルールのルート階層に拡張可能フレックスフィールドを含めることができます。
-
ルートを設定します。
属性
値
ルート
DooSeededOrchestrationRules.DOOHeader
オブジェクト階層の設定
ルールによって処理されるデータがフィルタされるように、オブジェクト階層を設定する必要があります。
Order Header
childFLines
flexContexts
説明
-
オーダー・ヘッダーはルートです
-
childFLinesはオーダー・ヘッダーの子です
-
flexContextsはchildFLinesの子で、Order Headerの孫です
この例では、階層を明示的に作成するのではなく、ツリー・モードを使用して階層を保守します。 各スラッシュ(/)は、階層レベルを指定します。
header/childFLines/flexContexts
説明
-
ヘッダーはルートです。 ルートでは、ルートを参照する子オブジェクトのデータのみがルールによって処理されます。
-
childFLinesは子です。 子によって、ルールによって、子を参照する孫オブジェクトのデータのみが処理されます。
-
flexContextsは孫です。
If文を作成します。 オブジェクト階層を確立します。
オブジェクト階層を設定します。
-
If領域で、Is Aの左側にあるフィールドの値を削除し、この値を入力します。
属性
値
Aの左側にあるフィールド
ヘッダー
-
Is Aの右側のフィールドに値を設定します。
属性
値
Is Aの右側のフィールド
DooSeededOrchestrationRules.DOOHeader
-
header
を含むフィールドで、テストを選択するオプションにチェック・マークを追加し、「切り取り>切り取り(Cut > Cut)」をクリックします。たとえば:
階層には拡張可能フレックスフィールド変数が含まれているため、階層の定義時にテストを含める必要はありません。
-
「パターンの追加」をクリックします。
-
Is Aの左側のフィールドに値を入力します。
属性
値
Aの左側にあるフィールド
Fline
-
Is Aの右側のフィールドに値を設定します。
属性
値
Is Aの右側のフィールド
header/childFLines
-
「パターンの追加」をクリックします。
-
Is Aの左側のフィールドに値を入力します。
属性
値
Aの左側にあるフィールド
FlineEFF
-
Is Aの右側のフィールドに値を設定します。
属性
値
Is Aの右側のフィールド
header/childFLines/flexContexts
フレックスフィールド・コンテキストに従って明細を選択
テストを追加します。
-
フレックスフィールド・コンテキストがコンプライアンスの場合
このテキストは、フレックスフィールド・コンテキストがコンプライアンスである行のみを選択します。
式を作成します。
左式 |
オペランド |
右式 |
---|---|---|
FLineEFF.context.equalsIgnoreCase("Compliance") |
次である |
DooSeededOrchestrationRules.Boolean.TRUE |
フレックスフィールド・コンテキストに従って明細を選択します。
-
追加したパターンで、「テストの追加」をクリックします。
コンプライアンス・テストを続行する履行明細を識別するテスト基準を追加します。 参照する属性がオプションの場合は、実行時にNULLポインタ例外を回避するためにNULL値チェックを含めます。
-
「左の値」をクリックします。
-
条件ブラウザで、「式ビルダー」をクリックします。
-
式ビルダーで、「関数」をクリックし、「FLineEFF > コンテキスト」を展開し、equalsIgnoreCase(String),をクリックして「式に挿入」をクリックします。
たとえば:
ツリー構造をナビゲートするには、コンテキスト・オブジェクトの機能を表示できるようになるまでフォルダを展開します。 FlineEFFは、以前に宣言したパターンです。
展開するコンテキストは、FlineEFFパターンのファクトです。 これには、様々な計算を実行するために使用できる関数が含まれます。 したがって、作成する式には、パターン、ファクトおよび関数が含まれます。
-
ダイアログの上部近くにあるウィンドウで、
String
という単語を拡張可能フレックスフィールド条件のコンテキストに置き換えます。 この例では、String
をCompliance
に置き換えます。たとえば:
-
OK > OKをクリックします。
-
「右値」をクリックします。
-
条件ブラウザで、「DooSeededOrchestrationRules > ブール」を展開し、TRUE > OKをクリックします。
たとえば:
コンプライアンス・ステータスに従って明細を選択
テストを追加します。
-
コンプライアンス・ステータスという名前のフレックスフィールド属性の値が未合格の場合
式を作成します。
左式 |
オペランド |
右式 |
---|---|---|
flineEFF.getFlexAttributeValue("_Compliance_Status") |
次である |
"不合格\ |
コンプライアンス・ステータスに従って明細を選択します。
-
追加したテストで、右の値拡大鏡のすぐ右側にある「下向き矢印」をクリックし、「簡易テスト」をクリックします。
-
「左の値」をクリックします。
-
条件ブラウザで、「式ビルダー」をクリックします。
-
式ビルダーで、「関数」をクリックし、FlineEFF.getFlexAttributeValue(String)をクリックして、「式に挿入」をクリックします。
たとえば:
-
ダイアログの上部近くにあるウィンドウで、Stringという語をフレックスフィールド属性の名前に置き換えます。
関数で属性名の前にアンダースコアを使用する必要があります。 属性名はCompliance_Statusであるため、_Compliance_Statusを使用します。
たとえば:
-
OK > OKをクリックします。
-
Isの右側のフィールドに、
"Not Passed"
と入力します。二重引用符( ")を含める必要があります。
ルールにテストが含まれていることを確認してください。
左式
オペランド
右式
FLineEFF.context.equalsIgnoreCase("Compliance")
次である
DooSeededOrchestrationRules.Boolean.TRUE
flineEFF.getFlexAttributeValue("_Compliance_Status")
is
"Not Passed"
手動検査が必要な履行明細の理解
文を作成します。
説明
-
結果は、DooSeededOrchestrationRulesディクショナリのファクトです。
-
resultObjKeyは、結果ファクトのプロパティです。
-
resultObjKeyには、手動検査が必要な履行明細の識別にこのルールで使用される値が格納されます。
-
Fline
は、履行明細属性を含むDooSeededOrchestrationRulesディクショナリのファクトです。 -
fulfillLineIDは、履行明細属性です。
手動検査が必要な履行明細を識別します。
-
Then領域で、「Add Action」>「Assert New」をクリックします。
-
「ターゲットの選択> DooSeededOrchestrationRules.Result」をクリックします。
-
「プロパティの編集」をクリックします。
-
プロパティ・ダイアログのresultObjKey行で、「値」をクリックします。
-
条件ブラウザで、
Fline
を展開し、fulfillLineIDをクリックし、OKをクリックします。 -
「プロパティ」ダイアログは次のようになります:
-
「OK」をクリックします
-
「明細選択基準」ダイアログで、「保存」をクリックします。
-
「オーケストレーション・プロセス定義の編集」ページで、「保存」をクリックします。