Siebel Product Administration Guide > Product and Promotion Eligibility and Compatibility >

Defining Eligibility for Product Attributes


You can define the eligibility for individual attributes of products. For example, only customers living in certain countries are eligible to buy a shirt in a specific color. All customers are able to buy the same shirt in any other color.

When a configuration session is started, all the possible attribute values belonging to the attributes marked as requiring an eligibility check are evaluated:

  • If the eligibility display is Mode 1, the invalid attribute values are displayed in red within the configuration session.
  • If the eligibility display is Mode 2, the invalid attribute values are not displayed in the configuration session UI (unless they are already selected).

When an attribute value is changed, only the new selection is evaluated for eligibility (post-pick). The ineligibility reason is used by the Siebel Configurator UI in the messaging.

You must create custom PSP procedures to evaluate the attributes. The framework that calls these custom procedures and communicates with the user is delivered as part of the application, including:

  • Ability to assign an evaluation procedure to an attribute.
  • Evaluation of attribute eligibility within a configuration session.
  • Creation of context and row set data used by the custom PSP procedure.
  • Attribute eligibility related messaging within a configuration session. If the user selects an invalid attribute, Siebel Configurator displays a message telling the user to click the Undo button.

Saving the Result of Attribute Eligibility

Attribute eligibility status and reason are not saved to the quote or order objects when a configuration session is completed. It is not possible to save these with the configuration changes alone, because the values are not saved to the CxObject in memory.

However, it is possible to save these results using the BatchValidate API for Siebel Configurator, described in BatchValidate Method. This API can run attribute eligibility. The ineligible attributes are sent to a log file. The output property that is set from this API contains information on the ineligible attributes.

It is possible to add a custom step to the Sales Order verify process that calls the batch validate API. This step can update the custom fields on the Order XA business component indicating an attribute value as being ineligible. The Order Validation engine then checks that field to confirm that no ineligible values are selected.

Attribute Eligibility Architecture

Attribute eligibility checking uses the following architecture:

  • For attributes requiring an eligibility check, the user creates a custom PSP procedure and attaches it to this attribute when it is defined on the class.
  • When the configuration session is started, for each attribute that will be evaluated for attribute eligibility, a context row set, row set, and additional parameters are generated, and then the custom PSP procedure is called.
    • The context row set is based on the variable map Cfg Eligibility Variable Map - Context.
    • The row set is a list of all possible values for the attribute.

      NOTE:  When an attribute value is changed, the same events occur except that the only value evaluated is the new value selected.

  • The custom procedure evaluates each value in the row set to find values that are ineligible, and the custom procedure creates the following variables with the following values:
    • Eligibility Status = N
    • Eligibility Reason = user defined message
  • With the default Eligibility Display Mode of 1, the Siebel Configurator UI uses this status to determine which selections are displayed in red.
  • If Eligibility Display Mode was set to 2, then the ineligible values are not displayed.
  • The Siebel Configurator UI uses the Eligibility Reason in the message displayed when the end user selects an invalid attribute value.

Setting Up Attribute Eligibility Checking

This topic describes the high-level steps for setting up attribute eligibility checking.

Writing a Custom PSP Procedure to Check Eligibility

You can use a given procedure to evaluate one attribute or many attributes:

  • Use conditional statements to use one procedure to evaluate multiple attributes that have different evaluation criteria.
  • Or create one procedure for each attribute.

Typically, the custom procedure includes the following steps:

  • In a step of the PSP procedure, log the Context property set.
  • In a step of the PSP procedure, log the RowSet property set.
  • In a step of the PSP procedure, set all rows to Eligible by default before evaluating the row set:
    • This step uses the Row Set Transformation Toolkit business service, Conditional Action Transform Method.
    • Input arguments are shown in the following table.
      Input Argument
      Type
      Value
      Property Name

      On Default 1

      Literal

      {Row.Eligibility Status} = LookupValue('PEC_ELIG_STATUS_CD','Y')

       

      Row Set

      Process Property

       

      Row Set

    • Output arguments are shown in the following table.
      Property Name
      Type
      Value
      Output Argument

      Row Set

      Output Argument

       

      Row Set

  • In one or more steps of the PSP procedure, check attributes for eligibility:
    • This step uses the Row Set Transformation Toolkit business service, Conditional Action Transform method.
    • Input arguments include conditional statements that check whether the value entered is eligible.
    • Output arguments set rows to ineligible if these conditions are true.
  • In Administration - Order Management, then the Message Types view, define the error message.
  • In Administration - Order Management, then the Payload view, create payload variable records.
  • In a step of the PSP procedure step, assign context and rowset values to the message payload variables.
Creating the Attribute and Assigning It to a Product Class

Create the attribute and assign it to a product class in the usual way, described in Process of Creating Products with Attributes.

In the Administration - Product, Product Classes, Version, and then the Attributes view:

  • In the Check Eligibility field, select the checkbox for any attribute whose eligibility you want to check.
  • In the Eligibility Procedure field, select the custom PSP procedure that you created to check the eligibility of this attribute.

Changing the Context and Rowset Variable Maps

You can change the context and rowset variable maps used by the attribute eligibility procedure. The variable map is set as a parameter in the LoadInstance signal and the SetInstance signal. The name of the parameter is Context Variable Map. By default, it has a value of Cfg Eligibility Variable Map - Context.

The rowset for attribute eligibility is generated without a variable map. It contains only one property: value.

Using Different Display Modes for Attribute and Product Eligibility

You can have different display modes for Attribute eligibility and for Product eligibility. Change the display mode for attribute eligibility by adding the EligiblityDisplayMode parameter to the SetInstance and LoadInstance signals and giving it the value of 0, 1, or 2. This overrides the application's EligibilityDisplayMode setting.

Siebel Product Administration Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.