USP_DATAFORMTEMPLATE_EDIT_GENERATECONSTITUENTUPDATEBATCHPROCESS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@IDSETREGISTERID | uniqueidentifier | IN | |
@BATCHTEMPLATEID | uniqueidentifier | IN | |
@BATCHNUMBER | nvarchar(100) | IN | |
@OVERRIDEBATCHNUMBER | bit | IN | |
@DESCRIPTION | nvarchar(1000) | IN | |
@OWNERID | uniqueidentifier | IN | |
@AUTOSAVEONROWCHANGE | bit | IN | |
@PROJECTEDNUMBEROFRECORDS | int | IN | |
@SITEID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GENERATECONSTITUENTUPDATEBATCHPROCESS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@IDSETREGISTERID uniqueidentifier,
@BATCHTEMPLATEID uniqueidentifier,
@BATCHNUMBER nvarchar(100),
@OVERRIDEBATCHNUMBER bit,
@DESCRIPTION nvarchar(1000),
@OWNERID uniqueidentifier,
@AUTOSAVEONROWCHANGE bit,
@PROJECTEDNUMBEROFRECORDS int,
@SITEID uniqueidentifier
)
as
set nocount on;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;
declare @APPUSERID uniqueidentifier;
declare @BATCHWORKFLOWSTATEID uniqueidentifier;
if (@OVERRIDEBATCHNUMBER = 0 or @BATCHNUMBER is null or len(@BATCHNUMBER) = 0)
begin
select @BATCHNUMBERINGSCHEMEID = BATCHNUMBERINGSCHEMEID
from dbo.BATCHTEMPLATE
where ID = @BATCHTEMPLATEID;
if @BATCHNUMBERINGSCHEMEID is null
raiserror('ERR_NUMBERINGSCHEME_NOTDEFINED', 13, 1);
end
else
begin
if dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, @BATCHTEMPLATEID) = 0
raiserror('ERR_CANNOTCUSTOMIZE_NUMBER', 13, 1);
if (select count(1) from dbo.BATCH where BATCHNUMBER = @BATCHNUMBER and BATCHTEMPLATEID = @BATCHTEMPLATEID) > 0
raiserror('ERR_DUPLICATE_NUMBER', 13, 1);
end
if @OWNERID is null
set @APPUSERID = @CURRENTAPPUSERID;
else
set @APPUSERID = @OWNERID;
select
@BATCHWORKFLOWSTATEID = BATCHWORKFLOWSTATE.ID
from
dbo.BATCHTEMPLATE
inner join dbo.BATCHWORKFLOW on BATCHTEMPLATE.BATCHWORKFLOWID = BATCHWORKFLOW.ID
inner join dbo.BATCHWORKFLOWSTATE on BATCHWORKFLOW.ID = BATCHWORKFLOWSTATE.BATCHWORKFLOWID
where
BATCHTEMPLATE.ID = @BATCHTEMPLATEID
and
ISINITIALSTATE = 1;
if @BATCHWORKFLOWSTATEID is null
raiserror('ERR_INVALIDWORKFLOW_DEFINED', 13, 1);
begin try
if (@SITEID is not null)
begin
if dbo.UFN_SITEALLOWEDFORUSER(@CURRENTAPPUSERID, @SITEID) = 0
begin
raiserror ('ERR_SITE_NOACCESS',13,1);
return 1;
end
end
update dbo.GENERATEBATCHPROCESSCUB set
ID = @ID,
NAME = @NAME,
IDSETREGISTERID = @IDSETREGISTERID,
BATCHTEMPLATEID = @BATCHTEMPLATEID,
BATCHNUMBER = @BATCHNUMBER,
OVERRIDEBATCHNUMBER = @OVERRIDEBATCHNUMBER,
DESCRIPTION = @DESCRIPTION,
APPUSERID = @APPUSERID,
AUTOSAVEONROWCHANGE = @AUTOSAVEONROWCHANGE,
PROJECTEDNUMBEROFRECORDS = @PROJECTEDNUMBEROFRECORDS,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID;
update dbo.BUSINESSPROCESSINSTANCE set
SITEID = @SITEID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
BUSINESSPROCESSINSTANCE.BUSINESSPROCESSPARAMETERSETID = @ID
and BUSINESSPROCESSINSTANCE.BUSINESSPROCESSCATALOGID = '44ccccea-9e4b-4935-9ab0-60c9f23a543d'
and (BUSINESSPROCESSINSTANCE.SITEID <> @SITEID
or BUSINESSPROCESSINSTANCE.SITEID is null and @SITEID is not null
or BUSINESSPROCESSINSTANCE.SITEID is not null and @SITEID is null);
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0