ProgramAllocationScreen
The ProgramAllocationScreen business rule defines the presentation and data entry of fund allocations and investment model selections on the Program's Allocation tab. If this rule is not present the user cannot provide Allocation data for the Program.
Allocations allow a Program activity to move money. It expresses a customer's instructions about the distribution of the Policy's investments through a Program into one or more funds.
The ProgramAllocationScreen Business Rule overrides Allocations at the ProgramDefinition level so that activities called from program processing can directly use the allocation information specific to that Program instance. This screen rule is similar to the TransactionAllocationScreen business rule. That rule functions for Activities associated to a Transaction where this rule functions for Policy/Segment level Program instances associated to a ProgramDefinition.
| Elements | Attributes | Parent Element | Description | Element / Attribute Values |
|---|---|---|---|---|
|
<ProgramAllocationScreen> |
|
|
This is the root element for the rule. |
|
|
<AllocationDate> |
<ProgramAllocationScreen> |
Optional: This indicates that funds and models available for allocation should be based on the effective date specified in this element. |
|
|
|
<Precision> |
|
<ProgramAllocationScreen> |
Optional: This element specifies the number of digits allowed after the decimal point in an allocation. |
|
|
<PercentPrecision> |
|
<Precision> |
Required element: This element provides the number of digits following the decimal point for allocations entered as Percent.. |
|
| <DisableAllocations> | <ProgramAllocationScreen> |
Optional: This element's structure defines when the Allocation screen will be disabled. This decision is based on the Program instance's status. When this element is not configured, the Allocation screen is editable in all Program stages. |
||
| <ProgramStatus> |
<DisableAllocations> |
Required, Repeatable: This element provides a single program status. When the Program has this status value the Allocation screen will be disabled and cannot be edited by a user. This element is repeated to include more Program statuses to disable the screen. |
|
|
|
<DefaultAllocation> |
<ProgramAllocationScreen> |
Optional: Default Allocation specifies whether to use a Plan allocation, Policy allocation or a specific model as the default allocation. Default allocations are loaded and presented on the screen during the initial screen load and before any Allocation has been persisted for the Program instance. |
|
|
|
|
LEVEL |
<DefaultAllocation> |
Required: This attribute specifies the source of a default allocation. Default allocations are sourced from the Policy, the Policy's Plan or a Model. The identified allocation source must exist. |
|
|
|
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. |
|
|
|
MODELNAME |
<DefaultAllocation> |
Optional: If Model level is selected, this attribute specifies the model name. This attribute sets the initial allocation presentation to the model named here. It is required to initially present a Model level allocations. The attribute is ignored for Plan and Policy level allocations. |
|
|
<Allocation> |
|
<ProgramAllocationScreen> |
Required, Repeatable: This element's structure identifies the allocation sections and option population for the allocation methods, funds and models available to the user. |
|
|
|
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. |
|
|
|
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. |
|
|
|
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 the Action to the Allocation section. The value of the attribute must be a unique name in this rule. |
|
|
<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 Program's Allocation screen. If the element is not configured the drop-down list will be empty. |
|
|
<AllocationMethod> |
|
<AllocationMethods> |
Required, Repeatable: This element identifies a single allocation method. Allocation methods configured in this element will be available for selection in the Allocation Method drop-down list on the Program Allocation screen. The element is repeated to provide multiple allocations methods. |
|
|
<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 structure. The name may be used by an Action to direct the results of the Action to the parent element's structure. The value of the attribute must be a unique name in this rule. |
|
|
<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. |
|
|
<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. |
|
|
<ValueRanges> |
|
<Funds>, <Models> |
Optional element: The element provides a structure indicating the minimum and maximum values for each fund's or model's allocation. |
|
|
<Percent> |
|
<ValueRanges> |
Required: If ValueRanges is used. Either the MINIMUM or MAXIMUM attribute is required. |
|
|
|
MINIMUM |
<Percent> |
Required: The attribute provides the minimum percent value allowed. |
|
|
|
MAXIMUM |
<Percent> |
Required: The attribute provides the maximum percent value allowed. |
|
|
<FundCriteria> |
|
<Funds> |
Optional: This element provides a definition structure to filter the funds listed in the fund's drop-down list. Funds are filtered by a SQL query or a filter on <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 are filtered by a SQL query or a filter on <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>. |
|
|
|
<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 compound filter definition. It indicates a logical "and" relationship between multiple child field filter elements. |
|
|
<Or> |
|
<FundFields>, <ModelFields> |
Optional: This element allows a compound filter definition. It indicates a logical "or" relationship between multiple child field filter elements. |
|
|
<FundField>
|
|
<FundFields>, <And>, <Or> |
Required, Repeatable: This element defines a single fund field 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> and <Or> elements. If this element is repeated outside of <And> and <Or> elements, the system constructs a logical "and" relationship. |
|
|
<ModelField> |
|
<ModelFields>, <And>, <Or> |
Required, Repeatable: This element defines a single model field 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> and <Or> elements. If this element is repeated outside of <And> and <Or> elements, the system constructs a logical "and" relationship. |
|
|
|
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. |
|
|
|
DATATYPE |
<FundField>, <ModelField> |
Required: The attribute provides the data type of the field. |
|
|
|
OPERATOR |
<FundField>, <ModelField> |
Required: The attribute provides a comparison operator.
Equal / NotEqual / Like The code will wrap the value with % on both sides. The Like option only applies to TEXT. |
|
|
<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. |
|
|
<FundStatuses> |
|
<FundCriteria> |
Optional: This element structure defines a filter on 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 on 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. |
|
|
<FundStatus> |
|
<FundStatuses> |
Required, Repeatable: This element provides a single fund status code. The element is repeated to provide multiple codes to test. |
|
|
<ModelStatus> |
|
<ModelStatuses> |
Required, Repeatable: This element provides a single model status code. The element is repeated to provide multiple codes to test. |
|
| <Events> |
<ProgramAllocationScreen> |
Optional: See Actions/Events article under Common Elements topic. |
|
|
| <Event> |
<Events> |
Optional: See Actions/Events article under Common Elements topic. This element provides the common ability to react to ONLOAD, ONCHANGE and ONSUBMIT events occurring on the program's allocation screen. The configuration definition described below provides additional functionality not described in the common ActionEvents element. |
|
|
| TYPE |
<Event> |
Optional: See Actions/Events article under Common Elements topic. In addition to the common types of events there is a CALLEDEVENT type. This allows a connection to the program's screen where an event there can subsequently continue in the program's allocation screen. The ProgramDefinition configuration triggers this through a CALLEXTERNALEVENT event type. This is commonly used to show or hide sections of the allocation screen based on the program data. |
|
|
| ID |
<Event> |
Optional: See Actions/Events article under Common Elements topic. In addition to the common description of the attribute, this attribute is required when TYPE="CALLEDEVENT". |
|
|
| <ScreenMath> |
<ProgramAllocationScreen> |
Optional: See Actions/Events article under Common Elements topic. In addition to the common description, <ScreenMath> has access to the program instance's fields during a CALLEDEVENT with the syntax Program:[field name]. |
|
|
| <Actions> |
<ProgramAllocationScreen> |
Optional: See Actions/Events article under Common Elements topic. In addition to the common description, <Actions> has access to the program instance's fields during a CALLEDEVENT with the syntax Program:[field name]. |
|
|
| <ActionSet> |
<Actions> |
Optional, Repeatable: See Actions/Events article under Common Elements topic. This is provided for context of the remaining elements and attributes. |
|
|
|
<Condition> |
<ActionSet> |
Optional, Repeatable: See Actions/Events article under Common Elements topic. This is provided for context of the remaining elements and attributes. |
|
|
| <Action> | <ActionSet>, <Condition> |
Required, Repeatable: See Actions/Events article under Common Elements topic. This rule provides additional functionality not described in the common ActionEvents element. |
|
|
| ACTIONTYPE | <Action> |
Required: In addition to the common description, the description for the attribute's values are further modified in this rule. |
|
|
| SECTIONNAME | <Action> |
Optional: This attribute provides the name of the allocation section to target with the action being defined. |
|
|
| FIELD | <Action> |
Optional: See Actions/Events article under Common Elements topic. In this rule the only applicable field name is EqualPercent. |
|
XML Schema
<ProgramAllocationScreen>
<AllocationDate>[Program:StartDate | Policy:[field]]</AllocationDate>
<Precision>
<PercentPrecision>[integer]</PercentPrecision>
</Precision>
<DisableAllocations>
<ProgramStatus>[code]</ProgramStatus>
<ProgramStatus>...</ProgramStatus>
</DisableAllocations>
<DefaultAllocation LEVEL="[Plan | Policy | Model]" TYPECODE="[code]" MODELNAME="[model name | Policy:[field]]" ALLOWEVENTS="[No | Yes]"/>
<Allocation ID="[literal]" SWITCH="[FROM | TO]" ALLOWMIXEDMETHODS="[No | Yes]">
<AllocationMethods>
<AllocationMethod>[code]</AllocationMethod>
<AllocationMethod>...</AllocationMethod>
</AllocationMethods>
<Funds ID="[literal]">
<FundLimit>[integer]</FundLimit>
<ValueRanges>
<Percent MINIMUM="[integer]" MAXIMUM="[integer]"/>
</ValueRanges>
<FundCriteria>
<Query>[sql]</Query>
<FundFields>
<FundField FIELDNAME="[FundName | TypeCode | fund field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</FundField>
<And>
<FundField FIELDNAME="[FundName | TypeCode | fund field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</FundField>
<FundField>...</FundField>
</And>
<Or>
<FundField FIELDNAME="[FundName | TypeCode | fund field name]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</FundField>
<FundField>...</FundField>
</Or>
</FundFields>
<FundStatuses TYPE="[INCLUDE | EXCLUDE]">
<FundStatus>[code]</FundStatus>
<FundStatus>...</FundStatus>
</FundStatuses>
</FundCriteria>
</Funds>
<Models ID="[literal]">
<ModelLimit>[integer]</ModelLimit>
<ValueRanges>
<Percent MINIMUM="[integer]" MAXIMUM="[integer]"/>
</ValueRanges>
<ModelCriteria>
<Query>[sql]</Query>
<ModelFields>
<ModelField FIELDNAME="[model field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</ModelField>
<And>
<ModelField FIELDNAME="[model field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</ModelField>
<ModelField>...</ModelField>
</And>
<Or>
<ModelField FIELDNAME="[model field name | ModelName | ModelCategoryCode | ModelDescription | ModelType]" DATATYPE="[Text | Date | Integer | Decimal]" OPERATOR="[Equal | NotEqual | Like]">
<Value>[literal | Policy:[field] | Program:[field]]</Value>
<Value>...</Value>
</ModelField>
<ModelField>...</ModelField>
</Or>
</ModelFields>
<ModelStatuses TYPE="[INCLUDE | EXCLUDE]">
<ModelStatus>[code]</ModelStatus>
<ModelStatus>...</ModelStatus>
</ModelStatuses>
</ModelCriteria>
</Models>
</Allocation>
<Allocation>...</Allocation>
<Events>...</Events>
<ScreenMath>...</ScreenMath>
<Actions>
<ActionSet>
<Action ACTIONTYPE="[HIDE | SHOW]" SECTIONNAME="[section name]"/>
<Action ACTIONTYPE="[HIDE | SHOW]" SECTIONNAME="[section name]" FIELD="EqualPercent"/>
<Action ACTIONTYPE="[ASSIGN]" SECTIONNAME="[section name]" FIELD="EqualPercent">[CHECKED | UNCHECKED | variable]</Action>
<Action ACTIONTYPE="[ASSIGN]" SECTIONNAME="[section name]">[code | variable | field]</Action>
<Action ACTIONTYPE="[ASSIGN]" SECTIONNAME="[section name]"/>
<Action>...</Action>
</ActionSet>
<ActionSet>
<Condition IF="[condition]">
<Action>...</Action>
<Action>...</Action>
<ElseIf IF="[condition]">
<Action>...</Action>
<Action>...</Action>
</ElseIf>
<ElseIf>...</ElseIf>
<Else>
<Action>...</Action>
<Action>...</Action>
</Else>
</Condition>
</ActionSet>
</Actions>
</ProgramAllocationScreen>