GenerateCommissionDetails
This is an attached rule that can be used to add records to the AsCommissionDetail / AsCommissionDetailField table. A Transaction Math type "ObjectArray" can be configured to this rule when there is more than one commission needs to be calculated for a transaction.
Element/Tag | Definition | Attribute | Element/Attribute Value and Description |
---|---|---|---|
<GenerateCommissionDetails> | Required: The root element for GenerateCommissions BR |
|
|
<GenerateCommissionDetail> | Required and Non-Repeatable Element | ||
CLIENTGUID |
Required Attribute: MathVariable can be passed as a value. It is the Clientguid of the client to whom the commission is paid. |
||
ENTITYTYPE |
Required Attribute: MathVariable can be passed as a value. It identifies the entity type which has caused the commission. POLICY|SEGMENT|PLAN|CLIENT |
||
ENTITYGUID |
Required Attribute: MathVariable can be passed as a value. It identifies the actual entity which has caused the commission. |
||
TYPECODE |
Required Attribute: MathVariable can be passed as a value. It identifies the type of commission. ASCodeCommissionType |
||
STATUSCODE |
Required Attribute: MathVariable can be passed as a value. It identifies the Status of commission AsCodeCommissionStatus. |
||
<Tests> | Optional element: The opening and closing tags of the Test section. | ||
<Test> |
Required and repeatable element: Defines conditions for generating the Commission 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. |
A conditional expression | |
TYPE |
Required attribute: Specifies the method by which the test will be executed. EXPRESSION is the only supported value for this attribute. Expression |
||
<SourceComponentType> | Required,repeatable element: The content of this tag specifies the MoneyType linked with the commission. | AsCodeMoneyType | |
NAME | Required attribute: Specifies the commission amount linked to this specific MoneyType.This is a currency type MathVariable. | ||
<Fields> | Optional element: The opening and closing tags of the Fields section. | ||
<Field> | Required and repeatable element | ||
<From> | Required element: Specifies a MathVariable from which the data should be copied to the To Field of the commission record. | ||
<To> | Required element: Identifies the field to which the data should be copied. | ||
<CommissionDetailObjectArray> | Required element when more than one Commission needs to be created from the transaction. This is mutually exclusive of other elements. | An OBJECTARRAY containing Commission detail OBJECTS can be passed as a value to this tag | |
<ReversalProcessing> | Optional element: The opening and closing tag of the reversal processing control.When this tag is not configured then the commission records are SHADOWED while the Parent activity is reversed. | ||
<PreserveOnReversal> | Required element: The opening and closing tag to determine if the commission record needs to preserved as is even when the parent transaction is reversed. | ||
<Tests> | Optional element: The opening and closing tags of the Test section. | ||
<Test> |
Required and repeatable element: Defines conditions for generating the Commission 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 of the expressions must be true for the record to be created. |
A conditional expression | |
TYPE |
Required attribute: Specifies the method by which the test will execute. EXPRESSION is the only supported value for this attribute. Expression |
||
Status |
Optional and repeatable element: Specifies the Commission record status codes during which the commission records needs to be preserved even when the transaction is reversed. The status of the commission record will be evaluated during the reversal. |
AsCodeCommissionStatus |
XML Schema
GenerateCommission Businessrule with Individual Entity Creation:
<GenerateCommissionDetails>
<GenerateCommissionDetail CLIENTGUID='[ClientGuidMV]' ENTITYTYPE='[EntityTypeMV]' ENTITYGUID='[EntityGUIDMV]' TYPECODE='[TypeCodeMv]' STATUSCODE='[StatusCodeMV]'>
<Tests>
<Test>CreateCommissionMV = 'Yes'</Test>
</Tests>
<SourceComponentType NAME="BaseCommissionMv">BASEPRM</SourceComponentType>
<SourceComponentType NAME="RiderCommissionMv">RIDERPRM</SourceComponentType>
<Fields>
<Field>
<From>CommissionRecord_CommissionablePremium</From>
<To>CommissionablePremium</To>
</Field>
</Fields>
</GenerateCommissionDetail>
<ReversalProcessing>
<PreserveOnReversal>
<Tests>
<Test>ShadowonReversalMV = 'Yes'</Test>
<Status>GENRTD</Status>
<Status>02<<Status>PAID</Status>
</Tests>
</PreserveOnReversal>
</ReversalProcessing>
</GenerateCommissionDetails>
GenerateCommissions -Creating an Array of Commission:
<GenerateCommissionDetails>
<GenerateCommissionDetail>
<CommissionDetailObjectArray>CommissionObjectArrayMV</CommissionDetailObjectArray>
</GenerateCommissionDetail>
<ReversalProcessing>
<PreserveOnReversal>
<Tests>
<Test>ShadowonReversalMV = 'Yes'</Test>
<Status>GENRTD</Status>
<Status>02<<Status>PAID</Status>
</Tests>
</PreserveOnReversal>
</ReversalProcessing>
</GenerateCommissionDetails>