Working with Workflows
This example demonstrates how to work with workflows and workflow states, including creating lookup views and updating aliases.
Workflows and States Join
SELECT *
FROM dbo.MFWorkflowState AS MWS
INNER JOIN dbo.MFWorkflow AS MW ON MWS.MFWorkflowID = MW.ID;
Create Workflow State Lookup View
EXEC dbo.spMFCreateWorkflowStateLookupView
@WorkflowName = N'Contract Approval Workflow',
@ViewName = N'MFvwContractApproval',
@Debug = 0;
SELECT * FROM MFvwContractApproval;
Update Workflow State Alias
UPDATE dbo.MFWorkflowState
SET Alias = 'ws.' + dbo.fnMFReplaceSpecialCharacter(Name)
WHERE MFWorkflowID = 14;
EXEC dbo.spMFSynchronizeSpecificMetadata
@Metadata = 'state',
@Debug = 0,
@IsUpdate = 1;
Update Workflow Alias
UPDATE dbo.MFWorkflow
SET Alias = 'wf.' + dbo.fnMFReplaceSpecialCharacter(Name)
WHERE MFID = 107;
EXEC dbo.spMFSynchronizeSpecificMetadata
@Metadata = 'workflow',
@Debug = 0,
@IsUpdate = 1;
Update Workflow and State on Record
SELECT * FROM dbo.MFClass AS MC WHERE Name = 'Drawing';
EXEC dbo.spMFCreateTable @ClassName = N'Drawing', @Debug = 0;
EXEC dbo.spMFUpdateTable @MFTableName = N'MFDrawing', @UpdateMethod = 1;
SELECT workflow, workflow_ID, state, state_ID, * FROM dbo.MFDrawing AS MD;
INSERT INTO dbo.MFDrawing (
Customer_ID,
Drawing_Type_ID,
Name_Or_Title,
Project_ID,
State_ID,
Workflow_ID,
Process_ID
) VALUES (
149, 1, 'TestWorkflow', 5, NULL, NULL, 1
);
EXEC dbo.spMFUpdateTable @MFTableName = N'MFDrawing', @UpdateMethod = 0;
WHERE
[MFID] = 107;