Spawning activities with multifield data

This enhancement adds new configuration to the spawn feature to allow multifield data to pass from the spawning activity to the spawned activity.

Configuration modifications

Transaction rule

New configuration has been added to the transaction's <Spawns> element. The structure of this element defines one or more activities to be spawned. Each spawned activity can optionally expect a multifield structure as defined by that activity's transaction definition. The current activity (the source or parent activity) must pass data to the expected spawned activity's (the target or child activity) multifield structure and that is defined by the new configuration. The configuration facilitates passing multiple instances of related field data contained in one or more groups of related fields. Multifields should not be used for large data volumes and this use in activity spawning should be careful to refrain from large volumes.

XML Syntax Additions
Element Attribute Parent Element Description Element / Attribute Values
<Transaction>     provided for context  
<Spawns>   <Transaction> provided for context  
<Spawn>   <Spawns> provided for context  
<MultiFields>   <Spawn>

Optional:

This structure defines the data source variables that are to create the multifield values for the spawned activities.

 
  RULE <MultiFields>

Required:

This attribute provides the name of the multifield business rule.  The rule is used to validate the group name and fields whose values are spawned with the activity.

  • literal

    • valid value must be the full name of a multifield rule

<MultiField>   <MultiFields>

Required, Repeatable:

This element provides the fields, their data and the group name the fields belong to.  This element is repeated for each group name that should be part of the spawned activity.

 
  NAME <MultiField>

Required:

This attribute identifies the multifield group name that contains the fields being spawned with this group and activity.

The attribute identifies the configured name of the multifield structure that will be created by the spawn.

  • literal

    • valid value must be the multifield group name

<Fields>   <MultiField>

Required:

This element provides a structure of field definitions to spawn.

 
<Field>   <Fields>

Required, Repeatable:

This element defines a single field to spawn.  The element is repeated to spawn multiple fields.

 
<FromIndexCollection>   <Field>

Required:

This element provides the updated values for multiple multifield instances.  A collection contains multiple sets of key/value pairs where this element expects keys as an index value identifying a multifield instance and values as the created field's values in the multifield instance identified by the key.  Multifield indexes start with a value of 1.

math variable

  • key = index to multifield instance. 

    • The first instance is a value of 1.

    • index values must be unique.

  • value = updated field value

<To>   <Field>

Required:

This element provides the name of the multifield field to update.  The field name must exist in the named multifield configuration.

  • field name

<DataType>   <Field>

Required:

This element defines the data type of the generated multifield's field.

  • Check

  • Date

  • Decimal

  • Integer

  • Money

  • Percent

  • Text

  • TextArea

XML Schema content additions only

<Transaction>
    ...
    <Spawns>
        <Spawn IF="[condition]">
        ...
        <MultiFields RULE="[rule name]">
            <MultiField NAME="[group name]">
                <Fields>
                    <Field>
                        <FromIndexCollection>[collection]</FromIndexCollection>
                        <To>[field name]</To>
                        <DataType>[Check|Integer|Date|Decimal|Percent|Money|Text|TextArea]</DataType>
                    </Field>
                    <Field>...</Field>
                </Fields>
            </MultiField>
            <MultiField NAME="[group name]">...</MultiField>
        </MultiFields>
        ...
    </Spawn>
    <Spawn>...</Spawn>
    </Spawns>
</Transaction>

XML Example content additions only

<Transaction>
    ...
    <Spawns>
        <Spawn>
            <Transaction SPAWNCODE="01">Disbursement</Transaction>
            <MultiFields RULE="MultiField-Prototype">
                <MultiField NAME="PolicySegments">
                    <Fields>
                        <Field>
                            <FromIndexCollection>SegmentNameCollection</FromIndexCollection>
                            <To>SegmentName</To>
                            <DataType>Text</DataType>
                        </Field>
                        <Field>
                            <FromIndexCollection>SegmentFieldCollection</FromIndexCollection>
                            <To>SegmentField</To>
                            <DataType>Text</DataType>
                        </Field>
                    </Fields>
                </MultiField>
                <MultiField NAME="Requirements">
                    <Fields>
                        <Field>
                            <FromIndexCollection>RequirementNameCollection</FromIndexCollection>
                            <To>RequirementName</To>
                            <DataType>Text</DataType>
                        </Field>
                        <Field>
                            <FromIndexCollection>RequirementFieldCollection</FromIndexCollection>
                            <To>RequirementField</To>
                            <DataType>Text</DataType>
                        </Field>
                    </Fields>
                </MultiField>
            </MultiFields>
        </Spawn>
    </Spawns>
</Transaction>