CopyToPendingActivityFields

This business rule can be used to update field values in Policy activities that have not yet become active on the system and have not processed the transaction math. Only Policy activities that are in a pending type of status are eligible to have field values changed. Pending statuses are defined as activities that have not yet run the Transaction Math section or any attached rules, typically statuses '02' and '09' (Pending and Pending with errors respectively). Plan level activities will not support the undo/redo processing of the CopyToPendingActivityFields rule.

Some fields of the target activity cannot be updated. Even if they are configured, the system will ignore instructions to change the values of these fields:

Undo/Redo Processing

Reversal processing with the CopyToPendingActivityFields rule has the potential to be very complicated and as a best practice, the Source and/or Target Activities should be configured as non-reversible. However, these are the considerations for conventional undo/redo processing.

Once both the Source and Target Activities become active and the Target Activity goes though redo processing, it will retain the field values as of when it was active. If both go through redo processing, first the Target Activity will become shadowed and a new pending record will be inserted (having the same field values as when it was active). Second, the Source Activity will become shadowed and a new pending record will be inserted (having the same field values as when it was active). When the Source Activity becomes shadowed, the system should identify all shadowed activities that it had updated to see if those activities now exist in a pending status using the ActivityGUID / RelatedGUID chain. Since OIPA doesn’t currently store values of pending activity fields in a history table, the system will need to look to the Source Activity to see which Target Activities were updated. Obviously, if the Target Activities are not found, the system cannot modify any data. At this point the specified fields of the new pending records are reverted to their prior values by the system (time stamps may be needed to find the correct values). The math of the Source Activity should be taken into consideration that the Target Activity may go through multiple iterations in order to update its fields.

If the Source Activity is inserted prior to an active spawned Target Activity, it will shadow the Target Activity and insert a new pending record. This newly created Target Activity record will be linked to its parent through the ActivityGUID/RelatedGUID chain to maintain undo/redo compatibility of the system.

CopyToPendingActivityFields can be configured to update Activity fields only, or Withholding fields only with the processing of one activity. The ActivityFields and WithholdingFields elements are each optional, but at least one of the two is required in the configuration for each Activity element, and both cannot be present in the same Activity.

CopyToPendingActivityFields Elements/Attributes
Element Definition Attribute Element/Attribute Value and Description

<CopyToPendingActivityFields>

The opening and closing tags of the business rule.

Optional:Defines the activity to apply changes. Not applicable if using a FromCollection element.

MathVariable: name of the MathVariable containing ActivityGUID in a valid pending status ('02', '09' ).

<Activity>

Required, repeatable element:

Defines the activity to apply changes.

   
  ACTIVITYGUID

Optional Attribute:

Not applicable if using FromCollection element. MathVariable containing ActivityGUID in a valid pending status (‘02’, ‘09’).

<Tests>

Optional:

Allows for further definition of the activities that may be updated.

   

<Test>

A conditional statement that tests a MathVariable or Field against another MathVariable, Field, or literal value.

   

<ActivityFields>

Optional element:   

Begins Activity Field configuration.

 

ActivityFields and WithholdingFields can both be used in the same Activity element.

Either ActivityFields or WithholdingFields must be specified for each Activity configured. Both may also be configured.

.

<Fields>

Required:    

<Field>

Required:    

<From>

Required if FromCollection is not present.   MathVariable: Name of the MathVariable.

<FromCollection>

Required if From is not present.   MathVariable: MathVariable of Type = Collection and DataType = Map.

<To>

Required:Name of the target field to update.  

String: Activity field name.

When working with money fields, this is a collection of money fields or currency variables.

<WithholdingFields>

Optional element:   

Begins Withholding Field configuration.

 

Either ActivityFields or WithholdingFields must be specified for each Activity configured. Both may also be configured.

<Fields>

Required:

Same as Fields in the ActivityFields element above.

   
<MultiFields> Optional, repeatable element: Defines the multifields to be updated/inserted    
 

Note: The system will validate named "To" fields against the field name in the MultiField rule in the Transaction for the specified activity.

  Required: Specifies the named section of the related entity's Multifield rule. NAME Literal name
  Required: Specifies the total number of instances of multifields for the named section of the related entity's Multifield rule. If NAME is omitted or does not exist in the MultiField rule, all the fields in the MultiField rule will be repeated for "END" number of times. END Literal Integer or Integer Math Variable
<Field> Optional, repeatable element: Contains the instructions for the specified "To" field. This element (and sub elements) may be omitted if the default field values are desired.    
<FromIndexCollection> Required: A collection of index/value pairs for the target fields. Indices must be unique integers   Math variable collection of index/values.
<To> Required: The target named field in the entity multifield rule   Literal field name

XML Example

Update Field

<CopyToPendingActivityFields>
<Activity ACTIVITYGUID=”AnnuityPaymentActiviyGUID”>
<ActivityFields>
<Fields>
<Field>
<From>NewEffectiveDate</From>
<To>EffectiveDate</To>
<Field>
<Fields>
</ActivityFields>
</Activity>
<Activity ACTIVITYGUID="SingleActivityGUID">
<WithholdingFields>
<Fields>
<Field>
<From>Withholding:StatePercent</From>
<To>StatePercent</To>
</Field>
</Fields>
</WithholdingFields>
</Activity>
</CopyToPendingActivityFields>

Use of <FromCollection> to update records:

<CopyToPendingActivityFields>
<Activity>
<Tests>
<Test>Activity:UpdateMultipleActivities &lt;&gt; '02' 
And Activity:UpdateFieldInd = '01'</Test>
</Tests>
<ActivityFields>
<Fields>
<Field>
<FromCollection>EffectiveDateCollection</FromCollection>
<To>EffectiveDate</To>
</Field>
</Fields>
</ActivityFields>
</Activity>
</CopyToPendingActivityFields>

XML Schema

<CopyToPendingActivityFields>
<Activity ACTIVITYGUID="">
<Tests>
<Test>conditional statement</Test>
</Tests>
<ActivityFields>
<Fields>
<Field>
<From>[activity field|math variable]</From>
<To>[field name]</To>
</Field>
</Fields>
</ActivityFields>
</Activity>
<Activity ACTIVITYGUID="">
<Tests>
<Test>conditional statement</Test>
</Tests>
<WithholdingFields>
<Fields>
<Field>
<From>[activity field|math variable]</From>
<To>[field name]</To>
</Field>
</Fields>
</WithholdingFields>
</Activity>
<Activity>
<ActivityFields>
<Tests>
<Test>conditional statement</Test>
</Tests>
<Fields>
<Field>
<FromCollection>[math variable]</FromCollection>
<To>[field name]</To>
</Field>
</Fields>
</ActivityFields>
</Activity>
<Activity>
<WithholdingFields>
<Tests>
<Test>conditional statement</Test>
</Tests>
<Fields>
<Field>
<FromCollection>[math variable]</FromCollection>
<To>[field name]</To>
</Field>
</Fields>
</WithholdingFields>
<Multifields>
<Field>
<From></From>
<To></To>
</Field>
</MultiFields>
</Activity>
</CopyToPendingActivityFields>

XML Schema Without Collections

<CopyToPendingActivityFields>
<Activity ACTIVITYGUID="[math variable]">
<Tests>
<Test>conditional statement</Test>
</Tests>
<ActivityFields>
<Fields>
<Field>
<From>[activity field|math variable]</From>
<To>[field name]</To>
</Field>
</Fields>
</ActivityFields>
<WithholdingFields>
<Fields>
<Field>
<From>[activity field|math variable]</From>
<To>[field name]</To>
</Field>
</Fields>
</WithhholdingFields>
</Activity>
</CopyToPendingActivityFields>

XML Schema With Collections:

<CopyToPendingActivityFields>
<Activity>
<Tests>
<Test>conditional statement</Test>
</Tests>
<ActivityFields>
<Fields>
<Field>
<FromCollection>[math variable]</FromCollection>
<To>[field name]</To>
</Field>
</Fields>
</ActivityFields>
<WithholdingFields>
<Fields>
<Field>
<FromCollection>[math variable]</FromCollection>
<To>[field name]</To>
</Field>
</Fields>
</WithholdingFields>
</Activity>
</CopyToPendingActivityFields>
 
 
 

 

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. About Oracle Insurance | Contact Us
 

 

 

Oracle Insurance Logo Copyright © 2017, Oracle and/or its affiliates. All rights reserved. About Oracle Insurance | Contact Us