MathUpdate

The MathUpdate element in transaction math indicates an activity that processes projections, and makes only "virtual" database updates. The actual results of projection processing are maintained in memory only, and no database contents are modified. As each successive calculation is performed, the results of preceding calculations are not retrieved from the database, but from memory instead (except for math elements that always retrieve directly from the database).

MathUpdate leverages the input context for activity processing. This input context is also used by CopyTo rules to retrieve the original values of fields. A CopyTo will not create an update for the field if the newValue and the oldValue are equal.

If MathUpdate updates a field which is also a target in a CopyTo, MathUpdate needs to set the original value in the input context before math processing completes.

It is not recommended to use MathUpdate on transactions that have attached business rules. Using MathUpdate with attached business rules can affect data persisted in the database.

Notes: 

MathUpdate Elements/Attributes
Element Definition Attribute Values

<MathUpdate>

Holds the math variable to copy into the named table field in memory.

 

Required element value: Text   

Specifies a math variable name (for all data types) . The variable name must be one of those specified in MathVariables preceding the MathUpdate element in the configuration.

 

FIELDNAME

Required attribute: Text   

Specifies the name of the Policy or Segment field to update in memory.

 

TYPE

Required attribute:

"POLICYFIELD", "SEGMENTFIELD" or SEGMENTFIELDCOLLECTION"

Identifies the table to update in memory. SegmentFieldCollection will update the named Segment Field records with the collection values.

 

SEGMENTGUID

A math variable containing a SegmentGUID

Required only if TYPE equals SEGMENTFIELD. Identifies the segment record to update.

XML Example

<MathVariable VARIABLENAME="PolicyTextMV" TYPE="FIELD" DATATYPE="TEXT">Policy:TestField</MathVariable>
<MathVariable VARIABLENAME="TextMV" TYPE="VALUE" DATATYPE="TEXT">Test2</MathVariable>
<MathUpdate FIELDNAME="PolicyTextField2" TYPE="POLICYFIELD">TextMV</MathUpdate>
 
<MathVariable VARIABLENAME="IntegerMV" TYPE="VALUE" DATATYPE="INTEGER">2</MathVariable>
<MathUpdate FIELDNAME="PolicyIntegerField2" TYPE="POLICYFIELD">IntegerMV</MathUpdate>
 
<MathVariable VARIABLENAME="SegmentGUIDMV" TYPE="SQL" DATATYPE="TEXT">SELECT SegmentGUID...</MathVariable>
<MathVariable VARIABLENAME="TextMV" TYPE="VALUE" DATATYPE="TEXT">Test2</MathVariable>
<MathUpdate FIELDNAME="SegmentTextField1" TYPE="SEGMENTFIELD" SEGMENTGUID="SegmentGUIDMV">TextMV</MathUpdate>
 
<MathVariable VARIABLENAME="IntegerMV" TYPE="VALUE" DATATYPE="INTEGER">2</MathVariable>
<MathUpdate FIELDNAME="SegmentIntegerField2" TYPE="SEGMENTFIELD" SEGMENTGUID="SegmentGUIDMV">IntegerMV</MathUpdate>
 
<MathVariable VARIABLENAME="SegmentGUIDCollection" TYPE="COLLECTION" DATATYPE="MAP">SELECT SegmentGUID, Value... </MathVariable>
<MathUpdate FIELDNAME="SegmentTextField2" TYPE="SEGMENTFIELDCOLLECTION">SegmentGUIDCollection</MathUpdate>

 

 

 

 

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