Process
The target import class is identified for the specified
Class.name
resource references in the mapping. This can be determined as the child root class of all
Class.name
resource references that are specified, based on the Classes and
relationships defined within the model. Possible scenarios:
- If Overwrite mode is enabled, all resources for the import class are deleted. Consequently, all dependent data for the import class is deleted, including quantity values and relations. If the import class is a component that is a part of an Allocation, resources for the related Allocation classes and quantities are also deleted. The delete process is recursive, such that, if the import class is a component of an Allocation, and the Allocation class is also a component of another Allocation class, resources and quantities of the second Allocation class are also deleted.
- If Overwrite mode is disabled, the existing resources are retained.
For each resource that is imported, these are the possible scenarios:
- If the resource already exists, the default property values must be set for all
Class.default property (*)
mapped fields for the existing resource. In case the imported default property value is NULL, the existing value is retailed. In case the imported default property value is invalid, a warning message is logged and the default property is ignored. - If the resource does not exist, these steps are performed:
- Resource is created. Possible scenarios:
- If Non-Allocation resources are imported, the name of the
resource is defaulted from the
Class.name
field value in the import row, where Class is the import class. For example, ifProducts
is imported, theProducts.name
field value ‘Product 1’ is used as the name of the resource. - If Allocation class resources are imported, the name of the
created resource is automatically derived from all the Allocation component
references separated by ‘@’. For import fields,
Products.name
= ‘Product 1’ andLocations.name
= “Location A”, Allocation resource name is ‘Product 1@Location A’.
- If Non-Allocation resources are imported, the name of the
resource is defaulted from the
- Attribute values are set for all
Class.attribute
mapped fields.- If an invalid attribute name is provided, a warning message is logged, and the attribute is not considered.
- If an import attribute value is NULL, the attribute value is cleared.
- Default property values are set for all
Class.default property (*)
mapped fields.- If an invalid default property name is provided, a warning message is logged, and the default property is not considered.
- If an import default property value is NULL, the default property is not updated, and the existing value is retained.
- Relations are created between the imported resource and all the specified parent resource reference mappings. If the import value for a parent resource reference field is NULL, that relation is not considered.
- Resource is created. Possible scenarios: