GenerateSuspense
The GenerateSuspense business rule is used to create a suspense record when the transaction to which the rule is attached is processed. The rule populates a value to the fixed fields in the AsSuspense table (SuspenseScreen) as well as to the dynamic fields in the AsSuspenseFields table. Examples of these fixed fields are: Policy Number, Effective Date, Amount, Type Code and Status. Some of those fields can be populated based on the configuration defined in this business rule. Suspense records and accounting to those suspense records can be conditionally created.
Note: This business rule should work in conjunction with the <Suspense> element in the Transaction. If the GenerateSuspense business rule exists and AutoEntry attribute for the <Suspense> element is defined as YES or not defined at all, then the GenerateSuspense business rule should be used. If the <Suspense> element's attribute AutoEntry= "NO" then GenerateSuspense will not be used, even if it exists and the normal validation for AutoEntry= "NO" should be followed.
| Element/Tag | Attributes | Parent Element | Description | Element/Attribute Values |
|---|---|---|---|---|
|
<GenerateSuspense> |
The required opening and closing elements of this business rule. |
|||
|
<Tests> |
|
<GenerateSuspense> |
Optional element: Allows configuration of test(s) to see if a section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / Repeatable element: Defines conditions for generating the suspense record. When the test expressions are true, the record will be created. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for creating a record. |
Required element value: Expression An expression to specify a condition. |
|
<Suspense> |
|
<GenerateSuspense> |
Required element: The opening and closing tag of the suspense section of the business rule. |
|
|
<Column> |
<Suspense> |
Optional / Repeatable element: The element provides a mapping of source data to target field to which the data will be persisted. The rule must contain one or more Column elements or one Fields elements. |
The math variable that is the source data.
|
|
|
NAME |
Required attribute: =Field Names in SuspenseScreen Name of the columns like TypeCode, Prefix, Amount in SuspenseScreen for which a value should be populated from the transaction where the GenerateSuspense business rule is attached. |
|||
|
<Fields> |
|
<Suspense> |
Optional element: A mapping structure of source data to target field that the data will be persisted to. The rule must contain one Fields element or one or more Column elements. |
|
|
<Field> |
|
<Fields> |
Required / Repeatable element: The opening and closing tag that encompasses <From> and <To> elements. |
The literal name of the field on the SuspenseScreen. |
|
<From> |
|
<Field> |
Required element: The <From> element will contain the name of Field or MathVariable in the transaction.
|
Required element value: String The field name or MathVariable in the transaction where the values should be copied from. |
|
<To> |
|
<Field> |
Required element: The <To> element will contain the name of a dynamic field in SuspenseScreen where the value should be copied to. |
Required element value: String The field name or MathVariable in the SuspenseScreen where the values should be copied to. |
|
<OptionText> |
<Field> |
<Field> |
Optional element: Identifies the source of the data that will update the OptionText for the field defined in the <To> element. Note: This element and the <OptionTextCollection> element are mutually exclusive.
Math Variable |
|
|
<CloseSuspense> |
|
<Suspense> |
Optional element: Suspense Records created with this rule default to Open status ('15) and AttachedAmount=0. This can be overridden by using the <CloseSuspense> element. |
|
|
<Tests> |
|
<CloseSuspense> |
Optional element: Allows configuration of Test(s) to see if a section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / repeatable element: Defines conditions for putting the suspense record to a Closed status from the default open status. When the test expressions are true, the record status will be changed to 'Closed'. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for overriding the suspense status to closed. |
Required element value: Expression An expression to specify a condition. . |
|
<GenerateAccounting> |
|
<Suspense> |
Optional element: This element is used to indicate whether the accounting should be generated for the newly created suspense record. |
|
|
<Tests> |
|
<GenerateAccounting> |
Optional element: Allows configuration of Test(s) to see if section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / repeatable element: Defines conditions for generating the accounting record. When the test expressions are true, the accounting record will be created. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for creating the accounting record. |
Required element value: Expression An expression to specify a condition. |
|
<ShadowSuspenseOnReversal> |
|
<Suspense> |
Optional element: This element is used to indicate whether the suspense should be shadowed upon the reversal of the transaction. This will prevent the suspense record from being used anymore. |
|
|
<Tests> |
|
<ShadowSuspenseOnReversal> |
Optional element: Allows configuration of Test(s) to see if section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / repeatable element: Defines conditions for shadowing the suspense on reversal of the transaction. When the test expressions are true, the suspense will be shadowed upon the reversal of the transaction. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for shadowing the suspense on reversal of the transaction. |
Required element value: Expression An expression to specify a condition. Note: when multiple <Test> elements are configured, it is expected that all Test elements resolve to TRUE for the overall <Tests> to be considered TRUE (logical AND operation) and the other parts of the configuration in relation to <Tests> element is executed |
|
<OpenSuspenseOnReversal> |
|
<Suspense> |
Optional element: This element is used to indicate whether a Closed Suspense should be put back to the Open Status upon reversing the transaction. |
|
|
<Tests> |
|
<OpenSuspenseOnReversal> |
Optional element: Allows configuration of Test(s) to see if section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / repeatable element: Defines conditions for putting a Closed Suspense back to the Open Status upon reversal of the transaction. When the test expressions are true, the suspense will be put to Open Status upon the reversal of the transaction. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for putting the suspense to Open status on reversal of the transaction. |
Required element value: Expression An expression to specify a condition. |
|
<GenerateAccountingOnReversal> |
|
<Suspense> |
Optional element: This element is used to indicate whether the accounting should be performed when the corresponding transaction is recycled or reversed. |
|
|
<Tests> |
|
<GenerateAccountingOnReversal> |
Optional element: Allows configuration of Test(s) to see if section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / Repeatable element: Defines conditions which indicate whether the accounting should be performed when the corresponding transaction is recycled or reversed. When the test expressions are true, the accounting will be performed upon the reversal or recycling of the transaction. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for performing the accounting on reversal or recycling of the transaction. |
Required element value: Expression An expression to specify a condition. |
|
<CloseSuspenseOnReversal> |
|
<Suspense> |
Optional element: This element is used to indicate whether a Suspense record should be Closed upon reversing the transaction. |
|
|
<Tests> |
|
<CloseSuspenseOnReversal> |
Optional element: Allows configuration of Test(s) to see if section of rule should be invoked. |
|
|
<Test> |
|
<Tests> |
Required / repeatable element: Defines conditions which to indicate whether a Suspense record should be Closed upon reversing the transaction. When the test expressions are true, the Suspense record will be Closed upon the reversal or recycling of the transaction. Test expressions support all logical operators. Context variables and MathVariables are also available for reference. When multiple <Test> elements are present, all the expressions must be true for Closing the Suspense record on reversal of the transaction. |
Required element value: Expression An expression to specify a condition. |
|
<InsertIntoMath> |
|
<GenerateSuspense> |
Optional element: This element is used to indicate that the SuspenseGUID of the newly generated Suspense should be stored in the Math section of the activity’s XMLData column. The GUID written back into the activity’s math can be a simple variable or a collection variable type for multiple suspense GUIDs. |
The variable written back into the math can be a string or a collection with an amount. |
|
NAME |
String The Name of the MathVariable to which the results should be written. |
|||
|
TYPE |
Used to define whether single or multiple entries should be written to the Math. TEXT - To indicate that only the SuspenseGUID should be written to the Math. |
|||
|
AMOUNT |
String- MathVariable that resolves to an Integer/Decimal value. Attribute is used only when the COLLECTION attribute is present. Used to populate a value from a collection back into the math. |
XML Schema
<GenerateSuspense RULE="[SuspenseScreen|SuspenseBatchScreen]">
<Tests>
<Test>"[Condition]"</Test>
</Tests>
<Suspense>
<Column NAME="[SuspenseScreenFieldName]">"[FieldName]"</Column>
<Fields>
<Field>
<From>"[FieldName]"</From>
<To>"[SuspenseScreenFieldName]"</To>
<OptionText>[MathVariable]</OptionText>
</Field>
</Fields>
<CloseSuspense>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</CloseSuspense>
<GenerateAccounting>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</GenerateAccounting>
<OpenSuspenseOnReversal>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</OpenSuspenseOnReversal>
<ShadowSuspenseOnReversal>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</ShadowSuspenseOnReversal>
<CloseSuspenseOnReversal>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</CloseSuspenseOnReversal>
<GenerateAccountingOnReversal>
<Tests>
<Test>"[Condition]"</Test>
</Tests>
</GenerateAccountingOnReversal>
</Suspense>
<InsertIntoMath NAME="[MathVariable]" TYPE="[TEXT|COLLECTION]"></InsertIntoMath>
</GenerateSuspense>
XML Example
<GenerateSuspense>
<Tests>
<Test TYPE="Expression">GenerateSuspense=Yes</Test>
</Tests>
<Suspense>
<ColumnNAME="TypeCode">'03'</Column>
<ColumnNAME="Amount">1000</Column>
<ColumnNAME="PolicyNumber"></Column>
<ColumnNAME="EffectiveDate"></Column>
<ColumnNAME="LastName"></Column>
<ColumnNAME="FirstName"></Column>
<ColumnNAME="AccountNumber">50002</Column>
<GenerateAccounting>
<Tests>
<Test>Yes = Yes</Test>
</Tests>
</GenerateAccounting>
<GenerateAccountingOnReversal>
<Tests>
<Test>Yes = Yes</Test>
</Tests>
</GenerateAccountingOnReversal>
<ShadowSuspenseOnReversal>
<Tests>
<Test>Amount = AttachedAmount</Test>
</Tests>
</ShadowSuspenseOnReversal>
</Suspense>
</GenerateSuspense>