Bookshelf Home | Contents | Index | PDF

### Configuring the Rounding of Decimal Values of Points

By default, decimal values of points are rounded to the nearest integer. Points are rounded as followed:

• Accrual Items. The number of points accrued for a transaction are rounded to the nearest integer. If the decimal value is greater than or equal to .5, it is rounded to the next highest integer. If it is less than .5, it is rounded to the lower integer.
• Product Points. The point values entered for redemption or accrual when you define a product can only be integers.
• Base points. If base points are used to calculate the final number of points rewarded for a transaction, the base points are calculated to 2 decimal places but the final number of points accrued for the transaction is rounded to the nearest integer.
• Promotions. If points are assigned using the Assign Points action of a promotion, you can use decimal values in setting up the action for the promotion, but the final number of points accrued is rounded to the nearest integer.
• Redemption. Any decimal values for redemption items that are calculated by promotions are rounded off to the nearest integer.
• Member Balance. Because it depends on the integer values described in all the preceding bullets, the member balance is always as integer.
• Partner Point Block . The definition of Partner Account Debit (PAD) allows decimal values, so the partner's point block can have decimal values deducted. For example, if a member is awarded 545 points and PAD is .1, then 54.5 is deducted from the partner block. For more information about the PAD, see Setting Up Unified Point Type for Partner Account Debit.

You can configure this rounding behavior as follows:

• You can configure the number of decimal places used for rounding points. This configuration applies to:
• Accrual items, which reward the member in decimal points based on the configuration.
• Point block debits, which subtract decimal values from the point block and leave a decimal balance in the point block.
• Actions that use points, including Assign Points, Redeem Points, Purchase Points, Transfer Points, Reactivate Points, Transaction Cancellation.
• Member services that use points, including Purchase Points, Transfer Points, Points Reactivation, Gift Points, Manual Credit and Manual Debit.
• Redemptions, which consume points including decimal values. However, the total number of points needed to redeem a product must be defined in the Products screen as an integer value and cannot use decimal values.
• Accrual and redemption cancellation, which revert points using the same decimal precision with which they were rewarded or redeemed in the transaction being cancelled.
• You can override rounding for qualifying points. If you configure rounding so points are rounded to one to seven decimal places, you can override this setting for qualifying points, so they are still rounded to the nearest integer.

To configure rounding, use the following user properties of the Business Service LOY Processing Engine:

• Points Precision. This user property controls the number of decimal places to which the points are rounded. The default value is 0, which means that the points are rounded to an integer value. Valid values are any integer greater than or equal to 0 and less than or equal to 7. For example, the Assign Points action does a calculation that provides a reward of 1.345714932 points. Then:
• If the Points Precision user property has the default value of zero, this reward is rounded to 1 point.
• If the Points Precision user property is set to one, this reward is rounded to 1.3 points.
• If the Points Precision user property is set to seven, this reward is rounded to 1.3457149 points.
• Points Precision Override for QF. This user property allows you to round qualifying points to integers, even if you have used the Points Precision user property to round points to a decimal value. To override the Points Precision user property for qualifying points, set this user property to Y. If this user property is not defined or is set to N, then qualifying points will be rounded in the same way as other points, based on the Points Precision user property.

NOTE:  Any changes to user properties require you to recompile the .srf file and restart the server.

If any other feature except for qualifying points requires that you override the rounding and use integer points, you can control the input at the user interface level. Allow the user to enter only integer values in the appropriate fields by changing the data type of these fields in the business component to integer.