Deriving / Passing In Characteristic Values

CAUTION: This is an advanced, technical concept.

This is a very common technique and is easy to understand. However, there are situations when an entity in Oracle Revenue Management and Billing doesn't contain the appropriate characteristic value and therefore other techniques must be used. These techniques may not apply to your implementation, but they're worth understanding to help you form an intuitive understanding of rate application:

  • There are implementations that only use the Oracle Revenue Management and Billing rating engine. These implementations do not setup accounts, etc. Rather, they simply setup their rate schedules, rate components, and bill factors and then call the rating engine from another application. This means the rate engine can't retrieve characteristic values from within Oracle Revenue Management and Billing (because there are no objects on which the characteristic values can be defined). In this situation, the application that calls the rate engine must supply the characteristic types and values to be used when a bill factor requires this type of information.
  • Assume you have a charge that is based on the account's customer class and the contract's revenue class. This type of charge's characteristic value is not extractable from a single entity. Rather, the system must construct the characteristic value real-time by concatenating information from the account and contract being billed. In this situation, you can use an SQ rule to derive this characteristic type and value. This SQ rule would create a characteristic type and value real time by concatenating the account's customer class and the contract's revenue class. This characteristic type and value only exists in memory while rate application executes. This is an example of the system deriving a characteristic value as opposed to it being passed in or retrieved from another object in the system.

When you setup a bill factor to use a characteristic whose value is derived or passed in, you need to define its characteristic source as Characteristics Collection. This source tells the system to extract the characteristic value from memory rather than extracting it from an object within the system.

Note: The various plug-in spots on a rate component have access to the Characteristics Collection. You might find this useful if you have a rate component that needs to calculate characteristic values for subsequent rate components.