Configuration Syntax
The following standards are specific to transactions and business rules.
Transactions
Make sure new transactions are defined with the correct rule type.
-
Example: Don’t define Policy-Financial activities as Policy-Document activities.
-
Names should not have spaces and should be camel case.
-
Use the same icons for like transactions across products via TransactionCosmetics.
Attached Business Rules
-
Attached business rules each have their own general structure.
-
With the exception of TransactionCosmetics, PostAssignmentValidateExpressions, and SummaryFields, business rules attached to transactions need to be included in the TransactionBusinessRulePacket or they will not be processed by the transaction.
-
TransactionCosmetics should not appear in the TransactionBusinessRulePacket.
-
The rules listed in the TransactionBusinessRulePacket are processed top to bottom.
-
ValidateExpressions should be the first rule in TransactionBusinessRulePacket. A business error generated by this rule will allow the system to bypass the other rules in the packet.
CopyBook and Function Business Rules
CopyBooks
-
The naming standard for creating a CopyBook rule is CopyBook-CopyBookName.
-
This is when you are not copying a complete transaction section.
-
Keep names generic so that they can be used across plans, but clear enough to identify how the CopyBook can be used.
-
Configure comments in a CopyBook to define all required inputs and important outputs so it is easier to use.
-
When creating a CopyBook, perform analysis to determine how flexible the CopyBook should be so it is most useful to other plans or business needs.
-
Remember that putting certain tags into a CopyBook will restrict how it is used.
-
Using the following tags may make it impossible to reuse a CopyBook:
-
EffectiveDate
-
Allocations
-
Suspense
-
Fields and math should be analyzed prior to placing in a CopyBook.
Functions
-
Naming standard: Function-FunctionName.
-
Prior to the function call, initialize all needed or useful outputs. If an output will not be used, it does not need to be initialized.
-
Use functions when a calculation or functionality can be broken out into discrete and logical pieces.
-
Use functions when the majority of MathVariables do not need to be stored or used outside of the function.
-
When possible use functions in the place of CopyBooks.
-
Initialize all meaningful parameters and return variables prior to the function call. A meaningful parameter is a field that will be used in any manner after the function is called such as math, spawns, validations or passed to another function.
Miscellaneous Best Practices
-
When trying to use Issue State within a transaction, do not use a SQL query.
-
Define a variable with
TYPE=”FIELD”
and usePolicy:IssueStateCode
for efficiency. -
During configuration development use
<!-- TBD -- >
for comments indicating future work will be done. Also, indicate the configuration that is missing. -
Use comments in a business rule or transaction to explain functionality.