Select the Tables to Map to Other Entities

You can load and save data from non-Global tables and fields via the GetMetadata response in a web service connector. All that is required is:

  • the Global table contains a link which targets:
    • the table or field you wish to load or save, or
    • a table which in turn links to the table or field you wish to load or save, and
  • the relevant field must have the attribute can-be-input="true" (for loading) or can-be-output="true" (for saving).
  • the policy modeler binds an Intelligent Advisor entity to the relevant table or binds an Intelligent Advisor attribute to the relevant field.

In the following example, the 'Car' table has the attribute can-be-input="false" but its fields have can-be-input="true", so if 'Vehicles' is selected as the Global input, the table 'Car' can be mapped to a child entity of the Global entity via the link 'Cars' of the 'Vehicles' entity, so that its fields can be input mapped.

<get-metadata-response xmlns="http://xmlns.oracle.com/policyautomation/hub/12.2.13/metadata/types">
    <Table name="Vehicles" can-be-input="true" can-be-output="false" accepts-attachments="false">
        <Link name="Cars" target="Car" cardinality="C_1M"/>
    </Table>
    <Table name="Car" can-be-input="false" can-be-output="false" accepts-attachments="false">
        <Field name="Model" type="STRING" can-be-input="true" can-be-output="false" is-required="false"/>
        <Field name="Price" type="DECIMAL" can-be-input="true" can-be-output="false" is-required="false"/>
        <Field name="Color" type="STRING" can-be-input="true" can-be-output="false" is-required="false"/>
    </Table>
    <Table name="Car Request" can-be-input="false" can-be-output="true" accepts-attachments="true">
        <Field name="Request ID" type="DECIMAL" can-be-input="true" can-be-output="false" is-required="true"/>
        <Field name="Selected Model" type="STRING" can-be-input="false" can-be-output="true"  is-required="true"/>
        <Field name="Contact Name" type="STRING" can-be-input="false" can-be-output="true" is-required="true"/>
        <Link name="Customer's Phone Numbers" target="Customer's Phone Number" cardinality="C_1M"/>
    </Table>
    <Table name="Customer's Phone Number" can-be-input="false" can-be-output="false" accepts-attachments="false">
        <Field name="Phone Number" type="STRING" can-be-input="false" can-be-output="true" ="true" is-required="true"/>
        <Field name="Is Preferred Number" type="BOOLEAN" can-be-input="false" can-be-output="true" is-required="true"/>
    </Table>
</get-metadata-response>

Similarly, the table 'Customer’s Phone Number' has the attribute can-be-output="false" but can still have its fields available for output mapping, and therefore included in Save requests, if the Global output table is set to 'Car Request' and the 'Customer’s Phone Number' is mapped to a child entity of the Global entity via the link 'Customer’s Phone Numbers'.

Note: There can only be a single instance of a Global entity. In this particular example, you will notice that the 'Vehicles' table does not have any attributes, and this is because its purpose is only to bring multiple 'Car' entities into a policy model via the 'Cars' link.