ACTIVITY
Activity, ActivityField, and ActivityArray are used to support functionality equivalent to Spawncode 08 where the system would spawn multiples of the same transaction from a single activity.
Activity math objects will hold all the field instructions for a given transaction rule while ActivityArray will hold multiples of the activity math record. ActivityField will allow the system to extract the value of a specified field within the Activity math object. By allowing each spawned transaction to reference unique data sets, any number of transactions may be spawned any number of times on the policy for a single parent transaction.
Activity represents a collection of activity fields. The ACTIVITY math variable is similar to COLLECTION with the exception that ACTIVITY will create a 'virtual' math object set by using the default value or within the configuration replacing any of the default calculated values using a "SetValue" operation.
Before values can be assigned to the fields of the activity math object, it must first be instantiated in the transaction math using the "Create" operation. The value of the math variable is either a literal transaction name, transaction GUID, or a reference to a previously defined math variable containing either of these two values.
If LEVEL and TARGET are configured, when the system calculates the math variable it does the following:
- It resolves the named transaction rule in the context of the specified level and target entity. If a GUID is specified, the transaction rule will be that of the specified GUID; however, that GUID must be eligible for the plan of the target entity.
- It validates that the specified target entity matches the level. If it does not, a stack trace system error is displayed, indicating a level and target mismatch.
- It validates that the named transaction is eligible for the target entity. If it does not, a stack trace system error is displayed, indicating the transaction is not eligible for the target.
TYPE=ACTIVITY | ||||
---|---|---|---|---|
Element | Attributes | Attribute Value | Element Value | Definition |
<MathVariable>
|
TYPE |
ACTIVITY |
||
OPERATION | CREATE |
A variable whose value is the transaction name or GUID (can be contained in a previously defined math variable). |
When using the CREATE operation, the value of the math variable cannot be blank and must be equal to a valid Transaction Name or Transaction GUID. If only a transaction name is specified, the system will resolve the transaction rule in the current activity plan. If a GUID is specified, the transaction rule will be that of the specified GUID but that GUID must be for the current plan. LINKSUSPENSE To link Suspense and Multisuspense Records. Based on the Data Type specified in the configuration, Suspense Number or Suspense GUID will be stored. INTEGER data type for suspense Numbers, TEXT for Suspense GUIDs. The Math Variable Value could be a collection of GUID or Amount pair or an Array |
|
ALLOCATIONTYPECODE |
Required when using LINKALLOCATIONS value for OPERATION Code Values from AsCodeAllocationType. |
LINKALLOCATIONS Use this attribute to update allocations. When using LINKALLOCATIONS, ALLOCATIONTYPE Attribute is required. To specify the allocation Type to be copied . When using each of these Options, the Math variable element is specific to the Allocation type Code referenced. For example PLAN:PlanGuid if ALLOCATIONTYPECODE is of Plan POLICY:PolicyGuid for ALLOCATIONTYPECODE is a policy allocation type ACTIVITY:ActivityGuid for ALLOCATIONTYPECODE is activity allocation. When OPERATION="LINKALLOCATIONS", a value 'Program' can be added as a valid value for ALLOCATIONTYPECODE. The value for the tag will be ProgramGUID, and can either use math variable or context variable (Program: ProgramGUID). |
||
INDEX | Integer or Variable of Data type Integer. Required attribute when Operation="SETVALUE" and Field is of type Multifield | When the INDEX attribute is equal to 0, the first instance of a multifield will be retrieved. | ||
SETVALUE |
A variable or literal whose value is used to replace the current default value of an activity field. |
Field Name to update the objectname. Value is the name of the math variable or literal value used. SetValue takes the value and replaces the FieldName default value with the value entered in the Value property. Note: Some fields of the Activity math object cannot be replaced using SetValue operation. If they are configured, the system will ignore instructions to change/set value for the following fields: ACTIVITYGUID, TRANSACTIONGUID,
Aside from the dynamic fields, the following "Fixed" fields should accept new values: POLICYGUID, EFFECTIVEDATE.
Note: POLICYGUID should be available for cross policy spawning. The POLICYGUID will default to that of the current policy and may be replaced by a set value operation. If Set Value requires a calculation, the calculation must first be done with another math variable which will be referenced by the Set Value operation. Example: Adding 15 days to the Effective Date must be handled by another math variable that the Set Value operation will be used populate the object field. |
||
LEVEL
|
PRIMARYCOMPANY PLAN CLIENT POLICY GROUPCUSTOMER |
|
Optional attribute:Required if TARGET is specified. Defines the location of the entity that will receive the Activity object. Note: When used from the context of a Data Intake Record transaction using activity sequence,LEVEL attribute is mandatory. If LEVEL attribute not specified, a system error will occur for the intake record. |
|
TARGET |
Primary Company GUID Plan GUID Client GUID Policy GUID |
Optional attribute: Required if LEVEL is specified. Defines the specific entity GUID to receive the Activity object. – Use Primary Company GUID when spawning a company level transaction. – Use Group Customer Client GUID when spawning a transaction to a group customer client other than the current one (if the current transaction is client level). – Use Plan GUID when spawning a plan level transaction. – Use Client GUID when spawning a client level transaction to a client other than the current one (if the current transaction is client level). – Use Policy GUID when spawning a policy level transaction to a policy other than the current (if the current transaction is policy level). Note : When used from the context of a Data Intake Record transaction using activity sequence,TARGET attribute is mandatory. If TARGET attribute not specified, a system error will occur for the intake record. |
XML Example
<MathVariable VARIABLENAME="ObjectName" TYPE="ACTIVITY" OPERATION="SETVALUE"
FIELDNAME="EffectiveDate" DATATYPE="DATE">Activity:EffectiveDate</MathVariable
<MathVariable VARIABLENAME="ObjectName" TYPE="ACTIVITY" OPERATION="CREATE"
DATATYPE="ACTIVITY">Disbursement</MathVariable>
<MathVariable VARIABLENAME="EnrollmentActivity" TYPE="ACTIVITY" OPERATION="CREATE"
LEVEL="CLIENT" TARGET="ClientGUID" DATATYPE="ACTIVITY">"Enrollment"</MathVariable>
When OPERATION="LINKSUSPENSE"
<MathVariable VARIABLENAME="ObjectName" TYPE="ACTIVITY" OPERATION="LINKSUSPENSE " DATATYPE="[TEXT|INTEGER]">[String]</MathVariablE>
OPERATION="LINKALLOCATIONS"
MathVariable VARIABLENAME="ObjectName" TYPE="ACTIVITY" OPERATION="LINKALLOCATIONS " ALLOCATIONTYPECODE="[AllocationTypeCode]" DATATYPE="TEXT">[String]</MathVariable
When OPERATION="SETVALUE" for MultiFields
MathVariable VARIABLENAME="ObjectName" TYPE="ACTIVITY" OPERATION="SETVALUE " FIELDNAME= "[String]" INDEX ="[Integer|String]" DATATYPE=" ">[String]</MathVariable>
For Spawning activities at Group Customer Level:
<MathVariable VARIABLENAME="RelationshipLevelSpawn" TYPE="ACTIVITY"
OPERATION="CREATE" DATATYPE="ACTIVITY" LEVEL="GROUPCUSTOMER"
TARGET="GCClientGUID">TransactionName2</MathVariable>