Input mappings for aggregated struct parameters

Aggregated structs (see the Cúram Modeling Reference Guide for details on struct aggregation) may be specified as parameters to business methods. In this instance, the metadata is similar to that described above for struct formal parameters (see Input mappings for struct parameters). The subtle difference is, however, that a field in the struct parameter defined may resolve down to another struct and not to a primitive type as seen in the struct mappings example. In this scenario, the field name is not the name of the field being mapped associated with the struct parameter but is the name of the role contained in the association between the specified struct and the struct it aggregates. The following metadata snippet provides an example of such input mappings. The metadata elements have been previously described above in the struct input mappings section.

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

    <bpo-mapping
      interface-name="curam.sample.facade.intf.SampleBenefit"
      method-name="createBenefit">
      <formal-parameters>
        <formal-parameter index="0">
          <struct type="curam.struct.PlannedItemDetails">
            <field name="description">
              <base-type type="STRING">
                <wdo-attribute wdo-name="SPProductDeliveryPI"
                               name="description"/>
              </base-type>
            </field>
            <field name="plannedItemID">
              <base-type type="INT64">
                <wdo-attribute wdo-name="SPProductDeliveryPI"
                               name="plannedItemID"/>
              </base-type>
            </field>
            <field name="dtls">
              <struct type="curam.struct.PlannedItemKey">
                <field name="subject">
                  <base-type type="STRING">
                    <wdo-attribute wdo-name="SPProductDeliveryPI"
                                   name="subject"/>
                  </base-type>
                </field>
                <field name="concernRoleID">
                  <base-type type="INT64">
                    <wdo-attribute wdo-name="SPProductDeliveryPI"
                                   name="concernRoleID"/>
                  </base-type>
                </field>
              </struct>
            </field>
          </struct>
        </formal-parameter>
      </formal-parameters>
    </bpo-mapping>
  </automatic-activity>