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 |
|
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.
