USP_BATCHWORKFLOW_CREATEDEFAULTWORKFLOW
Creates default batch workflows.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@BATCHNAME | nvarchar(100) | IN | |
@BATCHTYPECATALOGID | uniqueidentifier | IN | |
@INITIALSTATENAME | nvarchar(100) | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@EDITABLESTATENAME | nvarchar(100) | IN |
Definition
Copy
CREATE procedure dbo.USP_BATCHWORKFLOW_CREATEDEFAULTWORKFLOW
(
@ID uniqueidentifier,
@BATCHNAME nvarchar(100),
@BATCHTYPECATALOGID uniqueidentifier,
@INITIALSTATENAME nvarchar(100),
@CHANGEAGENTID uniqueidentifier,
@EDITABLESTATENAME nvarchar(100) = ''
)
as
begin
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @REVIEWBATCH bit;
declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;
select
@REVIEWBATCH = coalesce(SPECXML.value('declare namespace batchType="bb_appfx_batchtype";(/batchType:BatchTypeSpec/@UseReviewWorkflow)[1]', 'bit' ),0)
from
dbo.BATCHTYPECATALOG
where
ID = @BATCHTYPECATALOGID;
select
@BATCHNUMBERINGSCHEMEID = ID
from
dbo.BATCHNUMBERINGSCHEME
where
NAME = @BATCHNAME;
if @BATCHNUMBERINGSCHEMEID is null
begin
set @BATCHNUMBERINGSCHEMEID = newid();
insert into dbo.BATCHNUMBERINGSCHEME
(ID, [NAME], ADDEDBYID, CHANGEDBYID)
values
(@BATCHNUMBERINGSCHEMEID, @BATCHNAME, @CHANGEAGENTID, @CHANGEAGENTID);
end
if @REVIEWBATCH = 0
begin
insert into dbo.BATCHWORKFLOW
(ID, [NAME], BATCHTYPECATALOGID, BATCHNUMBERINGSCHEMEID, ADDEDBYID, CHANGEDBYID)
values
(@ID, @BATCHNAME, @BATCHTYPECATALOGID, @BATCHNUMBERINGSCHEMEID, @CHANGEAGENTID, @CHANGEAGENTID);
insert into dbo.BATCHWORKFLOWSTATE
([NAME], BATCHWORKFLOWID, ISINITIALSTATE, ALLOWCOMMIT, ALLOWEDIT, ADDEDBYID, CHANGEDBYID)
values
(@INITIALSTATENAME, @ID, 1, 1, 1, @CHANGEAGENTID, @CHANGEAGENTID);
end;
else
begin
declare @INITIALSTATEID uniqueidentifier;
declare @EDITABLESTATEID uniqueidentifier;
set @INITIALSTATEID = newid();
set @EDITABLESTATEID = newid();
insert into dbo.BATCHWORKFLOW
(ID, [NAME], BATCHTYPECATALOGID, BATCHNUMBERINGSCHEMEID, ADDEDBYID, CHANGEDBYID)
values
(@ID, @BATCHNAME, @BATCHTYPECATALOGID, @BATCHNUMBERINGSCHEMEID, @CHANGEAGENTID, @CHANGEAGENTID);
insert into dbo.BATCHWORKFLOWSTATE
(ID, [NAME], BATCHWORKFLOWID, ISINITIALSTATE, ALLOWCOMMIT, ALLOWEDIT, ADDEDBYID, CHANGEDBYID)
values
(@INITIALSTATEID, @INITIALSTATENAME, @ID, 1, 0, 0, @CHANGEAGENTID, @CHANGEAGENTID);
if len(@EDITABLESTATENAME) > 0 begin
insert into dbo.BATCHWORKFLOWSTATE(ID, [NAME], BATCHWORKFLOWID, ISINITIALSTATE, ALLOWCOMMIT, ALLOWEDIT, ADDEDBYID, CHANGEDBYID)
values (@EDITABLESTATEID, @EDITABLESTATENAME, @ID, 0, 1, 1, @CHANGEAGENTID, @CHANGEAGENTID);
insert into dbo.BATCHWORKFLOWTASK(BATCHWORKFLOWSTATEID, NEXTBATCHWORKFLOWSTATEID, NAME, BATCHWORKFLOWID, ADDEDBYID, CHANGEDBYID)
values(@INITIALSTATEID, @EDITABLESTATEID, @EDITABLESTATENAME, @ID, @CHANGEAGENTID, @CHANGEAGENTID);
end
end;
end