USP_BBWORKFLOWINBOX_CREATEORUPDATE
Creates or updates the BBWORKFLOWINBOX table. Used by loadspec.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@NAME | nvarchar(200) | IN | |
@DESCRIPTION | nvarchar(2048) | IN | |
@SPECXML | xml | IN | |
@CHANGEAGENTID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_BBWORKFLOWINBOX_CREATEORUPDATE
@ID uniqueidentifier ,
@NAME nvarchar(200),
@DESCRIPTION nvarchar(2048),
@SPECXML xml,
@CHANGEAGENTID uniqueidentifier=null
as
set nocount on;
if @NAME is null or @NAME = ''
begin
raiserror ('Name was missing or blank', 16,1);
return 5;
end
if @DESCRIPTION is null or @DESCRIPTION = ''
begin
raiserror ('Description was missing or blank', 16,1);
return 6;
end
declare @ExistingID uniqueidentifier;
if @ID is null
begin
select @ExistingID = ID from dbo.BBWORKFLOWINBOX where NAME = @NAME;
set @ID = @ExistingID;
end
else
select @ExistingID = ID from dbo.BBWORKFLOWINBOX where ID = @ID;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @date datetime;
set @date = getDate();
if @ExistingID is null
begin
if @ID is null set @ID = NewID();
insert into dbo.BBWORKFLOWINBOX
(ID, [NAME], [DESCRIPTION], SPECXML, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @DESCRIPTION, @SPECXML, @CHANGEAGENTID, @CHANGEAGENTID, @date, @date);
end
else
begin
update dbo.BBWORKFLOWINBOX
set [NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
SPECXML = @SPECXML,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @date
where ID = @ID ;
end
if @@rowcount=0 return 3;
return 0;