ReassignAllocations
The ReassignAllocations business rule is used to tell the system what funds to use in conjunction with Assignment. This can be used to apply all money into a defined fund. This is useful when the selection of allocation by the end user should be restricted. An allocation record is created when this rule is processed. The allocation record contains the fund the money is moving into. This business rule can also be used to pull all money from a specified fund into another fund.
The ReassignAllocations business rule builds allocations that can be used by an Assignment configured within the Transaction to which the rule is attached. The rule can be used for most of the Assignment Types and is inappropriate for Assignment Types that generate their own allocations.
- An Assignment Type withdrawing money contains the allocations generated by the rule's <From> element.
- An Assignment Type adding money contains the allocations generated by the rule's <To> element.
- An Assignment Type that transfers, exchanges or switches money from a set of funds to another set of funds generates the allocations from both elements, <From> and <To>.
Activity or Product/Plan configuration design can allow for user allocation input because the allocations generated by the ReassignAllocations rule takes the precedence and replace any user entered allocations.
Note: In some activity or Product/Plan designs, a user does not enter activity allocations and the ReassignAllocations is the sole provider of the activity's allocations.
The source of the allocations generated by the ReassignAllocations rule can be the result of SQL statements, the Plan's defined allocations, any one of many Policy allocations, any one or more of the Plan's Models or any collection of funds created by the activity's math.
Allocations identify the parent funds in which money is moved and the amount, percentage or number of units to move.
Note:
- This should be used in lieu of configuring any Allocation elements.
Even if allocations tags are configured and selected
in an activity, the attached ReassignAllocation business rule configuration
takes precedence and applies money according to the business rule.
- ReassignAllocations writes to AsAllocation at the activity
processing level. It will also overwrite the presence
of the allocation element and any previous allocation records and writes
the new records at the point the activity is saved.
- Used with transactions like FullSurrender, AutoTransfer
(where the money is moved from one fund to another), InitialPremium, etc.
Rule Usage
- Fixed billed and payment products with no investment feature can benefit from a separation of payment acceptance activities from the activities paying costs and expenses when due.
- Activities for Products with a single investment fund. Suitable for whole life products or term life with a cash value option or single funded cash value products.
- Activities for Products where allocations are defined by configuration and not user input.
- Activities where user input can be conditionally replaced by predefined allocations or calculated within activity math.
| Element | Attributes | Parent Element | Description | Element/Attribute Vlaues |
|---|---|---|---|---|
| <ReassignAllocations> | This is the root element for the rule. | |||
| <From> | <ReassignAllocations> |
Optional: This element identifies the funds from which money will be removed. The element's value is a SQL statement when the COLLECTION, ALLOCATIONMETHOD and WRITEALLOCATIONSET attributes are not present on this element. This element cannot be used to add money to funds. |
|
|
| COLLECTION | <From> |
Optional: This attribute identifies the funds from which money will be removed through a collection type MathVariable. The ALLOCATIONMETHOD attribute is required along with this attribute. |
|
|
| WRITEALLOCATIONSET | <From> |
Optional: This attribute indicates when the sourced allocation should also create AllocationSet records to emulate UI entered allocations. This allows the same Activity to contain a WriteDefaultAllocations rule. This Activity can then remove money as instructed by a set of removal allocations and update a Policy Allocation, via the WriteDefaultAllocations rule, with the same set of removal allocations. The ALLOCATIONMETHOD attribute is required along with this attribute. |
|
|
| ALLOCATIONMETHOD | <From> |
Optional: This attribute provides the allocation method that explains the value portion of the collection provided in the COLLECTION attribute or <Fund> sub-element. The methods applicable in this rule are limited to 3 values. This attribute is required when either the COLLECTION or WRITEALLOCATIONSET attribute is configured. |
|
|
| <Funds> | <From> |
Optional: This element defines a list of funds and their ratios or amounts to be removed by the assignment. This element is required when the WRITEALLOCATIONSET attribute is Yes. |
||
| <Fund> | <Funds> |
Required: This element provides the list of funds through a collection. |
|
|
| <To> | <ReassignAllocations> |
Optional: This element identifies the funds to which money will be added. Money can be applied to an Activity through a combination of allocations of Funds and/or one or more Models. The element's value is a SQL statement when the COLLECTION, ALLOCATIONMETHOD, LEVEL, TYPECODE, MODELNAME and WRITEALLOCATIONSET attributes are not present on this element. Allocations can be defined in one of four ways.
This element cannot be used to remove money from funds. |
|
|
| COLLECTION | <To> |
Optional: This attribute identifies the funds to which money will be added through a collection type MathVariable. The ALLOCATIONMETHOD attribute is required along with this attribute. |
|
|
| WRITEALLOCATIONSET | <To> |
Optional: This attribute indicates when the sourced allocation should also create AllocationSet records to emulate UI entered allocations. This allows the same Activity to contain a WriteDefaultAllocations rule. This Activity can then add money as instructed by a set of allocations and update a Policy Allocation, via the WriteDefaultAllocations rule, with the same set of allocations. The COLLECTION and ALLOCATIONMETHOD attributes are required along with this attribute. |
|
|
| ALLOCATIONMETHOD | <To> |
Optional: This attribute provides the allocation method that explains the value portion of the collection in the COLLECTION attribute or <Fund> element. The methods applicable in this rule are limited to 3 values. This attribute is required when the COLLECTION attribute is configured. |
|
|
| LEVEL | <To> |
Optional: This attribute provides a source of an allocation that can exist on the Plan, Policy or a Model. Allocations that apply money can be persisted at any of these levels and this is a short cut to those allocations. |
|
|
| TYPECODE | <To> |
Optional: This attribute identifies which of the Policy allocations will be the source of the Activity's allocations. This attribute is required when the LEVEL attribute is Policy. |
|
|
| MODELNAME | <To> |
Optional: This attribute identifies which of the defined Model allocations will be the source of the Activity's allocations. This attribute is required when the LEVEL attribute is Model. |
|
|
| <Models> | <To> |
Optional: This element provides a structure to define one or more Models to supply as the Activity's allocations. |
||
| <Model> | <Models> |
Required, Repeatable: This element provides a single Model that becomes the Activity's allocation. This element is repeated to allocate money to more than one Model. |
|
|
| ALLOCATIONPERCENT | <Model> |
Required: This attribute provides a ratio of the applied amount to allocate to the specific Model. The total of ALLOCATIONPERCENT values cannot exceed 1 and can total less than 1. |
||
| MODELNAME | <Model> |
Required: This attribute provides the name of the Model being used to source the Activity's Allocation. |
|
|
| <Funds> | <To> |
Optional: This element provides a structure to define one or more Funds to supply as the Activity's allocations. |
||
| <Fund> | <Funds> |
Required, Repeatable: This element provides a single collection of independent Funds that becomes the Activity's allocation. This element is repeated to provide multiple sets of Allocations. |
|
|
| ALLOCATIONPERCENT | <Fund> |
Required: This attribute provides a ratio of the applied amount to allocate to the set of funds provided by the parent <Fund> element. |
|
XML Schema
<!-- Simple removal allocation -->
<ReassignAllocations>
<From>[sql statement]</From>
...
</ReassignAllocations>
<!-- Removal allocation from a collection -->
<ReassignAllocations>
<From COLLECTION="[math variable]" ALLOCATIONMETHOD="[01 | 02 | 03]"></From>
...
</ReassignAllocations>
<!-- Removal allocation to build an AllocationSet -->
<ReassignAllocations>
<From ALLOCATIONMETHOD="[01 | 02]" WRITEALLOCATIONSET="[No | Yes]">
<Funds>
<Fund>[math variable]</Fund>
</Funds>
</From>
...
</ReassignAllocations>
<!-- Simple apply allocation -->
<ReassignAllocations>
...
<To>[sql statement]</To>
</ReassignAllocations>
<!-- Apply allocation from a collection -->
<ReassignAllocations>
...
<To COLLECTION="[math variable]" ALLOCATIONMETHOD="[01 | 02 | 03]"></To>
</ReassignAllocations>
<!-- Apply allocation from Plan allocations -->
<ReassignAllocations>
...
<To LEVEL="Plan"></To>
</ReassignAllocations>
<!-- Apply allocation from Policy allocations -->
<ReassignAllocations>
...
<To LEVEL="Policy" TYPECODE="[code]"></To>
</ReassignAllocations>
<!-- Apply allocation from a Model allocation -->
<ReassignAllocations>
...
<To LEVEL="Model" MODELNAME="[lilteral | Policy:PolicyField]"></To>
</ReassignAllocations>
<!-- Apply allocation to build an AllocationSet to update Policy Allocations -->
<ReassignAllocations>
...
<To ALLOCATIONMETHOD="01" WRITEALLOCATIONSET="[No | Yes]">
<Models>
<Model ALLOCATIONPERCENT="[math variable]" MODELNAME="[literal | math variable]">[math variable]</Model>
<Model>...</Model>
</Models>
<Funds>
<Fund ALLOCATIONPERCENT="[math variable]">[math variable]</Fund>
<Fund>...</Fund>
</Funds>
</To>
</ReassignAllocations>
XML Examples
Apply Allocation from Policy Allocation Example
<ReassignAllocations>
<To LEVEL="Policy" TYPECODE="14"></To>
</ReassignAllocations>
Transfer to Model Allocation Example
<ReassignAllocations>
<From>SELECT AsAllocation.FundGUID, '01',-1 FROM AsAllocation WHERE AsAllocation.TypeCode = '02' AND AsAllocation.RelatedGUID = '[Policy:PolicyGUID]'</From>
<To LEVEL="Model" MODELNAME="LifeStyle Moderate Portfolio"/>
</ReassignAllocations>
Removal Allocation from Collection Example
<ReassignAllocations>
<From COLLECTION="RemovalCollectionMV" ALLOCATIONMETHOD="01" />
</ReassignAllocations>
Transfer Allocation to build AllocationSet
<ReassignAllocations>
<From ALLOCATIONMETHOD="02" WRITEALLOCATIONSET="Yes">
<Funds>
<Fund>DollarCostAvgCollectionMV</Fund>
</Funds>
</From>
<To ALLOCATIONMETHOD="01" WRITEALLOCATIONSET="Yes">
<Funds>
<Fund ALLOCATIONPERCENT="ApplyPctMV">DollarCostAvgApplyCollectionMV</Fund>
</Funds>
</To>
</ReassignAllocations>