When attempting to delete/destroy a lifecycle you may get the following error:
[DM_POLICY_E_CANT_DESTROY]error: “Cannot destroy policy identified by
<dm_policy_id> since its state is installed or currently referenced by
some sysobject.”
To delete a lifecycle, first make sure that no documents in the docbase are referring to that Lifecycle. Run the following DQL to find out if there are any documents referring to the lifecycle:
select * from <object_type> where r_policy_id = ‘<lifecycle_object_id>’
If no documents are using or referring to the Lifecycle, then the most likely cause of this error is that the Lifecycle is still in an “Installed” state in the docbase. To uninstall the Lifecycle and destroy the lifecycle run the following API’s:
uninstall,c,<lifecycle_id>
destroy,c,<lifecycle_id>
Install/uninstall lifecycle Notes:
fetch,c,4601b2078000256c
install,c,l
update dm_policy object set r_definition_state=1 where object_name = ’stnd_lifecycle’
when user upgrade DCM docapp, docapp installation failed with timeout erro, we found that the root cause is that Docapp installer cannot uninstall existing lifecycle. further investigation, we knew that we cannot use DAB or IAPI to uninstall these lifecycle, it throws generic error message “rpc error 116 occurred”.
Cause
some related workflow instaances or job maybe crashed, it cause DAB cannot uninstall lifecycle object.
Resolution
1. search ifecycle object id = ‘46001dxxxxxxxxxxx’
2. run DQL the following DQL query:
update dm_policy object set r_definition_state = ‘0′ where r_object_id = ‘46001dxxxxxxxxxxx’
Important notes:
1. r_definition_stat = 0 —- draft
r_definition_stat = 1 —- validate
r_definition_stat = 2 —- installed
2. Please try to uninstall lifecycle using DAB first, then IAPI second, last option is to use DQL query.