Input mappings and indexed items from list workflow data objects

For activities contained within loops, an item from a list workflow data object can be used in an input mapping to populate a formal parameter field. When this type of input mapping is used, each time the loop containing the activity is iterated over, the formal parameter field will be populated with the next value from that list workflow data object. This is highlighted here as the metadata syntax for such a mapping is subtly different than that of the other input mapping types. The metadata snippet provides an example of such input mappings. The name of the list workflow data object used to populate the formal parameter field is qualified with the [Context_Loop.loopCount] syntax. This is used by the workflow engine at runtime to determine which iteration of the loop is being executed and hence which item from the list workflow data object to retrieve the data to populate the formal parameter field with.

<automatic-activity id="1" category="AC1">
    ...

    <bpo-mapping
      interface-name="curam.sample.facade.intf.SampleBenefit"
      method-name="retrieveClaimantDependentDetails">
      <formal-parameters>
        <formal-parameter index="0">
          <struct type="curam.sample.struct.
                        ClaimantDependentDetails">
            <field name="identifier">
              <base-type type="INT64">
                <wdo-attribute name="identifier"
                wdo-name=
                  "ClaimantDependent[Context_Loop.loopCount]"/>
              </base-type>
            </field>
            <field name="fullName">
              <base-type type="STRING">
                <wdo-attribute name="fullName"
                wdo-name=
                  "ClaimantDependent[Context_Loop.loopCount]"/>
              </base-type>
            </field>
          </struct>
        </formal-parameter>
      </formal-parameters>
    </bpo-mapping>
  </automatic-activity>