Skip Navigation
Expand
Deleting contacts which have records assigned to them
Answer ID 8008   |   Last Review Date 05/03/2022

What happens when I delete a contact who has records assigned to it?

Environment:

Contacts
Oracle B2C Service, All versions

Resolution:

Please note that you need to be careful when deleting contact or other parent records from the Oracle B2C Service console. There is no record restore option for this action and, once the record is deleted, you will be unable to restore that record to your site.

Cascading Delete - Versions 21C and below

When you delete a single contact record from your client, normally you also delete all incidents and tasks that are associated with that contact. This applies to organizations that have associated contacts and also incidents that have aggregated custom objects. Deleting a parent object from the console will also delete all child objects except for some corner cases.  Please note that file attachments, assets and campaigns are not affected by a contact deletion.  The contact id field on opportunities associated with the deleted contact is nulled out and any opportunity records will remain.

If you wish to retain the incidents and tasks for archiving purposes, you can edit the contact record and disable it (the standard contact workspace needs to be modified accordingly in order to use this feature). More information on this option is available in Answer ID 1367: Disabling a contact record from Oracle B2C Service.  If you wish to retrieve the file attachments from the incidents that have been deleted, you need to initiate a consulting engagement with our Oracle Consulting Services team.
 

Delete with Orphan Sweep - Versions 21D and above

When parent objects are deleted in 21D and above, the child objects are now not deleted but removed from association to the deleted object.

Previously, when an organization was deleted, the contacts and incidents associated to that organization were also deleted. Similarly, when a contact was deleted, the incidents associated to that contact were also deleted.

Now, when an organization is deleted, the associated contacts and incidents are not deleted but are updated to set the associated Organization ID to NULL. Similarly, upon deletion of a contact, the Contact ID of the associated incidents are set to NULL. These updates are performed in an asynchronous manner so a delay in nulling out these values is normal and to be expected.

This is the same functionality used by the Bulk Delete API when custom code deletes objects.  For more information on using the Bulk Delete API please refer to Answer ID 12209: Incident contact set to null when contact is deleted via API.