Another Example of Using Extensible Flexfields In Line-Selection Rules

Create a line selection rule that references an extensible flexfield.

  • If the value in the CoverageProduct extensible flexfield doesn't contain a check mark, then reserve the item and process the fulfillment line.

Fulfill order lines according to the value of an extensible flexfield.

  1. Go to the Setup and Maintenance work area, then go to the task:

    • Offering: Order Management

    • Functional Area: Orders

    • Task: Manage Orchestration Process Definitions

  2. On the Manage Orchestration Process Definitions page, locate the orchestration process you must edit then click Actions > Edit.

  3. On the Edit Orchestration Process Definitions page, in the Process Details area, in the Step Definition list, in the row that contains the reservation step, in the Line-Selection Criteria column, click Click for Rule.

  4. In the Line-Selection Criteria dialog, add values.

    dialog Line-Selection Criteria

    Use tree mode to include an extensible flexfield in the root hierarchy of an orchestration rule. The hierarchy includes extensible flexfield variables so it isn't necessary to add more tests when you define the hierarchy.

  5. Define IF statements.

    • header is a DOOSeededOrchestrationRules.DOOHeader

    • fline is a header/childFlines

    • flineEFF is a header/childFLines/flexContexts

    where

    • header is a variable that stores the order header.

    • fline is a variable that stores the fulfillment line.

    • flineEFF is a variable that stores the extensible flexfield.

    For example:

    adding variables in dialog
  6. Create an expression that looks up the extensible flexfield value in the tests.

    • flineEFF.context.equalsIgnoreCase("ProductInfo")

      For example:

      expression that looks up the extensible flexfield value in the tests
  7. Create tests.

    Code

    Description

    flineEFF.context.equalsIgnoreCase("ProductInfo") is DooSeededOrchestration Rules.Boolean.TRUE

    Make sure the item isn't a coverage item.

    flineEFF.getFlexAttributeValue("CoverageProduct") isn't null

    Make sure the value in the flexfield isn't empty.

    For example:

    adding tests to the rule
  8. Create an action.

    • Assert new DooSeededOrchestrationRules.Result(resultObjKey:fulfillLineId)

      This action creates the result to use for the fulfillment line that satisfies the If statement.

      In the Condition Browser, select the attribute. This attribute sets resultObjKey to the run-time value of the fulfillLineId.

      For example:

      creating the action