You are here: Business Rules > Attached Rules > CopyToPendingActivityFields

Oracle® Insurance XML Configuration Guide Release 9.4.1.0 E23637_01

# CopyToPendingActivityFields

## Description

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:

- ACTIVITYGUID
- TRANSACTIONGUID
- POLICYGUID
- TYPECODE
- STATUSCODE
- ACTIVEFROMDATE
- ACTIVETODATE
- CLIENTNUMBER
- RELATEDGUID
- XMLDATA
- PROCESSINGORDER
- ERRORSTATUSCODE
- SUSPENSESTATUSCODE
- ACTIVITYGMT
- ENTRYGMT
- CREATIONGMT
- SCHEDULEGUID

## 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 Element/Attribute Table

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: 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’).
| ACTIVITYGUIDS | Optional Attribute; Defines a list of activities to apply changes. This is required if using a FromCollection element.
<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 or Field or other literal value. |  |
<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.
<Currency> | Optional; Currency code |  | Literal three character currency code or MathVariable.
<CurrencyCollection> | Optional; |  | Currency Collection MathVariable.

## XML Example

### Update Effective Date

    <CopyToPendingActivityFields ACTIVITYGUID=”AnnuityPaymentActiviyGUID”>

    <Fields>

    <Field>

    <From>NewEffectiveDate</From>

    <To>EffectiveDate</To>

    <Field>

    <Fields>

    </CopyToPendingActivityFields>

### Update Field Value

    <CopyToPendingActivityFields ACTIVITYGUIDS=”AnnuityPaymentActiviyGUIDArray”>

    <Fields>

    <Field>

    <FromCollection>NewAmountCollection</FromCollection>

    <To>PremiumDueAmount</To>

    <Field>

    <Fields>

    </CopyToPendingActivityFields>

Copyright © 2009, 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices

Open table of contents