Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Sap Brim Overview

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 53
At a glance
Powered by AI
SAP BRIM is a comprehensive billing solution for telecom, utilities and other industries. It provides consolidated billing from multiple streams and supports complex discounting. The main components are Subscription Order Management, Convergent Mediation, Convergent Charging and Convergent Invoicing.

The main components of SAP BRIM are Subscription Order Management, Convergent Mediation, Convergent Charging and Convergent Invoicing. Subscription Order Management handles product and service subscriptions. Convergent Mediation provides standardized data mediation. Convergent Charging handles pricing, charging and refilling. Convergent Invoicing consolidates charges into a single invoice.

Subscription Order Management enables customers to offer business solutions as a combination of products, subscriptions to recurring and usage-based services, and one-off charges based on consumption pricing.

SAP BRIM (SAP BILLING AND REVENUE INNOVATION MANAGEMENT)

INTRODUCTION

SAP BRIM, previously known as SAP Hybris Billing, is a comprehensive solution for high-volume consumption
businesses like telecom, utilities, media, and entertainment industries etc.

SAP BRIM provides a combination of multiple billing streams and allows to bill to a single invoice. SAP Hybris
Billing includes support for complex discounting including invoice level discount and customer level discounts.
Hybris Billing supports full revenue management practices.

COMPONENTS OF SAP BRIM

Subscription order management (SOM)

Convergent Mediation (CM)

Convergent Charging (CC)

Convergent Invoicing (CI)

SUBSCRIPTION ORDER MANAGEMENT:

Subscription order management is an integral part of the end-to-end SAP BRIM solution. Subscription Order
Management enables SAP Customers to offer their business solutions as a combination of products and
subscriptions to services (recurring fees, usage-based charges, and one-off charges, based on consumption
pricing mode.

Convergent Charging (CC):

SAP CC is a solution for pricing, charging, and refilling processes. Can use the panel of tools to streamline the
way you create pricing element with charges, charge plans, and refill plans.

Convergent Invoicing (CI):

Convergent invoicing involves pulling information together from different billing streams and individual-rated
events and consolidating charges into a single invoice.

Convergent Mediation (CM):

SAP Convergent Mediation is an SAP partner product developed by Digital Route. Its role is to enable a
standardized approach to data mediation.

Enterprise structure: Enterprise structure is the organization structure as represented in SAP system.
Enterprise structure is the basis for the configuration of other parameters. It’s primarily defined with three
primary domain areas and is very similar to the finance organization structure used in an organization or sales
organization structure used in SAP.

 Company code
 Assigning company code to company
 Sales organization
 Distribution channel
 Division
 Sales area
 Plant
 Assigning distribution channel, division to sales organization
 Assigning sales org to sales area
 Assigning plant to company code

Master data: Master data refers to all data about basic objects used in business transactions in SAP
and stored on a long-term basis, such as data on accounts, products, installed bases, or warranties.

Master data consists of

Customer/vendor Master Data (Business Partner, Contract account, Org unit)

Product/ Material Master Data (Material, Item category)

Pricing Master Data (Pricing conditions)

Business Partner:

Business partners represent all parties involved in business transactions, such as persons, groups of
persons, and organizations (customer, debtor, creditor, or supplier).

For business partners who should be used as contract partners in subscription order processing, add
the role Customer (FLCU01) or any other role belonging to this category.

For business partners associated with sales processes executed in S/4HANA, add the role  FI
Customer (FLCU00).

For business partners working with provider contracts in SAP Contract Accounts Receivables and
Payable (FI-CA), add the role Contract Partner (MKK).

Contract Account:
In the contract account, you can store controlling data for long-term business relationships with a business
partner.
This function allows you to create one or more contract accounts for each of your business partners so
you can use them to save data relevant for business transactions with the respective business partner.
Organizational Unit:
An object that is used for mapping the organizational structure of a company in an organizational model.
Each organizational unit is defined in more detail by its unit function and unit role.
You can use this object as the basis for an organizational model by arranging organizational units
hierarchically and therefore mirroring the structure of your company.

Products/Material:

A tangible or intangible good that is part of the business activities of a company. It can be traded, and
it contributes directly or indirectly to the value chain.
You identify each product with a unique product number, an appropriate description, and a value for
the base unit of measure.

Transaction types:
A transaction type defines the attributes and characteristics of a business transaction (for example,
subscription order and subscription contract) and the controlling attributes (for example, text
determination procedure, partner determination procedure, status profile, organizational data
profile). A transaction type controls how a specific business transaction is processed.

Standard Transaction types : PRVO, PRVC

Item categories:

An item category is used to define if an item is suitable for billing or pricing. It defines the additional
control functions for a sales document. Example − A standard item function is totally different from
the function of a free of charge item or a text item.

Standard item categories : PROP, PRCP

 Item category group: item category group determines how a material is processes in the
order.
PRRP

 Item category determination: This determination method uses condition techniques.

Subscription order:

A subscription order is a special sales order that you can use to sell products or product bundles that consist of
subscriptions to services (usage-based charges, recurring and one-time charges) and physical goods.

Subscription contract:

A subscription contract manages the long-term agreement for a technical service that the provider company
offers to the customer. It is represented by a main subscription contract item within a subscription contract
document. A subscription contract document contains one or more subscription contracts. If it contains
multiple subscription contracts, they are not dependent on each other. A typical subscription contract contains
the following information

Date profiles:

The date profile controls which date types, time durations, reference objects, and date rules can be used in a
specific transaction type or item category. For subscription orders and contracts two date profiles are defined,
one on a header level and the other on an item level.

Action Profiles:

In order to manage any of the events/notifications/API’s triggers as soon as order has been saved or during the
order process, Action Profiles will be helpful to trigger. Action Profile is linked/mapped to Date Profiles.

Rate components:
Type of rate component Activation Usage example
Usage Each usage Telephone call
Recurring Periodic Monthly fees
One-Shot Once only Administration fees

Icon Name Action/Usage


Usage Rate Calculates the price of a usage event. This Rate is activated each
time a customer service is used (or consumed).
Recurring Rate Calculates a price on a periodic basis: Day, week, month, and year.
For example, the Recurring Rate can be used in the case of
subscriptions or contracts or line rental.
One-Shot Rate Calculates the price of a one-shot event such as the activation, the
suspension, or the resumption of a subscription or contract.

FUNCTIONS
Flat Function

 The Flat Function component provides a constant amount based on a constant value or a numerical


property expressed in the currency of the plan.

Use

In a price plan, the Flat Function component allows you to assign a constant price to a consumed service. This
constant price is represented by a value or a numerical property and is expressed in the currency of the plan.

Note

The usage of the Flat Function component with a zero amount generates transactions while the Free
Function component never generates any transactions.

In a pricing macro, the component returns a priced amount with no currency.

Example

You propose an Internet subscription that consists of a monthly connection plan for $15 per month. Using a
Flat Function component, you can bill this subscription by assigning the value of $15 to the monthly
subscription price.

Instead of indicating a numerical value, you can assign a price by using a numerical property. For example, if
the subscription corresponds to several plans whose price varies according to the number of hours, you can
create a fixed price parameter that takes different values according to the number of hours. Using the Flat
Function component, you assign the fixed price to the monthly subscription price.
Free Function

 The Free Function component represents a free service in the decision tree. It does neither calculate
any amount nor create any transactions (charged items) for billing systems. It must be used only if you do not
need to produce a transaction. Because no transaction is created, the branch including the Free
Function component is not rated at runtime.

Use

The Free Function component is used only when:

 The consumed service is free.


 It is not necessary to keep a record of the transaction.
Caution

When the related price plan uses a Free Function component, no accounting transactions are created;
therefore, you cannot rerate transactions. To create transactions, use the Flat Function component with a zero
amount instead of the Free Function component.
Example

You propose a special offer to try out an Internet connection for one month free of charge. At the end of one
month, this offer becomes invalid. If the customer wants to continue the service, you propose a different offer.
Because you do not need keep a record of connections during the limited free offer period, you can use a Free
Function component.
Generic Function

 The Generic Function component computes an amount P with one of these three formulas:

 P = A.X + B
 P = A.X.Y + B
 P = A.X + B.Y + C
Where:

 A, B and C are numerical values expressed in the currency of the plan


 X and Y are mathematical expressions which combine a numerical property, an operator, and a
numerical value. For example, X = Duration multiplied by 5, or Y = Duration plus 10, in which Duration
is a numerical property.
You can apply the following operations to the numerical properties:

 Addition
 Subtraction
 Multiplication
 Division

Use
You use a Generic Function component when you want to calculate a price that uses numerical properties.

Example

In a chargeable item class called Video Conference, you charge the customer $0.10 per videoconference
minute. This price is multiplied by the number of members, and then added to a fixed amount of $15. To
compute the price of a Video Conference, you use a Generic Function component according to the formula
AXY + B, in which A, X, Y, and B have the FOLLOWING VALUES.

Linear Function

 The Linear Function component computes an amount P with the formula P = A.X + B where:

 A and B are numerical values or numerical properties


 X is a numerical property

Use

You can use the Linear Function when you want to calculate a price with numerical properties of the plan.

Example

In a chargeable item class called Telephone Services, you charge the customer $0.10 per call minute. To
compute the price of a telephone call, you use a Linear Function component with the following values:

A X B

$0.10 Call duration property (in minutes) 0

Macro Function

 The Macro Function component allows you to use an existing pricing macro to calculate a final amount.
Because a pricing macro cannot be inserted in a decision tree, you must use a Macro Function:

 To select a pricing macro


 To provide values to the pricing macro
The Macro Function uses the properties of the plan to provide the values to the pricing macro.

Use

You use the Macro Function to integrate an existing pricing macro at the end of a decision tree branch. The
amount calculated in the pricing macro is the final amount of the branch.

Example

In a chargeable item class called Communication, you charge the customer according to the type of
communication. The pricing rule is described in a unique Pricing Macro that completely calculates the final
price. You can use the Macro Function component to integrate this Pricing Macro into each price plan that
relates to the Communication chargeable item class.
No Access Function

 The No Access Function component indicates an unauthorized use of a service, an invalid access, or an


unexpected case when usage events are processed. When it is inserted in a branch, the No Access Function
rejects the usage tickets and returns an information message to the process.

Use

The No Access Function allows you to control certain access rights such as:

 Exceeding the consumption limit


 Prohibiting international telephone calls
Note

The No Access Function:

 Can be used only in Usage Rate-type branches


 Does not calculate prices and cancels counter updates
 Appears in the decision tree with the default Name “Access Denied”
Example

In a chargeable item class called Telephone Service, every consumption is billed according to the dialing codes
of the called number. The dialing codes are tested in the price plan which includes a No Access component in a
branch. When no value corresponds to a dialing code of the called number, the No Access component is
activated.
Polynomial Function

 The Polynomial Function component calculates an amount by computing the sum of n numbers of


terms in the form of AXY such as: A1X1Y1 + A2X2Y2 + ... + AnXnYn where:

 A and n are numerical values


 X and Y are numerical properties

You can select different numerical properties for each AXY term or reuse the same properties several times.

Use

The Polynomial Function is used when an amount is calculated with two or more numerical properties. It
allows you to multiply numerical properties two by two for each term, and then add up the results.

Example

In a chargeable item class called Video Conference, you charge the customer $0.10 per videoconference
minute. This price is multiplied by the number of members, and then added to a price that varies according to
the distance ($0.05 cents per kilometer). To compute the price of a Video Conference, you use a Polynomial
Function component with the following values:

Term of the polynomial sum A X Y

1 $0.10 call duration (in minutes) number of members

2 $0.05 distance (in kilometers) None

The polynomial sum is made up of two terms and equal to:

 0.10 * call duration * number of members + 0.05 * distance (with * as the multiplier sign)
Using the table in the Definition tab, you can express this polynomial expression as follows:
Comparison Components

A comparator component compares properties of the same type. The comparator component can compare
the properties of chargeable item classes, parameters, counters, or properties generated by another logic
component. When you insert it in the decision tree, the comparator component creates one or more branches
depending on the type of comparison.

Several types of comparator component are available depending on the type of the property used for
comparison. For example, you can use:
 A Numerical Comparator component to compare the value of a numerical property with another
value

 A Date Comparator component to compare a date property type with time slots

Date/Time Slot Comparator

 The Date / Time Slot Comparator compares a date property with one of the following time slots:

 Daily
 Weekly
 Monthly
 Yearly

The comparison is true when the date property is inside the selected time slot.

When you insert it in the decision tree, the Date / Time Slot Comparator component creates two separate
branches:

 A branch that is activated when the comparison is true


 A branch that is activated when the comparison is false

When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices which vary from one time period to another time period,
you may need to compare a date with a time slot. To use the Date / Time Slot Comparator inside your price
plan, do the following:

1. After you add the component, choose the date and the time slot.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

Within the context of a promotional offer that contains a calling plan, you want to implement a special price of
$0.02 per minute for telephone calls that start during the weekend. The standard price is $0.04 per minute.
The following table presents the information that you need to set up the Date / Time Slot component inside
your price plan:

Data Settings

Property date Start date of the phone call

Time slot parameters Type: Weekly.

From Wednesday at 10:00 PM To Monday at 6:00 AM.

Pricing rules Price that is applied to the “is in the time slot” branch: $0.02 per minute.

Price that is applied to the “is out of the time slot” branch: $0.04 per minute.

Dates Comparator

 The Dates Comparator component compares two date properties. Six comparison operators are
available:

 Has the same


 Is equal to
 Is after
 Is strictly after
 Is before
 Is strictly before

The comparison is true when a date property matches a reference date or defined constraints.

When you insert it in the decision tree, the Dates Comparator component creates two separate branches:

 A branch that is activated when the comparison is true


 A branch that is activated when the comparison is false

When the component is executed, only one branch is activated depending on the test result.
Use

In a price plan, if you want to apply different prices to branches, you may need to compare a date property
with a reference date. To use the Dates Comparator component in the price plan, do the following:

1. After you add the component, choose a date property, a reference date or define constraints.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

In the context of a special "end of the year" promotional offer, a telephone operator wants to charge a special
price ($0.15 per minute) for all the calls that begin on Sundays during the month of December. All the other
calls are rated at the regular price. The following table presents the information that the telephone operator
needs to set up the Dates Comparator component inside the price plan:

Data Settings

Property Call start date

First constraint Select Sunday as the Day of week

Second constraint Select December as the Month

Pricing rules Price that is applied to the is branch: $0.15 per minute.

Price that is applied to the is not branch: usual price.

Interval Switching Comparator

 The Interval Switching Comparator component compares a numerical property with intervals or values


of the same type. This component allows you to compare a numerical property with:

 One or several values


 One or several intervals
 One or several values and one or several intervals
When inserted in the decision tree, the Interval Switching Comparator component creates:

 A branch for each interval or value, which is activated if the property matches the related interval or
value.
 An additional branch that is activated if the property does not match an interval or a value.
Note

The test stops when a branch matches the comparison; therefore, the order of intervals and values is
important.

When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches according to the value of a property, you may
need to compare a property with a set of intervals. To use the Interval Switching Comparator inside your price
plan, do the following:

1. After you add the component, choose the property and the limits of the intervals or values.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

A software editor wants to determine the license price of their chargeable item class according to the number
of users, which can vary from 10 users to 50 users. An interval represents a group of 10 users. For more than
50 users, the price is $700. To determine the license price, the software editor needs to create a numerical
property called number of users and test if the property matches one of the intervals. The following table
presents the information that the software editor needs to set up the Interval Switching
Comparator component inside the price plan:

Data Settings

Property Number of users

Value “0” 0

Interval I1 From 0 to 10 users: ]0, 10]

Interval I2 From 10 to 20 users: ]10,20]

Interval I3 From 20 to 30 users: ]20, 30]

Interval I4 From 30 to 40 users: ]30, 40]


Data Settings

Interval I5 From 40 to 50 users: ]40,50]

Pricing rules Branch value 0: error message.

Branch I1: $150.

Branch I2: $280.

Branch I3: $400.

Branch I4: $500.

Branch I5: $600.

Branch “outside of interval”: $700.

Mapping Table Introducer (Comparator)

 The Mapping Table Introducer Comparator component allows you to use an existing mapping table in a
plan and set up the logic that defines the computation of the final values.

At runtime (or during trial run), SAP Convergent Charging proceeds as follows when executing the logic
component Mapping Table Introducer Comparator:

1. The SAP CC system compares row by row the input columns of a mapping table with the properties of
the plan.
2. The comparison stops when the properties match at least one row of the input columns.
3. The output columns related to the input columns are retrieved in generated properties that you can
use in the plan.
4. If no property matches the comparison, the mapping table returns a default value for each generated
property.
Note

The number of properties must be equal to the number of input columns of the mapping table.
When it is inserted in the decision tree, the Mapping Table Introducer Comparator component creates two
separate branches:

 A branch (Row found) that is activated when the comparison is true


 A branch (Row not found) that is activated when the comparison is false

When the component is performed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches according to the value of a specific property,
you may need to compare a property with a numerical value or another property.

To use the Mapping Table Introducer component inside your price plan, do the following:

1. After you add the component, choose a mapping table class, a mapping table, a date/time reference,
and two properties to compare with the input columns of the mapping table.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

An operator needs a price table to retrieve the prices of offers expressed in many currencies depending on the
validity periods of the offers. To do that in a price plan, the operator uses a Mapping Table Introducer which
contains:

 Mapping table input


o OfferCode: The offer code
o Currency: The currency for the offer code
o ValidityPeriod: The validity period of the offer code
 Mapping table output
o OfferPrice: The price of the offer expressed in the selected currency
Numbers Comparator

 The Numbers Comparator compares a numerical property with a numerical value or another numerical


property. Five comparison operators are available:

 Is equal to
 Is greater than
 Is less than
 Is greater than or equal to
 Is less than or equal to
When inserted in the decision tree, the Numbers Comparator component creates two separate branches:
 A branch that is activated when the comparison is true
 A branch that is activated when the comparison is false

When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches according to the value of a specific property,
you may need to compare a property with a numerical value or another property. To use the Numbers
Comparator inside your price plan, do the following:

1. After you add the component, choose the first property, the value or the second property to compare
with the first one, and then the Comparator operator.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

In a monthly telephone plan, calls are free if the total duration of all the calls per month does not exceed the
amount that is specified in the plan. If the total duration exceeds this amount, each call costs $0.34 per
minute. The following table presents information that you need to set up the Numbers
Comparator component inside the price plan:

Data Settings

First property Total duration of all calls per month

Comparator is greater than


operator

Second property Duration of the monthly plan

Total duration of all Price that is applied to the is greater than branch: $0.34 per minute.
calls per month
Price that is applied to the is less than or equal to branch: $0.00 per
minute (free).

Prefix Switching Comparator

 The Prefix Switching Comparator component compares a string property with prefixes of string type.
When you insert it in the decision tree, the Prefix Switching Comparator component creates:

 A branch for each prefix, the branch of which is activated if the string property matches the related
prefix.
 An additional branch that is activated if the string property does not match a prefix.
Note

When several prefixes contain identical characters, the Prefix Switching Comparator selects the prefix which
contains the most characters in common with the string property.

When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches, you may need to compare a property with a
set of prefixes. To use the Prefix Switching Comparator inside your price plan, do the following:

1. After you add the component, choose the property and the prefixes.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

An operator applies different prices to phone calls depending on the called number. The operator want to
determine the price for one minute of call time by analyzing the prefix of the called number. Using the Prefix
Switching Comparator component, the operator needs to create a numerical property called number and
compares it with other prefixes. The following table presents the information that the operator needs to set up
the Prefix Switching Comparator component inside the price plan:

Data Settings

Property Called number

Prefix P1 02

Prefix P2 06

Prefix P3 089

Pricing rules P1 Branch: $0.17 per minute.


Data Settings

P2 Branch: $0.34 per minute.

P3 Branch: $0.06 per minute.

“Other prefix” branch: $0.25 per minute.

Public Holidays Comparator

 The Public Holidays Comparator component compares a date property with one or more public
holidays.

The comparison is true when the date property matches at least one public holiday.

When you insert it in the decision tree, the Public Holidays Comparator creates two separate branches:

 A branch that is activated when the comparison is true


 A branch that is activated when the comparison is false

When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches, you may need to compare a property with a
set of public holidays. To use the Public Holidays Comparator inside your price plan, do the following:

1. After you add the component, choose the date property and the public holidays.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

An operator charges a special price for telephone calls when they begin on a holiday. To do this, the operator
compares the start date of the start of the call property to the holidays in the United States by using the Public
Holidays Comparator component. The following table presents the information that is needed to set up
the Public Holidays Comparator component inside the price plan:
Data Settings

Date property Start date of the start of the call

Public holidays US holidays

Pricing rules Price applied to the is branch: $0.15 per minute.

Price applied to the is not branch: usual price.

Range Table Introducer (Comparator)

 The logic component Range Table Introducer Comparator allows you to use an existing range table in a
plan and set up the logic that defines the computation of the final values. You can also use a parameter or a
property of the rating context to identify the range table. If you use a parameter, its value can be redefined:

 In a charge plan to refer to another range table in the pricing catalog of the service provider
 In a provider contract to refer to different subscriber range tables that are dedicated to each end
customer of the service provider
The comparison in the Range Table Introducer Comparator component mainly involves two steps:

 The comparison of input column values in the selected range table with properties of the rating
context (see Mapping of Input Properties)
 The comparison of a quantity property of the rating context with the ranges (numerical intervals) in
the selected range table (see Range Input Property)
The comparison algorithm depends on the characteristics for the selected range table. The processing depends
on the options defined for the ranges (numerical intervals):

 Upper bounds are inclusive or not.


 Last upper bound is +Infinity or is a business value.
Note

The comparison depends on the number of input columns in the selected range table:

 If the range table contains one or more input columns, the Range Table Introducer
Comparator performs the two steps.
 If the range table contains no input columns, the Range Table Introducer Comparator only performs
the second step.

For more information about range table classes and range tables, refer to the dedicated topics.
At runtime (or during trial run), SAP Convergent Charging proceeds as follows when executing the logic
component Range Table Introducer Comparator:

 The system first compares row by row the set of input column values of the range table with a subset
of properties in the rating context. The comparison stops when the subset of properties matches one
entire row of input values in the range table. If no set of input values matches the subset of properties
in the rating context, the fourth branch is (Input Values not Found) is executed.
 The system then compares row by row the ranges of the Range column in the range table with a given
property of the rating context. The comparison stops when the property matches one range of
the Range column. The output columns that relate to the selected range are retrieved in generated
properties, which you can use in the plan. If no property matches the comparison, an appropriate
branch (Is Below the First Bound or Is Above the Last Defined Bound) is executed and some default
additional values are computed (Computed Properties).
When you insert the Range Table Introducer Comparator component in the decision tree for your plan, it
creates three or four separate branches:

 A first branch (Is Below the First Bound) that is processed when the value of the range input property
is negative.
 A second branch (Is in a Range) that is processed when the value of the range input property belongs
to a range that is defined in the range table.
 A third branch that depends on the related range table class that is specified in the component:

Third branch Condition (in the range table, if the


upper bound for last range is...)

A branch (Is Above the Last Defined Bound) that is Bounded


processed when the value of the range input property is
outside the last bunded range.

A branch (Found in Last Unbounded Range) that is Unbounded (+Infinity)


processed when the value of the range input property is in
the last infinite and unbounded range.

 A fourth branch (Input Values not Found) that is processed when no combination of input values has
been found in the range table. This branch is available only if at least one input value has been
defined in the related range table class. All the properties that relate to the range table are not
available in the context of this branch (for example, output values and computed values).
Note

When the component is executed by the SAP CC system at runtime, only one branch is executed depending on
the comparison result.

When you set up the component, you can use the following generated properties in the logic of a branch:

 All output column values are usable in the rating or refilling context.
 When a column represent a number and the column is marked as cumulative, the cumulated value is
generated in a context property.
 Range boundaries are available as context properties: Lower bound of the range and upper bound of
the range.
 The size of the range is available: Value of the upper bound of the range minus the value of the lower
bound of the range.
 When the value of the range input property is included in a range, the proration within the range is
available (the value of the range input property minus the value of the lower bound of the range) /
(the value of the upper bound of the range minus the value of the lower bound of the range).
 The difference between the value of the range input property and the lower bound of the range (the
upper bound in case of an unbounded range) is also provided.
Note

If the value of the range input property is equal to 0, the SAP CC system executes different branches according
to the configuration of the range table class that is specified in this component. The system takes into account
the upper bounds of the intervals that are defined as inclusive or exclusive in the related class:

 If the upper bounds of the intervals are inclusive, the system selects the first branch (Is Below the
First Bound).
 If the upper bounds of the intervals are exclusive, the system selects the second branch (Is in a
Range).

Use

In a price plan, if you want to apply different prices to branches according to the value of a specific property,
you may need to compare a property with a numerical value or another property. To use the Range Table
Introducer inside your price plan, do the following:

1. After you add the component, choose a range table class, a range table, a date/time reference, and a
property to compare with the ranges of the range table.
2. Choose input properties and add them to the mapping of input properties if the range table contains
input columns.
3. Describe the pricing logic of each decision tree branch by using logic components and end each
branch with a Function component. In each branch, different new properties are available.
Example

In the telecommunication industry, a company sells voice services and has configured a range table class and a
unique range table in its pricing catalog. The table specifies a unit price per minute regarding the call duration.
To use this range table in the pricing logic, you set up a charge with a price plan that includes a Range Table
Introducer Comparator component.

In the pricing catalog of this service provider, you must configure:

 A range table class (where the last range is unbounded and an output column is a unit price per
minute)
 A range table
You create a new reusable charge and set up its price plan.

 You insert the Range Table Introducer Comparator.


 You set up the component and its branches by using Function components and other logic
components1:
o In the first branch (Is Below the First Bound): Add a No Access function.
o In the second branch (Is in a Range): Add a Linear function where A is the unit price that is
set for the selected range, X is the call duration since the beginning of the range (see Value
Beyond Lower Bound), and B is the cumulative price since the beginning of the phone call.
o In the third branch (Found in Last Unbounded Range): Add a Linear function.
Strings Comparator

 The Strings Comparator component compares a string property with a string value or another string
property. Four comparison operators are available:

 Is equal to
 Starts with
 Ends with
 Contains
When you insert it in the decision tree, the Strings Comparator component creates two separate branches:

 A branch that is activated when the comparison is true


 A branch that is activated when the comparison is false
When the component is executed, only one branch is activated depending on the test result.

Use

In a price plan, if you want to apply different prices to branches, you may need to compare a string property
with a string value or another string property. To use the Strings Comparator inside your price plan, do the
following:

1. After you add the component, choose the first property, the second property or the string value to be
compared with the first one, and then the Comparator operator.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

A telephone operator decides to apply a special rate ($0.06 per minute) when the called number begins with
"089"; otherwise, the call is billed at the usual price. The following table presents the information that the
telephone operator needs to set up the Strings Comparator component inside the price plan:

Data Settings

First property Number called

Comparator operator starts with

Value 089

Pricing rules Price that is applied to the “starts with” branch:

$0.06 per minute.

Price that is applied to the does not start with branch: Usual


price.

Switching Comparator

Caution

As of SAP Convergent Charging 2020 FPS 2, this component not available in case of an installation scenario
integrated with SAP S/4HANA Cloud. For further information, refer to SAP Note 2772452  .
 The Switching Comparator component compares the state of a prepaid account with one or more
predefined values (Active, Blocked, Locked, or Closed).

The comparison is true when the state of the prepaid account matches one of the predefined values.

When you insert it in the decision tree, the Switching Comparator creates two to five separate branches:

 One to four branches corresponding to a predefined value (Active, Blocked, Locked, or Closed), but


only one branch is activated if the comparison is true.
 One branch that is activated when the comparison is false.

When the component is executed, only one branch is activated depending on the test result.

Use

In the refill logic of a refill plan, if you want to make a refill depending on the state of the prepaid account, you
may need to compare the state of the prepaid account with one of the predefined states
(Active, Blocked, Locked, or Closed). To use the Switching Comparator inside your price plan, do the
following:

1. After you add the component, choose the "Account State of Prepaid Account as the property name.
2. Describe the refill of each decision tree branch by using a Function component.
Splitter Components

A splitter component divides a numerical property or a date property into two parts. Each part is represented
by a branch in the decision tree. When the component is executed, the two branches are activated and
provide two amounts which are added up to compute the final amount.

There are several types of splitter components. For example, the Number Splitter component splits an existing
property related to a number, and the Time Slot Splitter component splits a property related to time slots.

Amounts Aggregator Splitter

 The Amounts Aggregator Splitter component creates two or more branches in the decision tree to
calculate amounts and performs one of the following operations:

 Calculates the sum of the amounts of all the branches


 Compares the amounts of all the branches to activate either the lowest amount or the highest
amount
 Calculates the average amount of all the branches

In each branch of the Amounts Aggregator Splitter, you can insert components to calculate an amount.

The Amounts Aggregator Splitter component allows you to describe independent rules in each branch. You
can compare or combine the calculated amounts in the different branches to provide one single amount. The
final amount depends on the type of the operation:

With The final amount is

sum The sum of all the amounts calculated in each branch

minimum The minimum of all the amounts calculated in each branch

maximum The maximum of all the amounts calculated in each branch

mean The average of all the amounts calculated in each branch

Use

In a price plan, if you want to bill a chargeable item class according to two distinct criteria and charge the
customer the lower price, do the following:

 In the branch of the price plan, insert the Amounts Aggregator Splitter component by selecting the
operation Minimum and the number 2 as the number of amounts or branches.
 Describe the pricing, criterion by criterion, of each branch.
Example

You sell educational documents on the web. The customer is charged an opening fee according to the size and
the category of documents. To attract new customers, you decide to charge only the size or the category which
represents the lowest fee.

You perform this operation by inserting the Amounts Aggregator Splitter component at the suitable level of
your price plan. You set up the component by choosing minimum as the operation and 2 as the number of
operations. The component will calculate:

 The price according to the category in the first branch


 The price according to the size in the second branch

After calculation, the customer is charged the lowest price.


Numbers Splitter

 The Numbers Splitter compares a numerical property P with a threshold T and divides the numerical
property into two parts, p1 and p2, according to the following conditions:

 If P is less than or equal to T, then p1 = P and p2 = 0.


 If P is greater than T, then p1 = T and p2 = P - T.
Note

In all cases, P = p1 + p2.

When you insert it in the decision tree, the Numbers Splitter component divides the numerical property P into
two parts and creates:

 Two separate branches in the decision tree:


o A branch up to that represents the “p1” value
o A branch beyond that represents the “p2” value
 Two numerical properties to retrieve the "p1" and "p2" values

When the component is executed, if p1 and p2 are not equal to 0, the two branches are activated and provide
two amounts which are added up to compute the final amount. If p2 = 0, the branch beyond is not activated.

Use

In a price plan, do the following to use the Numbers Splitter:

1. Insert the component in the decision tree to create the two branches up to and beyond. Choose a
numerical property, define a threshold, and choose the name of the generated property.
2. Describe the pricing of each decision tree branch by using a Function component.
Example

A client has a telephone service that contains a calling plan of two hours per month at the reduced price of
$0.02 per minute. Beyond these two hours, the calls cost $0.04 per minute. To calculate the call price, you
must compare and divide the call duration according to the time that remains in the monthly calling plan. The
remaining time can be a counter that is decreased each time that there is a call and reset to two hours at the
beginning of each month.
The following table presents the information that is needed to set up the Numbers component inside the price
plan:

Data Settings

Numerical property Duration of the phone call (numerical property)

Threshold (Split value) Monthly remaining duration in the package (counter)

Generated property Call duration according to the calling plan

Pricing rules Price that is applied to the up to branch: $0.02 per minute

Price that is applied to the beyond branch: $0.04 per minute

Public Holidays Splitter

 The Public Holidays Splitter component compares a time slot D with a reference time slot R and divides
D into two time slots:

 Time slot I, which is inside the public holidays R


 Time slot O, which is outside the public holidays R

The reference time slot R is made up of public holidays. You can choose dates by selecting one or more
countries or choose one or more dates by selecting individual holidays. The reference time can then be a
discontinuous period or just one day.

The illustration below shows different cases you can meet when using a Public Holidays Splitter. The time slots
are represented as follow:

 Time slot D, represented by [D1-D2]


 Time slot R, represented by [R1-R2]
 Time slot I, represented by [I1-I2]
 Time slot O, represented by [O1-O2]
Note

 If the time slot D is completely inside R, then part O = 0 (Case 1 in the previous illustration).
 If the time slot D is completely outside R, then part I = 0 (Case 2 in the previous illustration).
 In all cases, D = I + O (Refer to the previous illustration).
 If time slot D extends beyond the reference time slot R on either side of R, the time slot results are
coherent: I = R, and O represents the sum of the two time slots that extend outside of either end of R
(Cases 3, 4 and 5 in the previous illustration).

Use

When you insert it in the decision tree, the Public Holidays Splitter component divides the time slot D into two
time slots and creates:

 Two separate branches in the decision tree:


o The first branch During Public Holidays represents the time slot I
o The second branch Not During Public Holidays represents the time slot O
 Two date properties which are the start date and the end date of the time slots I and O:
o The start date takes two values I1 and O1 in succession, depending on the branch
o The end date takes two values I2 and O2 in succession, depending on the branch
When the component is executed, the two branches are activated and provide two amounts which are added
up to compute the final amount. If I = 0 or O = 0, the corresponding branch is not activated.

Caution

If D = 0, (case of D1 = D2), no branch is activated and no transaction is generated (like with a Free Function).

If the Public Holidays Splitter component processes "case 5" in the previous illustration, it does the following
in this order:

1. Process of the first time slot [O1 - O2] with Start Date (out of the slot) = O1 and End Date (out of the
slot) = O2.
2. Process of the time slot [I1 - I2] with Start Date (in the slot) = I1 and End Date (in the slot) = I2.
3. Process of the last time slot [O1 - O2] with Start Date (out of the slot) = O1 and End Date (out of the
slot) = O2.
Example

A customer has a telephone service that includes a reduced price of $0.02 per minute if the call takes place
during a public holiday; otherwise, the call costs $0.04 per minute. To calculate the cost of a call, you need to
do the following:

1. Compare the call time slot with the reference time slot of public holidays.
2. Divide the call time slot into two time slots, During Public Holidays and Not During Public Holidays.
3. Calculate the duration of the two time slots and apply the corresponding price.
The following table presents the information that is needed to set up the Public Holidays Splitter component
in the price plan:

Data Settings

Time slot D Start date of the phone call (D1).

Stop date of the phone call (D2).

Reference time slot R All USA public holidays

Generated property Start Date and End Date (in the slot): [I1 - I2]

Start Date and End Date (out of the slot): [O1 - O2]
Data Settings

Pricing rules Duration of each time slot: Difference between the two generated properties
Start Date and End Date for each time slot.

Price that is applied to the “During Public Holidays” branch: $0.02 per minute.

Price that is applied to the “Not During Public Holidays” branch: $0.04 per
minute.

Time Slot Splitter

 The Time Slot Splitter compares a time slot D with a reference time slot R and divides D into two time
slots:

 Time slot I, which is inside the reference time slot R


 Time slot O, which is outside the reference time slot R
The illustration below shows different cases you can meet when using a Time Slot Splitter. The time slots are
represented as follow:

 Time slot D, represented by [D1-D2]


 Time slot R, represented by [R1-R2]
 Time slot I, represented by [I1-I2]
 Time slot O, represented by [O1-O2]
Note

 If the time slot D is completely inside R, part O = 0 (Case 1 in the previous illustration).
 If the time slot D is completely outside R, part I = 0 (Case 2 in the previous illustration).
 If the time slot D extends beyond the reference time slot R on either side of R, the time slot results are
coherent: I = R, and O represents the sum of the two time slots that extend outside of either end of R
(Cases 3, 4 and 5 in the previous illustration).
 In all cases, D = I + O.

Use

When you insert it in the decision tree, the Time Slot Splitter component divides the time slot D into two time
slots and creates:

 Two separate branches in the decision tree:


o The first branch In the Time Slot, which represents the time slot I
o The second branch Out of the Time Slot, which represents the time slot O
 Two date properties which are the start date and the end date of the time slots I and O:
o The start date takes two values I1 and O1 in succession, depending on the branch
o The end date takes two values I2 and O2 in succession, depending on the branch

When the component is executed, the two branches are activated and provide two amounts which are added
up to compute the final amount. If I = 0 or O = 0, the corresponding branch is not activated.

Caution

If D = 0, (case of D1 = D2), no branch is activated and no transaction is generated (like with a Free Function).

If the Time Slot Splitter component processes "case 5" in the previous illustration, it does the following in this
order:

1. Process of the first time slot [O1 - O2] with Start Date (out of the slot) = O1 and End Date (out of the
slot) = O2.
2. Process of the time slot [I1 - I2] with Start Date (in the slot) = I1 and End Date (in the slot) = I2.
3. Process of the last time slot [O1 - O2] with Start Date (out of the slot) = O1 and End Date (out of the
slot) = O2.
Example

A customer has a telephone service that includes a reduced price of $0.02 per minute every day during the
10:00 PM to 6:00 AM time slot. Outside this time slot, the call costs $0.04 per minute. To calculate the cost of a
call, you need to do the following:

1. Compare the call time slot with the reference time slot (10:00 PM to 6:00 AM).
2. Divide the call time slot into two time slots: In the Time Slot and Out of the Time Slot.
3. Calculate the duration of the two time slots and apply the corresponding price. For example, you
insert a Duration Operator component into the two branches to calculate the duration, and then
insert a Linear Function component to calculate the price of each branch.
The following table presents the information that is needed to set up the Time Slot component inside the price
plan:

Data Settings

Time Slot D Start date of the phone call (D1).

Stop date of the phone call (D2).

Reference Time Slot R Type: Daily.

From: 10:00 PM To: 06:00 AM.


Data Settings

Generated property Start Date and End Date (in the slot): [I1 - I2]

Start Date and End Date (out of the slot): [O1 - O2]

Pricing rules Duration of each time slot: Difference between the two generated properties
Start Date and End Date for each time slot.

Price that is applied to the In The Time Slot branch: $0.02 per minute.

Price that is applied to the Out of The Time Slot branch: $0.04 per minute.
Note

In a price plan, you may need to apply prices which vary according to different time slots. The Time Slot Splitter
component is often used to calculate the cost of a telephone call, the price of which varies according to the
cases that are shown in the following table:

If the call takes place You must apply the During


price to

Inside the reference time slot In the Time Slot The entire call duration

Outside the reference time slot Out of the Time Slot The entire call duration

Partly inside and partly outside the In the Time Slot The call duration that is inside the
reference time slot time slot

 Out of the Time  The call duration that is


Slot outside the time slot

Operator Components
Note

You can use the operator components in a price plan, in a pricing macro, in a charging plan, in a refill plan (refill
logic), or in an allowance plan (allowance logic).

But you cannot use:


 The components Counter Operator and Macro Operator in a charging plan.
 The component State Schedule Updater in a price plan, a pricing macro, in a charging plan, and in an
allowance plan (allowance logic).
An operator component can do the following in the rating context:

 Modify counter values


 Create allowances
 Use allowances by sending events or introducing allowance properties
 Create new properties resulting from calculation

There are several types of operator component.

For example, the Duration operator component calculates the duration between two dates while the Update
Counter operator component can update counters that are defined in the price plan, the charging plan, or the
refill logic.

Operator Components

An operator component can do the following in the rating context:

 Modify counter values


 Create allowances
 Use allowances by sending events or introducing allowance properties
 Create new properties resulting from calculation

There are several types of operator component.

For example, the Duration operator component calculates the duration between two dates while
the Update Counter operator component can update counters that are defined in the price plan, the
charging plan, or the refill logic.

Alert Triggering Operator

 The Alert Triggering Operator component allows configuring an alert which is triggered if the branch
containing the component is activated. When an alert is triggered and if the charging operation is successful, a
notification is then published by SAP Convergent Charging to a dedicated system.

Note

 The notification is published only if this function is activated. Refer to your administrator for more
information or consult the SAP CC SAP CC 2020 Tuning Guide.
 The notification handling must be implemented in your external system by the implementation
project team. If SAP Convergent Charging is connected to SAP ERP/FI-CA, the default integration does
not take into account the notification based on the Alert Triggering Operator component and a
specific implementation project is necessary.
Example

Using Wireless M2M communications, a vending machine can be installed virtually anywhere but should be
connected to a support centre to signal when the vending machine is empty, full of change, or out of service.
To do that, the price plan can include an Alert Triggering operator component to trigger an alert that notifies a
dedicated system.
Allowance Event Sender (Operator)
Remember

You cannot use this logic component after an Account Event Refill component in the refill logic or after
an Event-Based Trigger component in the allowance logic.

 The Allowance Event Sender component is an operator component that allows you to configure the
sending of an allowance event to certain allowances that exist in provider contracts. In order to receive this
allowance event, the allowances must:

 Belong to the related provider contract or to the related provider contract and its parent contract.
 Be shared (see Shared Allowances for more information).
 Be active at the date/time of the reception of the allowance event.
 "Listen for" the allowance events of the related allowance event class.

This operator component allows you to set up some filtering by using selection criteria based on the values of
properties.

Note

 You can trigger the automatic sending of the allowance event depending on the value of a monitored
property.
 At runtime, the allowance that sends the allowance event through the execution of this Allowance
Event Sender component, does not receive this event.
 The available scope of allowances depends on the usage of logic components. For more information,
refer to the matrix of components.

Use
As a pricing specialist, you can use the Allowance Event Sender component for sending allowance events to
allowances in provider contracts by configuring this logic component in the price plan, the refill logic, or the
allowance logic.

Restriction

The Allowance Event Sender (Operator) component is forbidden within a shareable allowance logic.


Example

Example case: The allowance event is modified.

A pricing specialist designs and sets up the Allowance Event Sender component in a price plan to consume the
allowances related to the duration of a videoconference. At runtime, when the system executes the Allowance
Event Sender component, the system sends an allowance event based on the allowance event
class ALLOW_VIDEO_MINUTES whose property is the duration of the videoconference in minutes.

The pricing specialist models the allowance logic through the ALLOW_VIDEO_MINUTES Allowance Event
Class (the type of the "Event Allowance"):

 To authorize part of the duration based on the persistent counters of the allowances
 To update the allowance event based on the authorized part
Example

Example case: The allowance event is not modified.

An allowance is created through a refill plan. The allowance is valid six months and is part of a group of
allowances named SAMPLE_GROUP. The allowances of this group have the same parameter value and extend
their validity period each time a new allowance is added to the group.

At runtime, when an allowance is created for the group, the new allowance must inform the existing
allowances of its group with an allowance event of the type NEW_ALLOWANCE_CREATED. The event includes
the following fields:

 The allowance group ID


 The creation date/time
 Its validity period start date/time
 Its validity period end date/time

The other allowances of the group can then perform actions when receiving the allowance events.
Allowance Property Introducer (Operator)

 The Allowance Property Introducer component is an operator component that allows you to retrieve


the property values of a set of allowances and save them in generated properties that are available for the
next logic components of the decision tree.

Note

 The available scope of allowances depends on the usage of logic components. For more information,
refer to the matrix of components.
 Persistent counters that are used by shared allowances cannot be selected for creating generated
properties. About the sharing of allowances between subscriber accounts, refer to the primary help of
Core Tool and the SAP CC 2020 Application Help for more information.

Use

You use the Allowance Property Introducer component when:

 The properties of the available allowances in a provider contract are needed for the decision tree of
the price plan of a charge, the refill logic, or the allowance logic.
 Some properties of allowances must be reported in charged items.
 The properties of allowances must be used in the Allowance Event Sender (Operator) component for
sending an event to allowances.
Restriction

The Allowance Property Introducer component is forbidden within the shareable allowance logic.


Example

You want to retrieve the lowest and greatest credit values from the following set of allowances but only
through the “USER” scope:

Allowance ID Start Date End Date Credit (Counter) Scope (Parameter)

1234 20xx-01-01 20xx-02-01 10 USER

1235 20xx-01-15 20xx-02-15 250 COMPANY

1236 20xx-01-28 20xx-02-28 300 USER

1238 20xx-02-01 20xx-03-01 120 COMPANY


Allowance ID Start Date End Date Credit (Counter) Scope (Parameter)

1240 20xx-03-15 20xx-03-15 50 USER

To do that, you configure an Allowance Property Introducer component to select the allowances whose
property named 'Scope' is equal to 'USER', and you create two generated properties named 'LowestValue' and
'GreatestValue' to save the values of the 'Scope' properties.

From the previous set of allowance properties, the Allowance Property Introducer Operator thus selects the
allowances whose ID are 1234, 1236, and 1240:

Allowance ID Start Date End Date Credit (Counter) Scope (Parameter)

1234 20xx-01-01 20xx-02-01 10 USER

1236 20xx-01-28 20xx-02-28 300 USER

1240 20xx-03-15 20xx-03-15 50 USER

The Allowance Property Introducer Operator then creates a generated property named 'LowestValue' with
the value of 10 (the allowance whose ID is 1234) and a generated property named 'GreatestValue' with the
value of 300 (the allowance whose ID is 1236).
Arithmetic Computation Operator

 The Arithmetic Computation Operator component carries out an arithmetical operation between two


numerical values or properties. The calculation result is saved in a new property. The Arithmetic Computation
Operator component can carry out the following operations:

 Addition
 Subtraction
 Multiplication
 Division
 Modulo
 Power
Note

In the case of division, you can specify the rounding mode and decimal places.

Use

To calculate a price in a price plan, you can combine one of the Function components with the Arithmetic
Computation Operator. The Arithmetic Computation Operator allows you to calculate numerous
intermediate results that are saved in new properties; therefore, you can reuse these properties to calculate
the final price by using a function component.

Example

In a price plan, the price of a telephone call is calculated by using the following basic formula:

Call price = Constant x Base price x Call Duration

Base price is a parameter in the offer and represents a price per minute. Call Duration is a numerical property.
The generic function component, which is a "AXY + B" type formula, allows you to calculate call price.
However, for certain customers, a percentage-type discount that is saved as a parameter is applied to Base
price. To calculate the discount, you can insert an Arithmetic Computation Operator component before the
generic function component as shown in the following table:

Step Component Calculation

1 Arithmetic Computation Operator Discounted Price = Base price x Customer discount

2 Generic Function Call price = Constant x Discounted Price x Call


Duration

Concatenate Operator

 The Concatenate Operator component allows you to concatenate two or more string properties or


character strings.

Example

For reporting purpose, an operator needs to create a CSV file which must contain some information such as
customer name, service, consumption date, and duration. In a price plan, the operator uses a Concatenate
Operator component to generate a computed property from the properties of the price plan. For example, the
operator can build sentences like this one: "John Smith consumed the Internet service QuickAccess on Monday
the 03 of October 2011 at 11:55:26 during 15 seconds".
Create Allowance Operator
Remember

 The Create Allowance Operator is executed at the end of the decision tree if there is one master
charge or at the end of all the decision trees if there is one or more dependent charges. For more
information on charge plans, charges, and dependencies between master and dependent
charges, refer to the dedicated topics in the primary help of Core Tool.
 The configuration of a Create Allowance Operator component requires the selection of an Allowance
Plan that specifies the type of the allowance. If you want to create a shared allowance, you must
select a shareable allowance plan. For more information on the Allowance Plan, refer to the dedicated
topic in the primary help of Core Tool.
 In the Allowance Logic, you cannot use the Create Allowance Operator in the Event-Based
Trigger and Recurring Trigger branches, but you can use the Create Allowance Operator in a One-Shot
Trigger branch if you configure the One-Shot Trigger with an expiration event and no time shift.
 In the case of automatic allowance renewal and at runtime, if a one-shot trigger (creation event) that
contains a Create Allowance Operator is executed in the allowance logic, the duration between the
validity start date of the current allowance and the validity start dates of the newly created
allowances cannot be less than one day (calendar). If this duration is greater than one day, the validity
period is automatically shifted. The new validity start dates are automatically set to the effective date
of the current allowance plus one day while the validity period of the allowances do not change. See
also the Allowance Validity Period Updater (Operator) about the allowance renewal.

 The Create Allowance Operator creates an allowance for the related provider contract through a refill


plan, a charge plan, or in an allowance plan.

Restriction

Rating Trial Runs do not consider allowance creation.

Use

You use the Create Allowance Operator component to create allowances for your provider contracts.

Restriction

The Create Allowance Operator component is forbidden within a shareable allowance logic.


Example

An operator sells data plans to its customers. They can buy recharges including data buckets that are valid for a
limited period of time and can be modeled as allowances. The Create Allowance Operator can be used to
create such allowances. In this context, the initial value of the bucket can be represented as an allowance
parameter.
Date ShiftOperator

 The Date Shift Operator component calculates a new date by adding a period of time to an existing date
property or by subtracting a period of time from an existing date property. The new date is saved in a new
date property. The time unit is expressed in seconds, minutes, hours, or days. You use this component to
change an existing date into an earlier or a later date.

Example

In a chargeable item class called Telephone Service, you want to give a customer a time-credit of six seconds
for each call. To define the payable period, you use the Date Shift component to recalculate the start date of
the customer’s call.

Note

You can easily calculate the local time based on GMT time if you know the GMT offset. You enter the
consumption date as the original date to which you add the numerical property GMT Offset representing the
period of time in hours. The calculation result determines the local time that is saved in the computed
property. You can also use the local time in the subbranch of the price plan.
Decrement Counter Operator

 The Decrement Counter Operator component debits a counter (transient or persistent) without


exceeding the current value of the counter.

Use

The Decrement Counter Operator is used to decrement counters defined in shared allowances (in provider
contracts).

Example

As a service provider, you create a bucket of 100,000 SMS for a company. This bucket is shared by the
employees of this company and implemented as a shared allowance that includes a persistent counter.

Based on the previous example, a bucket of 100,000 SMS is debited through a Debit Counter Operator each
time an employee uses a SMS. When the value of the bucket is equal to 0, employees cannot send SMS
anymore.
Duration Operator

 The Duration Operator component calculates the period of time between two dates. The period of time
is expressed in seconds, minutes, hours, or days and saved in a new numerical property. You can specify the
precision unit, the rounding mode, the rounding step, and the threshold of the period of time.

Use

In a price plan, you may need to calculate a price that is dependent of time. To compute the period of time,
you use the Duration Operator that calculates the period of time between a start date and an end date.

Example

In a chargeable item class called Video Conference, you charge the customer $0.10 per video conference
minute. After the start and stop date of the video conference, a Duration component calculates the duration
of the video conference in the price plan.
Duration Adapter Operator

 The Duration Adapter operator component converts a period (of time) into another time unit. The
calculation result is saved in a new numerical property. You can convert into days a numerical property
expressed in seconds or in hours. You can specify the time unit of the source and the target, the rounding
mode, the rounding step, and the threshold of the target.

Use

In a price plan, you may need to make calculations dependent of time and that you want to convert into a
different time unit. To do that, you use the Duration Adapter component to convert a period (of time). The
conversion result is saved in a new numerical property.

Example

In a chargeable item class called Telephone Service, a phone call duration is expressed in seconds. You need to
convert the call duration into minutes because your price is defined in minutes. You use the Duration Adapter
Operator to convert the call duration into minutes.
Filter Operator

 The Filter Operator compares each value of a multi-valued property of string type with one or more
string values. Each time that the result of a comparison is true, the value of the multi-valued property is stored
in a specified multi-valued property associated with the comparison. Each time that the result of a comparison
is false, the value of the multi-valued property is rejected and stored in a specified multi-valued property.

Note

If a value of the multi-valued property matches several string values, the value is stored in the specified multi-
valued properties associated with the comparisons for which the result is true.
Example

You want to filter a multi-valued property that contains the following values:

 image/jpeg:2500
 image/jpeg:4000
 image/jpeg:5000
 image/gif:4000
 image/gif:10000
 text/plain:100
 audio/mp3:20000
 Message:20
Each value of this multi-valued property is compared with the comparison values that are shown in the next
table. When the result of a comparison is true, the value is stored in the property associated to the comparison
(ImageFolder, TextFolder, and so on). If a value of the multi-valued property does not match any string values,
the value is stored in the property RejectedValues.

Property Name Comparator Comparison Value

ImageFolder starts with image

TextFolder starts with text

AudioFolder starts with audio

JpegImageFolder contains jpeg

GifImageFolder contains gif

Once the Filter Operator have completed the comparisons, each property contains the following list:
ImageFolder TextFolder AudioFolder JpegImageFolder GifImageFolder

image/jpeg:2500 text/plain:100 audio/mp3:20000 image/jpeg:2500 image/gif:4000

image/jpeg:4000 image/jpeg:4000 image/gif:10000

image/jpeg:5000 image/jpeg:5000

image/gif:4000

image/gif:10000

The value "Message:20" does not match any string values. This value is thus stored in the multi-valued
property RejectedValues.
Macro Introducer (Operator)

 The Macro Introducer operator component allows you to use an existing pricing macro in a plan. This
component allows you:

 To select a pricing macro


 To provide the values to the rating context properties that the pricing macro needs to make
calculations
 To retrieve the calculation results from the generated properties of the pricing macro
The Macro Introducer component uses the price plan properties:

 To provide the values to the pricing macro


 To retrieve the calculation results from the pricing macro
Example

An operator bills telephone calls according to:

 The duration of calls


 The location of called numbers
 The type of telephone such a fixed line or a mobile
A pricing macro called MacroTel computes the cost of calls that is based on:
 The prefix of the called number (Prefix_Called)
 The type of telephone (Phone_Type)
 The duration of the call (Call_Duration)
The Macro Introducer provides this information to the pricing macro through price plan properties. To
calculate the price of each call, the pricing macro needs the price code provided by a translation table. The
pricing macro returns the total amount of calls and the price code, both of which are retrieved by the Macro
Introducer through price plan properties. In the price plan, the Macro Introducer component shows the
following information:

 The Pricing Macro MacroTel


 The Price Plan properties (Prefix_Called, Phone_Type and Phone_Type) that contain the values to
initialize the rating context properties of the pricing macro
 The price plan property Total_Amount that retrieves the computed amount of the Pricing Macro
 The price plan property Code_Price that retrieves the price code of the generated property of the
pricing macro
Multi-Valued Evaluator (Operator)

 The Multi-valued Evaluator Operator counts the number of values which are in a multi-valued property.
If the multi-valued property is of numerical type, the Multi-valued Evaluator Operator calculates the sum and
the average of all the numerical values which are in the multi-valued property and determines the smallest and
the greatest of these numerical values.

Note

Use the Property Type Convertor (Operator) to convert an existing property into a multi-valued property.

Example

To calculate a price that depends on a number of recipients, the rating branch of a price plan needs two
components:

 A Filter Operator that tests the recipient addresses


 A Multi-valued Evaluator that counts the number of values which are in the multi-valued
property RecipientsAddresses

To identify the recipients of the service providers, a Filter Operator tests their address. The Filter Operator is
configured to create one multi-valued property per service
provider: MeteoRecipients, NewsRecipients, ExchangeRecipients, SpotsRecipients, TrafficRecipients and TaxiRe
cipients . All the addresses that do not match a comparison are added to the property RejectedAdresses.
The configuration of the Filter Operator relating to the service provider Meteo is the following:

Property Name Comparator Comparison Value

MeteoRecipients Ends with @meteo.com

In this example, it is supposed that once the Filter Operator have completed the comparisons:

 The multi-valued string MeteoRecipients contains two values: "greatbritain.country@meteo.com"


and "london.city@meteo.com". The multi-valued property RejectedAdresses contains
"ysmith.messagestore@blue.uk".
 The multi-valued properties of the other recipients are empty.
Once the Filter Operator have completed its tasks, the Multi-Valued Evaluator Operator counts:

 The number of recipients per service provider, the number of which is six.
 The number of addresses that are retrieved in the multi-valued property of each recipient, which is
two for MeteoRecipients and zero for the other recipients.
Property Introducer (Operator)

 The Property Introducer operator component allows you to create new properties for a plan or to
modify the properties that are created with an above Property Introducer component. This component can
also be used to access properties that are not available for other components (for example, the contract
identifier).

Use

In a pricing plan, you can insert a first Property Introducer operator component to create new properties
available for the branch of a rate component. If you need to modify the values of these properties in the
branch of a component, you can insert a second Property Introducer component in this branch to assign new
values to the properties that are created with the first Property Introducer component.

Example

In a price plan, you need an intermediate property to save a result. You then insert a Property Introducer
component into your price plan to create the property Intermediate result.
Property Type Convertor (Operator)

 The Property Type Convertor operator component creates a new property from an existing property by
modifying the type of the existing property.

Use

In a plan, some calculations use numerical data which are included in string properties. The Property Type
Convertor operator component allows you to convert a string property into a number property.

The table below shows the authorized and unauthorized conversions:

Source property type Target property type Comment

String String Authorized

String Date Authorized

String Number Authorized

String Multi-valued string Authorized

String Multi-valued number Authorized

Date String Authorized

Date Number Authorized

Date Date Not authorized

Number String Authorized

Number Date Not authorized


Source property type Target property type Comment

Number Number Not authorized

Multi-valued string Multi-valued string Authorized

Multi-valued string String Authorized

Multi-valued string Multi-valued number Authorized

Multi-valued number String Authorized

Multi-valued number Multi-valued string Authorized

Multi-valued number Multi-valued number Not authorized

Example

An operator uses a translation table providing a discount percentage from the number of units that are
consumed by customers. The number of units consumed property is numerical.

Using the Property Type Convertor operator component, you can convert this property into string before
putting it into the translation table.

Prorata Operator

 The Prorata Operator calculates the product Y = X * R, in which:

 Y is the numerical result


 X is a numerical value
 R is a ratio ranging from 0 to 1 (R is a decimal number; for example, 0.45)
As shown in the next illustration, the Prorata Operator calculates R = (tr - ti) / (tf - ti) as the ratio of two time
periods:

 tf - ti: Time period that is delimited by the initial time ti and the final time tf. The condition ti < tf is
always true.
 tr - ti: Part of the time period tf - ti that is delimited by the initial time ti and the reference time tr. The
condition ti <= tr <= tf is always true.
Remember

Keep in mind that tf - ti is a cycle defined by one of the following frequencies:

 A day or 24 hours
 A week
 A month
 A year
Note

Instead of calculating R = (tr - ti) / (tf - ti), the Prorata Operator can calculate the ratio R = (tf - tr) / (tf - ti) as
shown in the next illustration.

Example

If you propose some services that include a monthly calling plan, you may want to adjust a new client’s plan
for the first month according to the subscription date of the contract. Likewise, you may want to adjust the
plan for the last month when the plan is based on the cancellation date of the contract. In both cases, you use
the Prorata component to calculate the calling plan.

A customer signs a contract on the 10th of the month for a service that includes two free hours per month.
Because the customer signed on the 10th of the month, you want to prorate two free hours from the 10th to
the end of the month. The following table presents the information that you need to set up
the Prorata component:

Data Name of properties/Settings Comment

Property to prorate Number of free hours In the product Y = X * R, the numerical value X is Number of free
hours (two hours).
Data Name of properties/Settings Comment

Generated Property Number of free hours during the first The generated property contains the resulting amount Y = X * R.
month

Prorata Date Charge effective date In the product Y = X * (tf - tr) / (tf - ti), the reference time tr is the
Charge effective date (the 10th of the month).

Time period Every month In the product Y = X * (tf - tr) / (tf - ti), the initial time ti is the first of
the month at 12:00 AM and the final time tf is the last day of the
month.

Type of ratio Calculation according to the Fraction The Fraction from prorata date option calculates R = (tf - tr) / (tf - ti).
from prorata date option

Switch Table Operator

 The Switch Table Operator compares the same property with one or more values or properties of the
same type. When a comparison is true, the test stops and a numerical or string value is assigned to a
computed property.

If no comparison is true, a default value is assigned to the computed property.

Use

In a price plan, you may need to apply different prices that depend on the value of a property. To use
the Switch Table Operator inside your price plan, do the following:

1. Choose the first property, a comparison operator, and the values or properties to compare to the first
property.
2. Type the value of the computed property for each comparison.
3. Describe the pricing of each value of the computed property.
Note

The Switch Table Operator stops the test when a comparison is true; therefore, the order of the comparisons
in the table is important.
Example
An operator bills telephone calls that depend on the duration and the type of call (local, international and
information). In the price plan, the property "CallType" is assigned one of these three values: "Loc", "Int" or
"Inf". In the Switch Table Operator component, the computed property "Price" is expressed in cents/minute
and is assigned three values as described in the following table:

Property Comparator Value Price

CallType equal to Loc $0.10

CallType equal to Int $0.60

CallType equal to Int $0.20

The table rows mean that:

 If CallType is equal to "loc", then Price=0.10


 If CallType is equal to "int", then Price=0.60
 If CallType is equal to "inf", then Price=0.20

The string property CallType is compared with the values "loc", "int" and "inf". Price is a new numerical
property that is assigned a numerical value for each comparison. The Switch Table Operator stops the test
when a comparison is true, and then Price is assigned the value relating to the comparison.

For example, if CallType is equal to "inf", the value of Price is 0.20. If no comparison is true, a default value is
assigned to Price.

Tier Table Introducer (Operator)

 The Tier Table Introducer Operator component allows you to use an existing tier table in a plan.

In a tier table, each group consists of one or more numerical intervals. The output columns of the tier table are
number or string values assigned to each numerical interval. The Tier Table Introducer component compares
row by row each numerical interval of a group with a property value of the plan. The comparison stops when
the property value matches a numerical interval of the group. The output columns related to the numerical
interval are retrieved in generated properties that you can use in the plan.

With the Tier Table Introducer Operator component, you can:


 Select a tier table.
 Select one of the groups of the tier table.
 Select the property value to compare with the numerical intervals of the group.
Example

A service provider bills Internet services to its end-customers according to their contract length. To calculate
the service price, a tier table provides the contract lengths with their price. The contract type (Gold prices or
Silver prices) determines the service price. To use the tier table, a Tier Table Introducer must be inserted in the
decision tree of the price plan. The tier table TieredTariff consists of:

 Numerical intervals representing the contract length in months (]-∞, 6], ]6, 12], ]12, 24], ]24, +∞[)
 Output columns representing the related prices (Gold prices and silver prices) in USD
In the price plan, the Tier Table Introducer component shows the following information:

 The TieredTariff tier table
 The ContractLength price plan property that is compared to the numerical intervals (contract lengths)
of the group
 The GoldenPrice price plan property that retrieves the value of the "Golden price" output column
 The SilverPrice price plan property that retrieves the value of the "Silver price" output column

In this example, the tier table TieredTariff uses the default group. Therefore, the Group Name
Property is Default Group. If the tier table uses another group, the list of Group Name Properties must
contain the property whose value is the group name.
Translation Table Introducer (Operator)

 The Translation Table Introducer Operator component allows you to use an existing translation table in
a plan.

The Translation Table Introducer Operator component compares row by row the input columns of
a translation table with properties of the plan. The comparison stops when the properties match at least one
row of the input columns. The order of the rows in the translation table is therefore important. The output
columns related to the input columns are retrieved in generated properties that you can use in the plan. If no
property matches the comparison, the translation table returns a default value for each generated property.

Note

The number of properties must be equal to the number of input columns of the translation table.

With the Translation Table Introducer Operator component, you can:


 Select a translation table
 Select the properties to compare with the input columns of the translation table
 Select the type of comparison
Example

An operator bills telephone calls according to the geographic zone of the called numbers. To calculate the price
of each call, a translation table provides the price plan with the geographic zone code that is assigned to each
telephone number prefix. To use the translation table, a Translation Table Introducer must be inserted in the
rating tree of the price plan. The translation table TableZone is made up of the input column Prefix and the
output column ZoneCode. The input column contains the telephone number prefixes, and the output column
contains the geographic zone codes.

In the price plan, the Translation Table Introducer component shows the following information:

 The TableZone translation table
 The NumberCalled price plan property that provides the telephone number to the translation table
 The GeographicZone price plan property that retrieves the value of the ZoneCode output column
 The comparison test starts with that is used to compare the price plan properties with the input
columns of the translation table
Update Counter Operator
Note

If your configuration is part of session-based charging services, be careful when using the Update Counter
component and read the note at the end of this topic.

 The Update Counter Operator component updates a counter of a plan. To update a counter, you can:

 Reset the counter


 Assign a value such as a constant or numerical property to the counter
 Add a value such as a constant or numerical property to the counter
 Subtract a value such as a constant or numerical property from the counter
Remember

This compnent is not compatible with counters defined in shared allowances (distributed counters). To update
such counters, you have to use the Decrement Counter Operator or the Increment Counter
Operator component.

Use
In a periodic-type telephone calling plan, the Update Counter operator component can allow you to upgrade
the number of hours in the calling plan counter and reset this counter at the beginning of the period.

Example

A monthly calling plan includes two hours of free call time for end customers.

This plan is billed using a recurring rate component (for monthly subscriptions) and a usage rate component
(for calls).

The price plan contains a counter number of hours in the calling plan.

 In the recurring rate branch, this counter is reset to the original value of two hours at the beginning of
the month by using an Update Counter Operator component.
 In the usage rate branch, an Update Counter Operator component subtracts the duration of each call
from the counter number of hours in the calling plan.

CHARGING

 Usage charging
 Recurring
 One -shot

References

 Internal reference

You might also like