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:
    1. 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, if Products is imported, the Products.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’ and Locations.name = “Location A”, Allocation resource name is ‘Product 1@Location A’.
    2. 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.
    3. 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.
    4. 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.