How to Set Up Custom Qualifiers Based on Order Header Extensible Flexfields

Here's how you can set up and use custom qualifiers based on order header extensible flexfields in your Supplier Ship and Debit programs.

Identify the Order Header Flexfields

  1. With roles having the required access, navigate to the Setup and Maintenance work area.
    • Offering: Order Management
    • Functional Area: Orders
    • Task: Manage Order Extensible Flexfields
  2. On the Manage Order Extensible Flexfields page, in the Search area, enter Header Information as the name, then click Search.
  3. Select the flexfield from the search results and click Edit.
  4. On the Edit Extensible Flexfield: Header Information page, click to expand Additional Header Information in the Category section.
  5. On the Associated Contexts tab, click Manage Contexts, create a new context with required details, and then save your work. For example:
    Field Value
    Display Name Channel Program2
    Code Channel Program2
    API Name ChannelProgram2
    Enabled Ensure that the check box is selected
    Behavior Single Row
    Description Channel Program Qualifier
    Context Usages Additional Header Information

    Add these additional details to your sales order through Order Management > Create Order > Actions > Edit Additional Information.

  6. In the Context Sensitive Segments section of the Edit Context page, click Actions > Create to add a new segment for example:
    Field Value
    Name Service Level
    Code Service Level
    API Name serviceLevel
    Enabled Ensure that the check box is selected
  7. Click Create Value Set.
  8. On the Create Value Set page, enter the details, and save your work. For example:
    Field Value
    Value Set Code Service Level
    Description Service Level
    Module Order Management
    Validation Type Independent
    Value Data Type Character
  9. In the Definition section, enter the following details, and save your work. For example:
    Field Value
    Value Subtype Text
    Maximum Length 10
  10. Click Manage Values and ensure that the values are enabled, and save your work. For example:
    Attribute Value Description
    Value Gold Gold Level
    Value Silver Silver Level
    Value Bronze Bronze Level
  11. Return to the Create Segment page, enter the required details, and save your work. For example:
    Region Attribute Value
    Column Assignment Data Type Character
    Column Assignment Table Column ATTRIBUTE_CHAR1
    Validation Value Set Service Level
    Validation Value Set Description Service Level
    Display Properties Prompt Service Level
    Display Properties Display Type List of Values
    Display Properties Display Size 10
    Display Properties Display Height 1
  12. On the Edit Context page, ensure that the details in the Context Sensitive Segments section show accurately. For example:
    Field Value
    Sequence 10
    Name Service Level
    Code Service Level
    Value Data Type Character
    Display Type List of Values
    Value Set Service Level
    Enabled Ensure that this check box is selected
    Prompt Service Level
  13. Navigate to the Manage Context page and search for the Header Information EFF and click Edit.
  14. On the Edit Extensible Flexfield: Header Information page, select Additional Header Information from the Category list and add an Associated Context in the Additional Header Information Details section.
  15. Search for and add the context you created. For example, Channel Program2. Save your work.
  16. Click on the Pages tab. Click Actions > Create to create a new page and add the required details. For example:
    Field Value
    Display Name Channel Program Qualifiers2
    Code Channel Program Qualifiers2
    Description Channel Program Qualifiers
    Usage Additional Header Information
  17. Select the page you just created, search for, and associate the context you created with this page. For example, Channel Program2. Save your work.
  18. On the Manage Order Extensible Flexfields page, search for the Header Information extensible flexfield, and click Deploy Flexfield. Wait for the deployment dialog to indicate that deployment successfully finished, then click OK.
  19. Verify your setup.

Download the Flexfield Archive and Obtain the View Object Details for the Extensible Flexfields Context

  1. From the Manage Order Extensible Flexfields page, select your flexfield.
  2. From the Actions menu, select Download Flexfield Archive. Wait for the dialog to indicate that the archive successfully finished, then click Download. Save the 10008_DOO_HEADERS_ADD_INFO.zip file to your local hard drive.
  3. Open the file, extract, and get the information for the context from the location:
    10008_DOO_HEADERS_ADD_INFO\oracle\apps\scm\doo\processOrder\flex\headerContextsB\view
  4. Open the XML file HeaderEffBChannelProgram2privateVO.xml. See the VO name for your flexfield. For example, name = HeaderEffBChannelProgram2privateVO.
  5. You can also get the attribute name from the XML file. For example, ViewAttribute Name=serviceLevel.

Manage Service Mapping Setup Using Sandbox after Identifying the Order Extensible Flexfields

  1. With the appropriate pricing administrator role, navigate to the Sandboxes page.
  2. In the Navigator, click Sandboxes.
  3. On the Sandbox page, click Create Sandbox.
  4. On the Create Sandbox page, enter a name for the sandbox.
  5. Select the check box for the Manage Service Mappings tool, then click Create and Enter.
  6. Navigate to the Pricing Administration work area. Select Manage Service Mappings from the panel.
    Note: A yellow banner displays at the top of the page to indicate that you're in the sandbox.
  7. On the Manage Service Mappings page, click Sales. Pricing comes predefined with the Sales service mapping that prices sales orders and order lines.
  8. On the Edit Service Mappings: Sales page, click the Entities tab. You use the Entities tab to define the entity and its attribute details that receive the output of the service mapping. On the Entities tab, click Action > Add Row, and enter the following details:
    Field Value
    Entity Name of your entity, for example, ServiceLevel_Custom
    Description A description containing information about the entity for the flexfield on the order header.
  9. In the Details section, add the following attributes, for example, and then save your work.
    Attribute Type Primary Key Allow Null
    HeaderId_Custom Long Selected Selected
    ServiceLevelCode_Custom String Leave this blank Selected
  10. To specify the services, click the Services tab, and select ProgramEligibility.
  11. In the Program Eligibility: Details section, select the Entities tab, click Actions > Add Row, enter the following values, for example, and then save your work.
    Field Value
    Entity ServiceLevelCode_Custom
    Read Selected
    Write Selected
  12. In the Details section, add the following attributes, for example, and then save your work.
    Attribute Alias Read Write Parent Attribute
    HeaderId_Custom Leave this blank. Selected Leave this blank. Leave this blank.
    ServiceLevelCode_Custom Leave this blank. Selected Leave this blank. Leave this blank.
  13. On the Edit Service Mappings: Sales page, select the Sources tab. Pricing comes predefined with the Sales service mapping that prices sales orders and order lines.
  14. For each of the following sources, add the entity you created, and add the following details in the Entity Mappings tab of the Details section:

    Source - ChannelProgramsforOrder

    Field Value
    Source ChannelProgramsForOrder
    Entity The name of the entity you created. For example, ServiceLevel_Custom
    Type View object
    View Object The name of the view object. You retrieve this information from the downloaded flexfield definition XML file. For example, HeaderEffBChannel__Program2privateVO
    Query Type Unique identifier
    Query Attribute HeaderId

    In the details section of your entity, click the Attributes Mappings tab. Enter the attributes of the entity that you created and the view object attributes from the XML file, for example:

    Field Value
    HeaderId_Custom HeaderId
    ServiceLevelCode_Custom serviceLevel

    Source - ChannelProgramsforOrderLine

    Field Value
    Source ChannelProgramsForOrderLine
    Entity The name of the entity you created. For example, ServiceLevel_Custom
    Type View object
    View Object The name of the view object. You retrieve this information from the downloaded flexfield definition XML file. For example, HeaderEffBChannelProgram2privateVO
    Query Type Unique identifier
    Query Attribute HeaderId

    In the details section of your entity, click the Attributes Mappings tab. Enter the attributes of the entity that you created and the view object attributes from the XML file, for example:

    Attribute View Object Attribute
    HeaderId_Custom HeaderId
    ServiceLevelCode_Custom serviceLevel

    Source - ManualChannelProgramsforOrder

    Field Value
    Source ManualChannelProgramsForOrder
    Entity The name of the entity you created. For example, ServiceLevel_Custom
    Type View object
    View Object The name of the view object. You retrieve this information from the downloaded flexfield definition XML file. For example, HeaderEffBChannel__Program2privateVO
    Query Type Unique identifier
    Query Attribute HeaderId

    In the details section of your entity, click the Attributes Mappings tab. Enter the attributes of the entity that you created and the view object attributes from the XML file, for example:

    Attribute View Object Attribute
    HeaderId_Custom HeaderId
    ServiceLevelCode_Custom serviceLevel
  15. Click Save.

Pricing Algorithm Setup

Note: If you have implemented algorithm extensions for the Get Eligible Programs algorithm, then you must perform the Merge Algorithm Extensions steps described in the Post-Update Steps section of the Oracle SCM Cloud: Performing Your 22C Quarterly Update guide available from Oracle Fusion Cloud SCM: Performing Your Quarterly Update (Doc ID 2337485.1).

After making any customizations, you must update the changes in the Pricing algorithm and publish it.

  1. From the Navigator, select Pricing Administration.
  2. From the Tasks panel, click Manage Algorithms. Select the algorithm for program eligibility, Get Eligible Programs.
    Note: You can either create a new version of Get Eligible Programs or you can modify the existing version. To modify the existing version, first set it to inactive, make the changes, make it active again, and then publish it.
  3. If you're setting up for supplier rebate programs, then on the Edit Algorithm: Get Eligible Programs page, from the Algorithm tab, select the step Process Supplier Rebate Programs. Select the Process Each Program Header row, then select Process Header Eligibility, , and then select Invoke Header Eligibility Matrix. Add the entity you created using Service Mappings. Add the following details below the Header data set row:
    Field Value
    Name Enter your custom entity name here. For example, ServiceLevel_Custom.
    Variable Path Add the variable path to your custom entity here. For example, EligibilityRequest.ServiceLevel_Custom.
    Primary Leave this blank.
    Cardinality Zero or one
    Data Set Join [HeaderId_Custom:{Header.HeaderId}]
    Order By Leave this blank.
  4. If you're setting up for supplier ship and debit or customer rebate programs, then on the Edit Algorithm: Get Eligible Programs page, from the Algorithm tab, select the step Process Supplier Ship and Debit or Customer Rebate Programs. Select the row Process Eligible Program Headers and add the entity you created using Service Mappings. Add the following details below the Header data set row:
    Field Value
    Name Enter your custom entity name here. For example, ServiceLevel_Custom.
    Variable Path Add the variable path to your custom entity here. For example, EligibilityRequest.ServiceLevel_Custom.
    Primary Leave this blank.
    Cardinality Zero or one
    Data Set Join [HeaderId_Custom:{Header.HeaderId}]
    Order By Leave this blank.
  5. On the Edit Algorithm: Get Eligible Programs page, in the Data Sets section of the Algorithm tab, select Process Each Program Candidate, select Process Program Eligibility and select the Invoke Program Eligibility Matrix Row add the entity you created using Service Mappings. Add the following details below the Header data set row:
    Field Value
    Name Enter your custom entity name here. For example, ServiceLevel_Custom.
    Variable Path Add the variable path to your custom entity here. For example, EligibilityRequest.ServiceLevel_Custom.
    Primary Leave this blank.
    Cardinality Zero or one
    Data Set Join [HeaderId_Custom:{Line.HeaderId}]
    Order By Leave this blank.
  6. Verify your setup, save, and then click Actions and Publish to publish the algorithm.

Adding the Qualifier

  1. In the Setup and Maintenance work area, go to:
    • Offering: Order Management
    • Functional Area: Channel Revenue Management
    • Task: Manage Channel Lookups
  2. On the Manage Channel Lookups page, search for ORA_CJM_QUALIFIER_TYPE as the Lookup Type.
  3. Click Action > New to add the following lookup code:
    Field Value
    Lookup Code Enter a name here. For example, SERVICE_LEVEL.
    Enabled Selected
    Meaning Service Level
  4. Click Save and Close.
  5. From the Navigator, select Pricing Administration.
  6. In the Overview page, from the Tasks panel select Manage Matrix Classes.
  7. In the Manage Matrix Classes pages, select Channel Program Eligibility.
  8. Field Value
    Name Add the name of the qualifier that you entered in the lookup to the Condition Columns of the Edit Matrix Class: Channel Program Eligibility page. For example, Service Level Equals.
    Source Code Name Enter the lookup code that you entered in ORA_CJM_QUALIFIER _TYPE concatenated with the operator abbreviation. The source code name of the matrix condition must match the newly created lookup code. The supported operator abbreviations are E for equal to, NE for not equal to, EGT for greater than or equal to, and ELT for less than or equal to. For example, SERVICE_LEVEL_E.
    Comparison Choose the comparison operator. For example, =.
    Compare to Attribute

    Select the required attribute. If you're unable to view the attribute, make any update to the description of the Channel context and save it before publishing the sandbox.

    Note: The format of the Compare To Attribute must be Entity Name.Attribute Name (from Service Mappings). For example, ServiceLevel_Custom.ServiceLevelCode_Custom
    Required Leave this blank.
    Allow Null Selected
    Null is Wildcard Selected
  9. Click the icon next to Domain to edit the column domain values.
    Field Value
    Name Enter a name here. For example, Service Level Equals.
    Default Value Leave this blank
    Default is fixed value Don't select this.
    Domain Type Custom
    Data Type Text
    Add the required Domain Values, for example:
    Field Value
    Domain Value Gold
    Display Value Gold
    Domain Value Silver
    Display Value Silver
    Domain Value Bronze
    Display Value Bronze
  10. Click Save and Close.

You can now add the qualifier value used in the program in the EFF context field to the sales order line additional information.