How do I enable import of custom objects?

This topic describes how to enable the import of custom objects. Before you can import and export data for custom objects created with Application Composer, you must ensure that the required object artifacts have been generated.

Object artifacts are required to register your extensions and make them available for importing. When you publish your sandbox after your configurations, artifacts are automatically generated and the custom objects are available for import and export. With a single publishing, you can generate configurations for CRM, ERP, and SCM cloud applications.

How you Enable Import of Custom Objects

To enable the import of custom object data:

  1. Create a sandbox and add configurations to the objects.

  2. Publish the sandbox. See Publish Sandboxes for more information.

  3. Artifact generation is triggered automatically as part of the sandbox publish. Artifacts are generated for objects that are changed inside sandbox only.

  4. You can monitor the artifact generation status on the Generate Import and Export Artifacts tab by navigating to Tools > Import Management > Import Configuration. You can perform this only once you're outside the sandbox.

After the artifact is generated, you're ready to import. If some artifacts aren't generated automatically, then you have to manually generate them using the Generate button. See How do I generate artifacts manually? .

To download the diagnostics log of the artifact generation, click the Generate button under the Diagnostics tab, and then click the link under the Attachments column. Note that you must import the custom child objects only after importing the parent object.
Note: If your custom field is missing from import mapping after generating the artifacts, then enable the profile option ORA_ZCA_OBJECT_METADATA_COMPLETE_GENERATION to 'Yes' from Setup and Maintenance > Manage Administrator Profile Values . Then generate your artifacts again and turn the profile option back to "No".

You can update the profile option ORA_ZCA_IMPORT_EXPORT_QUEUE_SIZE to specify the size of import and export queues for dynamic queue configurations. The possible values are LOW, MEDIUM, HIGH, and FIXED. After updating the profile option, you must generate the artifacts for the changes to reflect.

If you have configured security in the Application Composer for create, update, or delete scenario, then such validations aren't honored by high-volume imports. Validations are applicable only for low-volume imports.

Relationships Between Custom Objects

Parent object resources expose the child objects of top-level custom objects. For objects to interact with one another, relationships must be created between them. The related objects can be either standard or custom objects. For example, if you want attributes from the Employee object to be available in the Trouble Ticket object workspace, a relationship must be defined between the Employee object and the Trouble Ticket object.

You can use Application Composer to create relationships between objects. Using Application Composer, you can create two types of relationships:

  • Parent-child: When you define a parent-child relationship, the link to the child object is included in the parent object description. A child object doesn't have its own workspace, and the child object's records are deleted if the parent object record is deleted.

  • Reference: When you define a reference relationship, the primary key of the source object is included as a foreign key in the description of the target object.

Intersection Objects

Use Application Composer to create many-to-many relationships between custom objects. In this case, you create an intersection object that references the source and target objects. For example, consider two object resources, Trouble Ticket and Resource, related by a many-to-many reference relationship, with the Assignment resource as the intersection object. In such a case, the following applies:

  • The Assignment resource has Trouble Ticket as the source object and Resources as the target object. The objects Trouble Ticket and Resources have many-to-many relationships.

  • The Assignment resource is the child resource of both Trouble Ticket and Resources.

How you Import Record Name Values

By default, the Record Name field is automatically generated and is updated using automatic sequence. The value you provide in the source file is ignored. If automatic record-name generation is disabled in the Application Composer, then you must provide the value in the source file and this value is imported. However, high-volume import doesn't support automatic generation of Record Name field; you must provide the Record Name value in the source file.

Specify the RecordNumber Attribute

When defining your custom object in Application Composer, RecordNumber field is always unique. The import activity uses RecordNumber as the user key to resolve the record in the target database.

When you modify the PUID (RecordNumber) make sure you follow by Application Composer guidelines, to prevent recordNumber collisions with the existing database sequence. This is applicable for both high-volume import and import using REST service. For more information on how to prevent conflict in PUID, see the topic Custom Object Public Unique IDs in the related topics section.

Support of Record Name Attribute

You can update custom object records by using the Record Name attribute to identify records. To enable this, you must set the profile option ORA_ZCA_IMPORT_ENABLE_RECORDNAME_SUPPORT to Y. By default this profile option has a value N. If you use the Record Name attribute to update records, the following order of precedence is used to identify the records:

  1. ID (PK)

  2. RecordNumber (PUID)

  3. RecordName (AlternatePUID)

However, you can't update the Recordname attribute value.