Instruction and operand types in rate routine steps

In rate routine steps, you can specify a number of types for the instruction and operand fields. To distinguish the rate table type, rate tables appear with a table: prefix in the base configuration. The prefix table: precedes the name of the rate table in a rate routine step. The rate table prefix distinguishes rate tables from variables. Without the prefix, rate tables with no New Argument Source / Value appear similar to variables.

The following table shows which types are available for the instruction and operand fields.

Instruction types

Operand types

Prefix

Return value

Properties on the cost

Properties on the cost

Not specified

Any type

Parameters

Parameters

Any type

Variables

Variables

Not specified

Any type

Conditional instructions

Not applicable

Conditional expressions

Boolean

Functions

Functions

Not specified

  • Instruction – void (function has no return value)
  • Operand – Any type

Rate tables

table:

String, integer, decimal, Boolean, or date

Constants

Numeric, Boolean, string, or null

Date constants

Date

Typelist values

Typekey

Scale

Numeric

Section comment

Not applicable

Some rate routines do not calculate properties on the cost, so these properties do not appear as choices. For more information, see Rate routines that do not calculate properties on the cost.

In the base configuration, only rate tables have a prefix specified. For properties on the cost, variables, functions, and rate tables, you can add or change the prefix that appears in the step. For more information, see Configure prefixes that identify types in rate routine steps.

Do not use a policy entity the Instruction target in a rate routine step

Do not use a entity that is part of the policy as the target of the Instruction column on the left side of a rate routine step. This requires that PolicyCenter update the policy branch. This is an unexpected use of rate routines. Rate routines are for calculating costs for a policy. They are not expected to make changes to the policy branch.

For example, in a parameter set you have a writable Vehicle parameter defined as entity.VehicleDriver type. This entity has a PolicyDriver property that is a foreign key to a PolicyDriver entity instance. In a rate routine that uses this parameter set, avoid specifying Vehicle.PolicyDriver as the target of an Instruction.