Record Delete Service
By using the Record Delete web service, you can delete the following records:
- A repository record
- Records related to the specified record
- Both the repository record and related records. That is, delete the parent record and the records for the given relationship.
- A future dated record version
When a record is deleted, a workflow is initiated unless specified otherwise in the command qualifier. Using the right command qualifier, you can skip the workflow processing and complete the delete record operation
If the workflow is initiated its DOCSUBTYPE is set as CatEditDelete.
The eligibility criteria for deletion is:
- You must have access permission to delete the record on the specified repository.
- The record must not be a part of another workflow. If the record is a part of another workflow, the record is not deleted.
- When deleting records and related records, all the records must be available for deletion. If deletion is not allowed on one of the records then the whole transaction is disallowed and no deletion will be carried for the remaining records even if deletion is allowed. Deletion will be successful only if all the records are available for deletion. The record is not available for deletion when the record is being processed in other workflows or the user does not have the permission for deletion.
Deleting a Record
When a record is deleted, the latest version of a record must be active and the record must not present in another workflow.
The delete action is performed by creating a new version with Active = N.
Future Effective Date (FED)
The web service can delete a specific version of a future effective date record if the following criteria are met:
- the version number is specified
- the specified version is future dated and active
- the version is not in another workflow
You can delete the previous versions of future effective date records by specifying the DELETE_PREVIOUS_FED_VERSION variable. Alternatively, you can retain the previous versions of future effective date records or overwrite them. Later, you can delete the previous version when the EffectiveDate is changed for a record. The delete action is performed by marking the version of future effective date record as REJECTED.
For example:
<Command type="Delete">
<MasterCatalogRecord etype="Entity" commandqualifier="Record">
<ExternalKeys>
<Key name="MASTERCATALOGNAME"type="string">MASTERCATALOG_WITH_EFFECTIVEDATE_RA</Key>
<Key name="PRODUCTID"type="string">EffectiveDate</Key>
<Key name="PRODUCTIDEXT"type="string">EffectiveDate</Key>
<Key name="RECORD_VERSION"type="int">2</Key></ExternalKeys>
<EntityData>
<!--default RECORD_STATE is if not specified is UNCONFIRMED-->
<Attribute name="EFFECTIVEDATE"type="date">2011-06-29 00:00:00.000</Attribute>
</EntityData>
</MasterCatalogRecord></Command>