How to Resolve “Workflow States Exceeds Permissible Limit” – SOLIDWORKS
How to Resolve “Workflow States Exceeds Permissible Limit”
Instructions for correcting state described in SPR 1089784 for SOLIDWORKS PDM Standard
If you are using PDM Standard you may encounter the following error message when opening the Administration tool: “Changes to your vault database have been detected that are in violation of the license agreement. These changes may impact functioning of SOLIDWORKS PDM and should be removed. If you believe this message is in error, please contact your support representative. Warning: Workflow states exceeds permissible limit for Standard Vault.”
What is the Cause of the Error?
The trigger for this error is that when the PDM Administration tool checks the workflow it determines that there are more than 10 states present in the workflow, even though 10 or fewer states are visible in the workflow editor. This condition can come about if a state was deleted from the workflow when files were still in that state. A warning is shown when you attempt to delete a workflow in this condition, but you can choose to ignore the error and continue.
An Ounce of Prevention…
The best way to avoid this error is to ensure that you do not continue past the error when deleting a workflow state. If you get the message that the state cannot be deleted because files are found in that state but cannot find files in the vault in that state using the search tool, then there may be some orphaned files that were moved into that state with parent files but the parent files have since been deleted. This behavior is described in SPR 1215033. The fix for files in this condition are the same as for SPR1089784.
Note: Starting with SOLIDWORKS PDM Standard 2023 SP0.1 you will not have the option to delete a state in this condition and you will need to move all files out of that state before deleting it.
How Can We Fix the Issue?
If you recently deleted the workflow state and you have a backup of the database prior to the action that led to the error then you can restore the backup, at which point you can move files out of the state to be deleted and continue with the intended changes to the workflow. In many cases this will not be a satisfactory solution as any work performed in the vault since the deletion of the workflow state(s) would be lost.
At this point you have two options for correcting the issues:
- Submit a support request through your VAR (Value Added Reseller) for SOLIDWORKS Technical Support to manually correct the database
- If you are not on subscription or cannot provide the database files you can manually update the database entries to remove references to deleted states
Manual Correction Steps
***WARNING: The instructions provided below are not officially supported by SOLIDWORKS or MLC-CAD Systems LLC. These instructions are for users with a strong working knowledge of SQL Server and an understanding of how to use SQL queries. If you do not understand any portion of these instructions you should contact technical support. If you are not a subscription customer MLC-CAD may provide database repair assistance as a contracted service. The SQL database as well as the file archives must be backed up prior to making any changes to the database.***
If you choose to manually correct this issue you will need to perform the following steps, preferably using Microsoft SQL Server Management Studio (SSMS). If there are multiple deleted states you must perform these steps for each deleted state.
This process searches the database for disabled states, then updates the documents found in the selected state to another state. You will need to determine what target state you wish to move documents to.
Start by connecting to the SQL Express database server instance using SSMS, then expand the ‘Databases’ node and select the database name for your vault.
- Identify the state(s) that have been deleted in the Administration tool but not the database:
States are stored in the ‘Status’ table, and when a state is deleted in the Administration tool but files still exist in that state the ‘Enabled’ property is set to 0 and the state/status is not deleted from the database. The ‘Name’ field contains the workflow state name displayed in the Administration tool. Make note of the StatusID of any deleted state(s) (we will refer to this as <Deleted StatusID>)::
SELECT StatusID, Name FROM Status WHERE Enabled=0;
- This query lists all ‘Enabled’ states/statuses. Determine which StatusID you wish to move documents to from the state(s) identified in step 1 (we will refer to this as <Target StatusID>):
SELECT StatusID, Name FROM Status WHERE Enabled=1;
- Use an Update query to change the ‘CurrentStatusID’ value for each document listed in the ‘Documents’ table with a ‘CurrentStatusID’ matching the state(s) identified in Step 1 to the target state(s) identified in Step 2:
UPDATE Documents SET CurrentStatusID = <Target StatusID> WHERE CurrentStatusID = <Deleted StatusID>;
- Delete the disabled state(s) to prevent future error messages:
DELETE FROM Status WHERE StatusID = <Deleted StatusID>;
- Login to the Administration tool and verify that the error message is no longer shown.
Get help from our team by Calling us at 800-364-1652 x 2. You can also get assistance by clicking the Technical Support button or the Email Our Experts button below.