Resetting Workflow State Names on All Class Tables¶
This example demonstrates how to update class tables when the name of a workflow state is changed in M-Files.
Check Workflow State in SQL¶
SELECT *
FROM dbo.MFWorkflowState AS mws
INNER JOIN dbo.MFWorkflow AS mw ON mw.ID = mws.MFWorkflowID;
Update Metadata¶
EXEC dbo.spMFDropAndUpdateMetadata @IsStructureOnly = 0;
Recheck Workflow State Table in SQL¶
EXEC dbo.spMFSynchronizeSpecificMetadata @Metadata = 'States', @IsUpdate = 0, @ItemName = NULL, @Debug = 0;
-- or
EXEC dbo.spMFSynchronizeMetadata;
Update Class Table with State Change¶
SELECT class
FROM dbo.MFvwMetadataStructure AS mfms
INNER JOIN dbo.MFWorkflow AS mw ON mfms.Workflow_MFID = mw.MFID
INNER JOIN dbo.MFWorkflowState AS mws ON mws.MFWorkflowID = mw.ID
WHERE mws.IsNameUpdate = 1
GROUP BY mfms.Class;
EXEC dbo.spMFCreateTable @ClassName = 'Contract or Agreement', @Debug = 0;
EXEC dbo.spMFUpdateTable @MFTableName = 'MFcontractorAgreement', @UpdateMethod = 1;
Check Workflow State Name Change¶
SELECT Workflow_State FROM MFcontractorAgreement;
Update All State Label Changes¶
DECLARE @ProcessBatch_id INT;
EXEC dbo.spmfSynchronizeWorkFlowSateColumnChange @TableName = 'MFContractorAgreement',
@ProcessBatch_id = @ProcessBatch_id OUTPUT,
@Debug = 1;
-- or
EXEC dbo.spmfSynchronizeWorkFlowSateColumnChange;