It sounds like that object’s record was either not able to be updated in the TCX_OBJECTS table, or the referential keys somehow became unlinked. I would probably recommend the following steps to troubleshoot:
- Open up the Schema Browser (or use a select statement in the editor) and view the object’s record in the TCX_OBJECTS table.
a. Make sure there aren’t multiple records for the same object. There should only be one.
b. Make note of the CONFIG_ID, PROJECT_ID, and OBJECT_ID values.
- Verify that the CONFIG_ID and PROJECT_ID match what’s in the TCX_PROJECTS table.
- Verify that the OBJECT_ID value listed for that object is the same as the one reported by the database (from ALL_OBJECTS).
If all ID’s match, you can simply edit the record in TCX_OBJECTS and set its NUMBER_OF_LOCKS to zero (0) and its “Exclusive Lock” column to “N”. Post and commit your change and the refresh the list of objects in the Team Coding Manager. The object should be released for use again.
If the CONFIG_ID or PROJECT_ID doesn’t match, you should be able to update them to match.
If the OBJECT_ID doesn’t match, it’s possible that it was changed in the database, but not updated in Team Coding (perhaps through a RENAME command). In that case, you should be able to edit the record in TCX_OBJECTS and change its name to something else (perhaps adding “_OLD” to the end of it). If it’s a Package or Type, you’ll probably need to do it to both the Spec and the Body objects. Post and commit the change. Then, open the Team Coding Configuration window and press the OK button.
That should recreate the object in question and release it for use. You can then freeze the object marked “_OLD” and it should allow you to continue to reference the previous history of changes to the object. If you don’t need that history after the issue is resolved, you can then delete that record and its associated TCX_OBJECT_HISTORY records.
Feel free to give those a shot and let us know what you find. If this still continues to be an issue, we can further troubleshoot the issue from there.