Using Profiles With Next Logical State

You can configure prerating queries to use the next logical state configured for prerating profiles. By using the next logical state, you can specify callout processing that uses more complex logic and requires multiple passes through the prerating generator for a single message.

Prerating queries are typically processed as follows:
  • All the callouts for the current profile are attempted exactly once. If any of the callouts fail, then processing returns to the profile generator.
  • If all the callouts succeed, then processing passes to rating.
To allow usage of more complex logic, during pricing configuration, you can specify a Next Logical State value for prerating profiles. When a profile is selected for processing by the prerating profile generator, the generator copies the Next Logical State value to the MtxDiamRoMsg.LogicalState field. After processing any callouts for the profile, if the MtxDiamRoMsg.LogicalState field is set to:
  • Any value, this forces a return to the profile generator to select another profile even if the prerating queries are successfully answered.
  • Null (not set) and all the queries are successful, the service logic proceeds to rating. If any of the callouts fail, then processing returns to the profile generator.

The MtxDiamRoMsg.LogicalState field allows you to set a numbered state for each pass through the prerating profile generator. The profile selected by the generator specifies the logical state (the value copied from the Next Logical State field) required for the next pass through the generator for the message. Use this feature to perform more queries based on the callout results for the previous query (by normalizing on the LogicalState field in the profile generator decision tables). This enables you to create complex prerating queries whilst, at the same time, minimizing the number of passes through the prerating profile generator.

LogicalState Field

The MtxDiamRoMsg.LogicalState field is a signed integer field. When the prerating profile generator is first called for a given session, it sets the MtxDiamRoMsg.LogicalState field to 0 (zero). The generator then selects a preting profile. After the call to the generator, the service logic deletes the LogicalState field, and then inspects the Next Logical State field configured for the selected profile. If Next Logical State is:
  • Set to a value, that value is copied into the MtxDiamRoMsg.LogicalState field. After performing the callouts for the current profile, processing returns to the profile generator to select another profile.
  • Not present, the MtxDiamRoMsg.LogicalState field remains empty. After performing the callouts for the current profile, processing passes to rating.
You can use normalizations on the LogicalState field in the prerating profile generator decision tables to select the next profile. You must use a signed integer normalizer.
Note: The Next Logical State field is also a signed integer field. It must contain a positive value (excluding zero). Zero and negative values are reserved for system use.

Using Empty Profiles

During pricing configuration, you can configure an empty prerating profile. An empty prerating profile is a profile that does not have any queries assigned to it. When an empty prerating profile is selected by the prerating profile generator, no callouts are performed and the message is passed on to rating. You can use this feature when designing complex prerating generator logic. You can configure the generator decision tables to select an empty profile instead of a SKIP when no more callouts are required, or when an error or a timeout occurs. This allows you to pass a message on to rating in an early decision table, instead of replicating the logic in later decision tables.

Note: When an empty prerating profile is selected by the generator, if MtxDiamRoMsg.LogicalState is set to:
  • Any value, the service logic returns to the generator logic to select another profile.
  • Null (not set), the service logic proceeds to rating.