TransactionAllocationScreen

The TransactionAllocationScreen Business Rule drives the Allocation tab for activity allocations to capture the functionality for allocation models and funds. This rule executes in the activity context, and is not included in the transaction business rule packet.

TransactionAllocationScreen Elements/Attributes
Element/Tag Attribute Definition Element/Attribute Value and Description

<TransactionAllocationScreen>

 

Opening and Closing element for Transaction Allocation screen.

 

<AllocationDate>

 

Optional Element:

This indicates that funds and models available for allocation should be based on the effective date specified in this element.

Policy:PolicyField   

The default for Allocation Date is Activity Effective Date.

<Precision>

 

Optional Element:   

Optional element to specify the number of digits allowed after the decimal point in an allocation.

 

<PercentPrecision>

 

Required element:

Defines precision for Percent allocation

Constant

<DefaultAllocation>

 

Optional element:

Default Allocation specifies whether to use Plan, Policy or a specific model as the default.

Note: It is required when it should display the "To" allocation method select box in the UI.

 
LEVEL

Required attribute:

Specifies the level for default allocation.

 

Plan / Policy / Model / Program

 

If LEVEL='Program' is set, then the activity would automatically pull the allocations from the linked program(using the ProgramGUID associated with the activity)

If LEVEL='Program' is set and if Program definition does not have Allocation screen configured then exception is thrown with the message "Could not load default allocation'

If LEVEL='Program' is set and if the transaction is manually added (where Program: ProgramGUID is null) then default is ignored, no exception is thrown as the same transaction can be used for manual entry as well.

Note: In case Transaction Allocation Screen is not configured ,configuration can fetch the allocation details in 'ReassignAllocation' BR via query using the ProgramGUID from asAllocation table.

 

DISABLED Enables or disables allocation. Yes / No
TYPECODE If Plan level is selected, this attribute specifies the AllocationType. AsCodeAllocationTypes
MODELNAME If Model level is selected, this attribute specifies the model name. Model name or Policy:PolicyField

<Allocation>

 

 

Required, repeatable element:

 

SWITCH

Optional element:

The presence of this attribute indicates that an allocation is a transfer.

FROM: Indicates that the allocation section is for "From" allocations.

TO: Indicates that the allocation section is for "To" allocations. This is the default behavior.

If a "From" allocation section is configured, a "To" allocation section must also be configured. If a "From" allocation section is configured, but a "To" allocation section is not, an error message will be returned.

ALLOWMIXEDMETHODS Optional attribute:

Defines whether or not mixed allocation methods are allowed.

Yes / No

"No" is the default value. If set to "Yes," the methods composing the mix can be defined in the <AllocationMethod> elements.

If this attribute is present, but the <AllocationMethods> element is absent, the Allocation Method drop-down list for the fund will be empty.

ID

Optional attribute:

Provides a name for the allocation section. The name may be used by an Action so that the Action affects only this Allocation section.

Literal text value. This value must be unique relative to the values of all other ID attributes within the rule in which it is contained.

<AllocationMethods>

 

Required element:

A container element for the individual <AllocationMethod> elements.

<AllocationMethod>

 

Required, Repeatable Element:

Specifies the allocation method(s) being used.

AsCodeAllocationMethod code value. Supported allocation methods are Percent, Percent of Fund, Amount, Units and Mixed.

No comma-delimited lists may be used as a value for this attribute--if multiple allocation methods are needed, this element should be repeated with a different code value within each instance.

Allocation methods configured in this element will be available for selection in the Allocation Method drop-down list on the Transaction Allocation screen.

<FilterOnValuation>

 

 

Optional Element:

Specifies whether to filter on fund valuation.

Yes / No

VALUATIONLEVEL

Optional attribute:

Specifies that child level valuation is to be used, if child funds exist. If no child funds are available for valuation, parent level valuation is used.

Child

Default is Parent.

<Funds>

 

Optional element:

Used  to filter funds for allocation.

  ID Optional attribute: Provides a name for the Funds section. The name may be used by an Action so that the Action affects only this Funds section. Literal text value. This value must be unique relative to the values of all other ID attributes within the rule in which it is contained.

<FundLimit>

 

Optional element:

Can be used to set a limit on the maximum number of funds that can be allocated.

Integer Constant

<ValueRanges>

 

Optional element:

Can be used to specify the minimum and maximum limits for allocation.

<Percent>

 

 

 

Required if ValueRanges is used. Either the MINIMUM or MAXIMUM attribute is required.

MINIMUM

Specifies the minimum percent allowed for allocation.

Integer Constant

1 to 100.

MAXIMUM

Specifies the maximum percent allowed for allocation.

Integer Constant

1 to 100.

<FundCriteria>

 

Optional element:

Enables filtering which funds are available for allocation.

 

<Query>  

Optional element:

Contains a SQL query used to filter the initial list of funds.

 

<FundFields>

 

Optional element:

Provides the ability to filter funds based on fund fields.

 

<FundField>

 

 

 

 

Required, repeatable element:

Defines the fund field to be used for filtering.

Note: Singular or multiple <FundField> elements outside of <And> and <Or> elements are connected in a logical “and” relationship.

FIELDNAME

Required attribute:

Fund field name. Fixed and dynamic fields are supported.   

FundName and TypeCode for fixed fields.

DATATYPE

Required attribute:

Specifies the datatype of the Fund field.

Field data type like TEXT, INTEGER, etc.

OPERATOR

Required attribute:

Specifies the comparison operator.

Equal / NotEqual / Like   

The code will wrap the value with % on both sides.

The Like option only applies to TEXT.

<Value>

 

Required, repeatable element:

Specifies a value to compare to the fund field.

Literalor Policy:PolicyField

<And>  

Optional element:

Provides a logical "and" relationship among the <FundField> elements contained within this element.

 
<FundField>  

Required, repeatable element:

Defines the fund field to be used for filtering. This element is configured in the same way as <FundField> elements not within the <And> element.

 
<Or>  

Optional element:

Provides a logical "or" relationship among the <FundField> elements contained within this element.

 
<FundField>   Required, repeatable element:

Defines the fund field to be used for filtering. This element is configured in the same way as <FundField> elements not within the <Or> element.

 

<FundStatuses>

 

 

Optional element:

Used to filter funds by status.

TYPE

Optional attribute:

Allows the filter to include or exclude funds that meet the filtering status criteria.

INCLUDE / EXCLUDE   

<FundStatus>

 

Required, repeatable element:

Specifies the status code for fund filtering.

Code Value as in AsCodeFundStatus

<Models>

 

Optional element:

Used to filter models for allocation. Models do not apply if Allocation SWITCH="FROM".

  ID Optional attribute: Provides a name for the Models section. The name may be used by an Action so that the Action affects only this Models section. Literal text value: This value must be unique relative to the values of all other ID attributes within the rule in which it is contained.

<ModelLimit>

 

Optional element:

Sets a limit on the maximum number of models that can be allocated.

Integer Constant

<ValueRanges>

 

Optional element:

Can be used to specify the minimum and maximum limits for allocation.

<Percent>

 

 

 

Required if ValueRanges is used. Either the MINIMUM or MAXIMUM attribute is required.

MINIMUM

Specifies the minimum percent allowed for allocation.

Integer Constant

1 to 100.

MAXIMUM

Specifies the maximum percent allowed for allocation.

Integer Constant

1 to 100.

<ModelCriteria>

 

Optional element:

Enables filtering which models are available for allocation.

<Query>   Optional element: Contains a SQL query used to filter the initial list of Models.  

<ModelFields>

 

Optional element:

Provides the ability to filter models based on model fields.

<ModelField>

 

 

 

 

Required, repeatable element:

Defines the model field to be used for filtering.

FIELDNAME

Required attribute

Model field name. Fixed and dynamic fields are supported.   

Fixed fields only for models:

ModelName

ModelCategoryCode

ModelDescription

ModelType

DATATYPE

Required attribute

Specifies the datatype of the model field.

Field data type: TEXT, INTEGER, etc.

OPERATOR

Required attribute

Specifies the comparison operator.

Equal / NotEqual / Like   

The code will wrap the value with % on both sides. The Like option only applies to TEXT.

<Value>

 

Required, repeatable element:

Specifies a value to compare to the model field.

Literalor Policy:PolicyField

<And>   Optional element: Provides a logical "and" relationship among the <ModelField> elements contained within this element.  
<ModelField>   Required, repeatable element: Defines the Model field to be used for filtering. This element is configured in the same way as <ModelField> elements not within the <And> element.  
<Or>   Optional element: Provides a logical "or" relationship among the <ModelField> elements contained within this element.  
<ModelField>   Defines the Model field to be used for filtering. This element is configured in the same way as <ModelField> elements not within the <Or> element.  

<ModelStatuses>

 

 

Optional element:

Used to filter models by status.

 

TYPE

Optional attribute:

Allows the filter to include or exclude models that meet the filtering status criteria.

INCLUDE / EXCLUDE

<ModelStatus>

 

Required, repeatable element:

Specifies the status code for model filtering.

Code Value as in AsCodeModelStatus

<Events>  

Optional element:

Provides the ability to react to a ONLOAD, ONSUBMIT, and ONCHANGE events in the screen. Using the CALLEDEVENT option, it can be configured to react to an event on the activity details screen as well.

See the ActionEvents page for complete information on the configuration of this element, its attributes and sub-elements.

The configuration described on this page is only that that differs from Action/Event configuration used elsewhere.

All configured ONSUBMIT
<ScreenMath>  

Optional element:

Allows configuring standard screen math elements and attributes.

See the ActionEvents page for complete information on the configuration of this element, its attributes and sub-elements.

 
<Actions>  

Optional element (required when <Events> element is configured)

 
   <ActionSet> ID Defines ActionSet Any name (no spaces)
       <Condition> IF Optional conditional logic. Any expression in a resulting in a true or false value. System Defined Fields Total, AllocationMethod and/or EqualPercent (preceded by the alloc SectionName: ) may be referenced
<Action>   Optional, repeatable element:

Defines the type of action that is to occur.

See the ActionEvents page for complete information on the configuration of this element, its attributes and sub-elements.

The configuration described on this page is only that that differs from Action/Event configuration used elsewhere.

 
ACTIONTYPE Required attribute:

Indicates which action to perform.

HIDE (applicable to EqualPercent field only)

SHOW

DISABLE

ENABLE

ASSIGN (applicable to EqualPercent field only)

ERROR

WARNING

READONLY

REMOVE

Note: DISABLEALL is not supported.

SECTIONNAME Optional attribute:

Provides the name of the section to hide. This attribute is unique to this screen.

Literal text value mapped directly to the ID attribute of an <Allocation>, <Fund> and <Model> elements.
FIELD Optional attribute:

Provides the name of the field that will have the action performed on

EqualPercent

XML Example

<TransactionAllocationScreen>
<Precision>
<PercentPrecision>2</PercentPrecision>
</Precision>
<DefaultAllocation LEVEL="Policy" DISABLED="No" TYPECODE="02"
MODELNAME="" />
<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 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>
<ScreenMath>
    <Math ID="GlobalScreenMath" GLOBAL="Yes">
       <MathVariables>
          <MathVariable VARIABLENAME="Checked" TYPE="VALUE" DATATYPE="TEXT">CHECKED</MathVariable>
       </MathVariables>
    </Math>
</ScreenMath>
<Events>
    <Event TYPE="ONLOAD">
       <Math ID="GlobalScreenMath"></Math>
       <ActionSet ID="OnLoadEvents"></ActionSet>
 <ActionSet ID="OnLoadActionSet"></ActionSet>
    </Event>
    <Event TYPE="ONSUBMIT">
       <ActionSet ID="FinalValidation"></ActionSet>
    </Event>
    <Event TYPE="CALLEDEVENT" ID="AllocationEvent">
       <ActionSet ID=" EqualPercentChange"/>
    </Event>
 </Events>
 <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"></Action>
    </ActionSet>
 <ActionSet ID="OnLoadActionSet"></ActionSet>
 <Condition IF="Activity:AutoTransfer='YES'">
 <Action ACTIONTYPE="HIDE" SECTIONNAME="FromAllocation"></Action>
 <Else>
<Action ACTIONTYPE="SHOW" SECTIONNAME="FromAllocation"></Action>
 </Else>
 </Condition>
</ActionSet>
   <ActionSet ID="EqualPercentChange">
        <Action ACTIONTYPE="ASSIGN" SECTIONNAME="FromAllocation" FIELD="EqualPercent">Checked</Action>
   </ActionSet>
</Actions>
</TransactionAllocationScreen>

XML Schema

<TransactionAllocationScreen>
<AllocationDate>[Policy:PolicyField]</AllocationDate>
<Precision>
<PercentPrecision/>
</Precision>
<DefaultAllocation LEVEL="[Plan|Policy|Model|Program]" DISABLED="[Yes|No]"TYPECODE="[AllocationTypeCode]" 
MODELNAME="[ModelName| | Policy:PolicyField]"/> </DefaultAllocation>
<Allocation ID="[AllocationID]" SWITCH="From" ALLOWMIXEDMETHODS="[Yes|No]">
<AllocationMethods>
<AllocationMethod>[AsCodeAllocationMethod code value]</AllocationMethod>
. . .
</AllocationMethods>
<FilterOnValuation VALUATIONLEVEL="[Child]">[Yes|No]</FilterOnValuation>
<Funds ID="[FundsID]"> 
 
<FundLimit>[Integer]</FundLimit>
<ValueRanges>
<Percent MINIMUM="[Constant]" MAXIMUM="[Constant]"/>
</ValueRanges>
<FundCriteria>
<Query>[SQL Query]</Query>
<FundFields>
<FundField FieldName="[Fund Field Name]" DATATYPE="[TEXT(DEFAULT)|..]"
OPERATOR="[Equal|NotEqual|Like]">
<Value>[Literal or Policy:PolicyField]</Value>
<Value>[Literal or Policy:PolicyField]</Value>
</FundField>
<And>
<FundField>. . .</FundField>
<FundField>. . .</FundField>
</And>
<Or>
<FundField>. . .</FundField>
<FundField>. . .</FundField>
</Or>
</FundFields>
<FundStatuses TYPE="[INCLUDE|EXCLUDE]">
<FundStatus>[Model status as in AsCodeFundStatus]</FundStatus>
. . . 
</FundStatuses>
</FundCriteria>
</Funds>
</Allocation>
<Allocation ID = "[AllocationID]" SWITCH="TO" ALLOWMIXEDMETHODS="[Yes|No]">
<Precision>
<PercentPrecision/>
</Precision>
<AllocationMethods>
<AllocationMethod>[Method Codes]</AllocationMethod>
 . . . 
</AllocationMethods>
<FilterOnValuation>[Yes|No]</FilterOnValuation>
<DefaultAllocation LEVEL="[Plan|Policy|Model]" DISABLED="[Yes|No]"
TYPECODE="[AllocationTypeCode]" MODELNAME="[ModelName|Policy:PolicyField]"> </DefaultAllocation>
<Funds>
<FundLimit>[Integer]</FundLimit>
<ValueRanges>
<Percent MINIMUM="[Contant ]" MAXIMUM="[Constant]"/>
</ValueRanges>
<FundCriteria>
<FundFields>
<FundField FieldName="[Fund Field Name]" DATATYPE="[TEXT(DEFAULT)|..]"
OPERATOR="[Equal|NotEqual|Like]">
<Value>[Literal or Policy:PolicyField]</Value>
. . .
</FundField>
</FundFields>
<FundStatuses TYPE="[INCLUDE|EXCLUDE]">
<FundStatus>[Model status as in AsCodeFundStatus]</FundStatus>
. . .
</FundStatuses>
</FundCriteria>
</Funds>
<Models ID="[ModelsID]>
<ModelLimit>[Integer]</ModelLimit>
<ValueRanges>
<Percent MINIMUM="[Contant ]" MAXIMUM="[Constant]"/>
</ValueRanges>
<ModelCriteria>
<ModelFields>
<ModelField FieldName="[Model Name]" DATATYPE="[TEXT(DEFAULT)|..]"
OPERATOR="[Equal|NotEqual|Like]">
<Value>[Literal or Policy:PolicyField]</Value>
. . .
</And>
</ModelField>
</Or>
</ModelField>
<ModelField FieldName="[Model Category ]" DATATYPE="[TEXT|INTEGER|..]"
OPERATOR="[Equal|NotEqual|Like]">
<Value>[Literal or Policy:PolicyField]</Value>
. . .
</And>
</ModelField>
</Or>
</ModelField>
</ModelFields>
<ModelStatuses TYPE="[INCLUDE|EXCLUDE]">
<ModelStatus>[Model status as in AsCodeModelStatus]</ModelStatus>
. . .
</ModelStatuses>
</ModelCriteria>
</Models>
</Allocation>
<ScreenMath>
<Math ID="ScreenMathName">
	. . .
</Math>
</ScreenMath>
<Events>
<Event TYPE="ONLOAD|ONCHANGE|ONSUBMIT|CALLEDEVENT" ID="EventIDForCalledEvent">
	. . .
</Event>
</Events>
<Actions>
<ActionSet ID="ActionSetName">
	. . .
</ActionSet>
</Actions>
</TransactionAllocationScreen>