TransactionAllocationScreen
The TransactionAllocationScreen Business Rule defines the presentation and data entry of fund allocations and selection of investment models on the Allocation tab of an Activity. This rule is suitable for Policy level activities, and should not be included in the Transaction Business Rule Packet. If this rule is not present the user cannot provide Allocation data for the activity. An activity can alternatively obtain Allocations through the ReassignAllocation business rule.
Allocations allow an Activity to move money. It expresses a customer's instructions about the distribution of the Policy's investments into or out of one or more funds and a change to the investment positions in one or more funds.
| Element | Attributes | Parent Element | Description | Element/Attribute Values |
|---|---|---|---|---|
| <TransactionAllocationScreen> |
Required: Opening and Closing element for Transaction Allocation screen. |
|||
|
<AllocationDate> |
<TransactionAllocationScreen> |
Optional: This indicates that funds and models available for allocation should be based on the effective date specified in this element. |
Values:
|
|
|
<Precision> |
<TransactionAllocationScreen> |
Optional: This element specifies the number of digits allowed after the decimal point in an allocation. |
||
|
<PercentPrecision> |
|
<Precision> |
Required: Defines the precision for Percent allocation |
Values:
|
|
<DefaultAllocation> |
|
<TransactionAllocationScreen> |
Optional: Default Allocation specifies whether to use a Plan allocation, Policy allocation, Program allocation or a specific model as the default allocation. Default allocations are loaded and presented on the screen during the initial screen load. |
|
|
|
LEVEL |
<DefaultAllocation> |
Required: This attribute specifies the source of a default allocation. Default allocations are sourced from the Policy, the Policy's Plan, a Policy Program or a Model. The identified allocation source must exist. |
Values:
|
|
|
DISABLED |
<DefaultAllocation> |
Optional: This attribute will disable the allocation. An allocation is normally enabled. |
Values:
|
|
|
TYPECODE |
<DefaultAllocation> |
Optional: This attribute provides the allocation type code. It is required for Plan, Policy and Program level allocations. The attribute is ignored for Model level allocations. |
Values:
|
|
|
MODELNAME |
<DefaultAllocation> |
Optional: This attribute provides the name of the model allocation to display. It is required for Model level allocations. The attribute is ignored for Plan, Policy and Program level allocations. Values:
|
|
|
|
ALLOWEVENTS |
<DefaultAllocation> |
Optional: This attribute indicates when Events in this rule can be performed to populate the default allocation. |
Values:
|
|
<Allocation> |
|
<TransactionAllocationScreen> |
Required, Repeatable: The structure of this element identifies the allocation sections and population of options for the allocation methods, funds and models available to the user. |
|
|
|
ID |
<Allocation> |
Optional: The attribute provides a name for the allocation section. The name may be used by an Action to direct the results of an Action to the Allocation section. The value of the attribute must be a unique name in this rule. |
Values:
|
|
|
SWITCH |
<Allocation> |
Optional: This attribute designates the section as one of the two sides applicable to a transfer. If a FROM allocation is configured, a TO allocation section must also be configured in this rule. |
Values:
|
|
|
ALLOWMIXEDMETHODS |
<Allocation> |
Optional: This attribute indicates when mixed allocation methods are allowed. Normally, all funds in an allocation apply a single allocation method chosen by the user. When mixed methods are allowed, an allocation may apply a different allocation method per fund. |
Values:
|
|
<AllocationMethods> |
|
<Allocation> |
Required: This element contains one or more allocation methods to populate the options available in the Allocation Method drop-down list on the Transaction's Allocation screen. |
|
|
<AllocationMethod> |
|
<AllocationMethods> |
Required, Repeatable: This element identifies a single allocation method. The element is repeated to provide multiple allocations methods. |
Values:
|
|
<FilterOnValuation> |
|
<Allocation> |
Optional: This element indicates that the funds available for user choice in the funds list is limited to funds with non-zero cash value. |
Values:
|
|
|
VALUATIONLEVEL |
<FilterOnValuation> |
Optional: This attribute indicates that fund values may be contained in child funds. If a child fund does not exist for a fund, the fund's value is contained within the parent fund. |
Values:
|
|
<Funds> |
|
<Allocation> |
Optional: This element's structure provides an ability to limit and filter funds listed in the fund's drop-down list. |
|
|
<Models> |
|
<Allocation> |
Optional: This element's structure provides an ability to limit and filter models listed in the model's drop-down list. The <Models> structure is not applicable when <Allocation> SWITCH="FROM". |
|
|
ID |
<Funds>, <Models> |
Optional: The attribute provides a name for the parent element's section. The name may be used by an Action to direct the results of an Action to the parent element's section. The value of the attribute must be a unique name in this rule. |
Values:
|
|
| <FundLimit> |
|
<Funds> |
Optional: The element provides a maximum limit on the number of funds that can be allocated. When the element is not configured, there is no maximum. |
Values:
|
| <ModelLimit> |
|
<Models> |
Optional: The element provides a maximum limit on the number of models that can be allocated. When the element is not configured, there is no maximum. |
Values:
|
|
<ValueRanges> |
|
<Funds>, <Models> |
Optional: The element provides a structure indicating the minimum and maximum values for each fund's or model's allocation. |
|
|
<Percent> |
|
<ValueRanges> |
Required: This element provides the limits on the percentage values allowed on the allocation. |
|
|
MINIMUM |
<Percent> |
Required: The attribute provides the minimum percent value allowed. |
Values:
|
|
|
MAXIMUM |
<Percent> |
Required: The attribute provides the maximum percent value allowed. |
Values:
|
|
|
<FundCriteria> |
|
<Funds> |
Optional: This element provides a definition structure to filter the funds listed in the fund's drop-down list. Funds can be filtered by a SQL query or a filter configured by <FundFields> and optionally <FundStatuses>. |
|
|
<ModelCriteria> |
|
<Models> |
Optional: This element provides a definition structure to filter the models listed in the model's drop-down list. Models can be filtered by a SQL query or a filter configured by <ModelFields> and optionally <ModelStatuses>. |
|
|
<Query> |
|
<FundCriteria>, <ModelCriteria> |
Optional: This element contains a SQL query that returns FundGUIDs or ModelGUIDs to build the respective drop-down list. This element cannot be configured in combination with <FundFields> and <FundStatuses> or <ModelFields> and <ModelStatuses>.
|
Values:
|
|
<FundFields> |
|
<FundCriteria> |
Optional: This element provides a structure to filter the funds list based on fund field values. |
|
|
<ModelFields> |
|
<ModelCriteria> |
Optional: This element provides a structure to filter the models list based on model field values. |
|
|
<And> |
|
<FundFields>, <ModelFields> |
Optional: This element allows a complex filter definition. It indicates a logical "and" relationship between multiple child field elements. |
|
| <Or> |
|
<FundFields>, <ModelFields> |
Optional: This element allows a complex filter definition. It indicates a logical "or" relationship between multiple child field elements. |
|
|
<FundField> |
|
<FundFields>, <And>, <Or> |
Required, Optionally Repeated: This element defines a single fund field to be used in the filter. A simple filter uses one <FundField> element and cannot be repeated as a direct child element of the <FundFields> element. A complex filter repeats <FundField> elements which are direct children elements of <And> or <Or> elements. |
|
|
<ModelField> |
|
<ModelFields>,<And>, <Or> |
Required, Optionally Repeated: This element defines a single model field to be used in the filter. A simple filter uses one <ModelField> element and cannot be repeated as a direct child element of the <ModelFields> element. A complex filter repeats <ModelField> elements which are direct children elements of <And> or <Or> elements. |
|
|
FIELDNAME |
<FundField>, <ModelField> |
Required: The attribute provides the fund's or model's field name to use in the filter. Fixed and dynamic fields are supported. |
Values:
|
|
|
DATATYPE |
<FundField>, <ModelField> |
Required: The attribute provides the data type of the field. |
Values:
|
|
|
OPERATOR |
<FundField>, <ModelField> |
Required: The attribute provides a comparison operator. |
Values:
|
|
|
<Value> |
|
<FundField>, <ModelField> |
Required, Repeatable: The element provides a single value to compare to the fund field's or model field's value. It is repeated to provide multiple values to the comparison OPERATOR. |
Values:
|
|
<FundStatuses> |
|
<FundCriteria> |
Optional: This element structure defines a filter by a fund's status values. This element can be combined with the <FundFields> element. In this scenario an "and" relationship is established where a fund must pass the <FundFields> filter and pass the <FundStatuses> filter. |
|
|
<ModelStatuses> |
|
<ModelCriteria> |
Optional: This element structure defines a filter by a model's status values. This element can be combined with the <ModelFields> element. In this scenario an "and" relationship is established where a model must pass the <ModelFields> filter and pass the <ModelStatuses> filter. |
|
|
TYPE |
<FundStatuses>, <ModelStatuses> |
Required: The attribute indicates when a fund or model will be included in or excluded from the respective fund or model drop-down list. |
Values:
|
|
|
<FundStatus> |
|
<FundStatuses> |
Required, Repeatable: This element provides a single fund status code. The element is repeated to provide multiple codes to test. |
Values:
|
| <ModelStatus> |
|
<ModelStatuses> |
Required, Repeatable: This element provides a single model status code. The element is repeated to provide multiple codes to test. |
Values:
|
|
<ScreenMath> |
|
<TransactionAllocationScreen> |
Optional: See Action/Events element. In addition to the common description, <ScreenMath> has access to the parent activity's fields during a CALLEDEVENT with the syntax Activity:[field name]. |
|
|
<Events> |
|
<TransactionAllocationScreen> |
Optional: See Action/Events element. |
|
|
<Event> |
<Events> |
Optional: See Action/Events element. This element provides the common ability to react to ONLOAD, ONCHANGE and ONSUBMIT events occurring on the transaction's allocation screen. The configuration definition described below provides additional functionality not described in the common ActionEvents element. |
||
|
|
TYPE | <Event> |
Optional: See Action/Events element. In addition to the common types of events there is a CALLEDEVENT type. This allows a connection to the transaction's activity screen where an event there can subsequently continue in the transaction's allocation screen. The transaction's configuration triggers this through a CALLEXTERNALEVENT event type. This is commonly used to show or hide sections of the allocation screen based on the activity's data . |
Values:
|
|
|
ID | <Event> |
Optional: See Action/Events element. In addition to the common description of the attribute, this attribute is required when TYPE="CALLEDEVENT".
|
Values:
|
|
<Actions> |
|
<TransactionAllocationScreen> |
Optional: See Action/Events element. In addition to the common description, <Actions> has access to the parent activity's fields during a CALLEDEVENT with the syntax Activity:[field name]. |
|
|
<ActionSet> |
|
<Actions> |
Optional, Repeatable: See Action/Events element. |
|
|
<Condition> |
|
<ActionSet> |
Optional, Repeatable: See Action/Events element. |
|
|
<Action> |
|
<ActionSet>, <Condition> |
Required, Repeatable: See Action/Events element. This rule provides additional functionality not described in the common ActionEvents element. |
Values:
|
|
|
ACTIONTYPE |
<Action> |
Required: In addition to the common description, the description for the following attribute values are further modified in this rule.
|
Values:
|
|
|
SECTIONNAME |
<Action> |
Optional: This attribute provides the name of the allocation section to target with the action being defined. |
Values:
|
|
|
FIELD |
<Action> |
Optional: See Action/Events element. In this rule the only applicable field name is EqualPercent. |
Values:
|
XML Schema
<TransactionAllocationScreen>
<AllocationDate>[Activity:EffectiveDate | policy field]</AllocationDate>
<Precision>
<PercentPrecision>[integer]</PercentPrecision>
</Precision>
<DefaultAllocation LEVEL="[Plan | Policy | Model | Program]" DISABLED="[No | Yes]" TYPECODE="[code value]" MODELNAME="[model name | policy field]" ALLOWEVENTS="[No | Yes]"></DefaultAllocation>
<Allocation SWITCH="[FROM | TO]" ALLOWMIXEDMETHODS="[No | Yes]" ID="[literal]">
<AllocationMethods>
<AllocationMethod>[code value]</AllocationMethod>
<AllocationMethod>...</AllocationMethod>
</AllocationMethods>
<FilterOnValuation VALUATIONLEVEL="[Parent | Child]">[No | Yes]</FilterOnValuation>
<Funds ID="[literal]">
<FundLimit>[integer]</FundLimit>
<ValueRanges>
<Percent MINIMUM="[integer]" MAXIMUM="[integer]"></Percent>
</ValueRanges>
<FundCriteria>
<Query>[sql query]</Query>
<FundFields>
<FundField FIELDNAME="[FundName | TypeCode | field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</FundField>
<And>
<FundField FIELDNAME="[FundName | TypeCode | field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</FundField>
<FundField>...</FundField>
</And>
<Or>
<FundField FIELDNAME="[FundName | TypeCode | field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</FundField>
<FundField>...</FundField>
</Or>
</FundFields>
<FundStatuses TYPE="[INCLUDE | EXCLUDE]">
<FundStatus>[code value]</FundStatus>
<FundStatus>...</FundStatus>
</FundStatuses>
</FundCriteria>
</Funds>
<Models ID="[literal]">
<ModelLimit>[integer]</ModelLimit>
<ValueRanges>
<Percent MINIMUM="[integer]" MAXIMUM="[integer]"></Percent>
</ValueRanges>
<ModelCriteria>
<Query>[sql query]</Query>
<ModelFields>
<ModelField FIELDNAME="[field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</ModelField>
<And>
<ModelField FIELDNAME="[field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</ModelField>
<ModelField>...</ModelField>
</And>
<Or>
<ModelField FIELDNAME="[field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | policy field]</Value>
<Value>...</Value>
</ModelField>
<ModelField>...</ModelField>
</Or>
</ModelFields>
<ModelStatuses TYPE="[INCLUDE | EXCLUDE]">
<ModelStatus>[code value]</ModelStatus>
<ModelStatus>...</ModelStatus>
</ModelStatuses>
</ModelCriteria>
</Models>
</Allocation>
<Allocation>...</Allocation>
<Events>
<Event>...</Event>
<Event TYPE="CALLEDEVENT" ID="[literal]">...</Event>
</Events>
<ScreenMath>...</ScreenMath>
<Actions>
<ActionSet>
<Action ACTIONTYPE="[ASSIGN | HIDE | SHOW]" SECTIONNAME="[section name]">...</Action>
<Action ACTIONTYPE="[ASSIGN | HIDE | SHOW]" SECTIONNAME="[section name]" FIELD="EqualPercent">...</Action>
<Action>...</Action>
</ActionSet>
<ActionSet>
<Condition IF="...">
<Action ACTIONTYPE="[ASSIGN | HIDE | SHOW]" SECTIONNAME="[section name]">...</Action>
<Action ACTIONTYPE="[ASSIGN | HIDE | SHOW]" SECTIONNAME="[section name]" FIELD="EqualPercent">...</Action>
<Action>...</Action>
</Condition>
</ActionSet>
</Actions>
</TransactionAllocationScreen>
XML Example
<TransactionAllocationScreen>
<Precision>
<PercentPrecision>2</PercentPrecision>
</Precision>
<DefaultAllocation LEVEL="Policy" DISABLED="No" TYPECODE="02"/>
<Allocation ID="FromAllocation" SWITCH="From" ALLOWMIXEDMETHODS="Yes">
<AllocationMethods>
<AllocationMethod>01</AllocationMethod>
<AllocationMethod>02</AllocationMethod>
<AllocationMethod>03</AllocationMethod>
</AllocationMethods>
<Funds>
<FundLimit>10</FundLimit>
</Funds>
</Allocation>
<Allocation ID="ToAllocation" SWITCH="To">
<AllocationMethods>
<AllocationMethod>01</AllocationMethod>
</AllocationMethods>
<FilterOnValuation>Yes</FilterOnValuation>
<Funds>
<FundLimit>4</FundLimit>
<ValueRanges>
<Percent MINIMUM="10" MAXIMUM="100"/>
</ValueRanges>
<FundCriteria>
<FundFields>
<And>
<FundField FIELDNAME="FundName" DATATYPE="TEXT" OPERATOR="Equal">
<Value>High Income</Value>
<Value>Balanced</Value>
</FundField>
<FundField FIELDNAME="FundCategory" DATATYPE="TEXT" OPERATOR="Equal">
<Value>01</Value>
<Value>02</Value>
</FundField>
</And>
<Or>
<FundField FIELDNAME="FundModel" DATATYPE="TEXT" OPERATOR="Equal">
<Value>Model01</Value>
<Value>Model02</Value>
</FundField>
<FundField FIELDNAME="FundValue" DATATYPE="TEXT" OPERATOR="NotEqual">
<Value>100</Value>
<Value>200</Value>
</FundField>
</Or>
</FundFields>
<FundStatuses TYPE="EXCLUDE">
<FundStatus>02</FundStatus>
<FundStatus>03</FundStatus>
<FundStatus>04</FundStatus>
<FundStatus>05</FundStatus>
</FundStatuses>
</FundCriteria>
</Funds>
<Models>
<ModelLimit>2</ModelLimit>
<ValueRanges>
<Percent MINIMUM="1" MAXIMUM="100"/>
</ValueRanges>
<ModelCriteria>
<ModelFields>
<ModelField FIELDNAME="ModelName" DATATYPE="TEXT" OPERATOR="Like">
<Value>Moderate Model (Asset Class)</Value>
<Value>Aggressive Model (No Asset Class)</Value>
</ModelField>
</ModelFields>
<ModelStatuses TYPE="INCLUDE"/>
</ModelCriteria>
</Models>
</Allocation>
<Events>
<Event TYPE="ONLOAD">
<ActionSet ID="OnLoadEvents"/>
</Event>
<Event TYPE="ONSUBMIT">
<ActionSet ID="FinalValidation"/>
</Event>
<Event TYPE="CALLEDEVENT" ID="AllocationEvent">
<ActionSet ID=" EqualPercentChange"/>
</Event>
<Event TYPE="CALLEDEVENT" ID="EventBasedOnActivityField">
<Math ID="DefaultAllocationMath"/>
<ActionSet ID="DefaultAllocation"/>
</Event>
</Events>
<ScreenMath>
<Math ID="GlobalScreenMath" GLOBAL="Yes">
<MathVariables>
<MathVariable VARIABLENAME="Checked" TYPE="VALUE" DATATYPE="TEXT">CHECKED</MathVariable>
</MathVariables>
</Math>
<Math ID="DefaultAllocationMath" GLOBAL="No">
<MathVariables>
<MathVariable VARIABLENAME="Yes" TYPE="VALUE" DATATYPE="TEXT">Yes</MathVariable>
<MathVariable VARIABLENAME="No" TYPE="VALUE" DATATYPE="TEXT">No</MathVariable>
</MathVariables>
</Math>
</ScreenMath>
<Actions>
<ActionSet ID="OnLoadEvents">
<Condition IF="Activity:ForceEqualPercent = 'Yes'">
<Action ACTIONTYPE="ASSIGN" SECTIONNAME="FromAllocation" FIELD="EqualPercent">GlobalScreenMath:Checked</Action>
</Condition>
<Action ACTIONTYPE="HIDE" SECTIONNAME="ToAllocation" FIELD="EqualPercent"/>
<Condition IF="Activity:AutoTransfer = 'Yes'">
<Action ACTIONTYPE="HIDE" SECTIONNAME="FromAllocation"/>
<Else>
<Action ACTIONTYPE="SHOW" SECTIONNAME="FromAllocation"/>
</Else>
</Condition>
</ActionSet>
<ActionSet ID="EqualPercentChange">
<Action ACTIONTYPE="ASSIGN" SECTIONNAME="FromAllocation" FIELD="EqualPercent">GlobalScreenMath:Checked</Action>
</ActionSet>
<ActionSet ID="DefaultAllocation">
<Condition IF="Activity:CallExternalEvent = 'CHECKED'">
<Action ACTIONTYPE="ASSIGN" SECTIONNAME="FromAllocation">14</Action>
<Else>
<Action ACTIONTYPE="ASSIGN" SECTIONNAME="FromAllocation">01</Action>
</Condition>
</ActionSet>
</Actions>
</TransactionAllocationScreen>