Process

The primary class is identified for the specified Class.name resource references in the mapping. This can be determined as the primary class of all Class.name resource references that are specified, based on the Classes and relationships defined within the class model.

These are the possible scenarios for importing a resource:

  • If the Keep resources before importing option is disabled, all existing resources in the primary class are deleted. Consequently, all dependent data for the primary class is deleted, including quantity values and relations.
    Note: 
    • If the primary 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. For example, if the primary class is a component of an Allocation class, and this class is also a component of another Allocation class, the resources and quantities of the second Allocation class are also deleted.
    For each resource included in the import, the system executes these actions:
    • Resource is created. Possible scenarios:
      • If Non-Allocation class 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’.
    • 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.
    • 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.
    • 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.
  • If the Keep resources before importing option is enabled and the resource already exists in the primary class, the User Attribute, and System Attribute values (except for the Name field) and the Default Property values are updated in the primary class defined in the Interface Service. See Planning Engine tab.
    Note: 
    • The resource name cannot be updated and the resource relations are ignored during import process.
    • The remaining field values remain unchanged during import process.
    • Empty field values clear the existing data.
  • If the Keep resources before importing option is enabled and the resource does not exist in the primary class, the system creates a resource. Possible scenarios:
    • If Non-Allocation class resources are imported, the name of the resource is defaulted from the Class.name field value in the import row, where Class is the primary 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’.
  • If the data contains multiple rows for same resource in the primary class, the first row is only imported, and the remaining rows are ignored, irrespective of the Keep resources before importing option setting.