Wednesday, September 10, 2008

How can I recover a lifecycle that contains deleted procedure objects (actions)?

ID: esg12595
SOLUTION

If a procedure object has been deleted from a lifecycle you may encounter the error.

Unable to open the actions for this state:

DfException@71a:: THREAD: main; MSG: [DM_API_E_EXIST]error: "Document/object specified by 0800a75a80000d48 does not exist."

[DM_SYSOBJECT_E_CANT_FETCH_INVALID_ID]error: "Cannot fetch a sysobject - Invalid object ID 0800a75a80000d48"; ERRORCODE: 100; NEXT: null

The way to solve this problem is as follows:

1. Remove the reference to the missing procedure.
- Uninstall the lifecycle (Example: WebPublisher will not function in this state so they have to inform their users that WebPublisher will be unavailable until the problem is fixed.)
- Dump the dm_policy object in IAPI
- Locate the offending id in the action_object_id repeating attribute
- Set the value to nullid (0000000000000000) at that index.
- Save the lifecycle

2. Recreate the actions for the state (Assuming they know what actions they want in the state)
- Open the fixed dm_policy object in the Lifecycle Editor of DDS.
- Open the state and add the actions

In the initial case for this SN while in DDS the default WebPublisher Engineering Lifecycle produced the error above. Customer deleted procedure objects.

This same process should apply to other Lifecycle applications.

Other complaints and/or error messages may include:

- I cannot view or edit any Actions in a lifecycle.
- I have created a new lifecycle from scratch and the same problem and error message appear.
- DfException@5aa:: THREAD: main; MSG: [DM_POLICY_E_BAD_ACTION]error: "The policy identified by 4600a75a80000d46 has an invalid action object id 0800a7580000d47 specified for start Start."; ERRORCODE : 100; NEXT: null

No comments: