USP_DATAFORMTEMPLATE_ADD_BATCH2TEMPLATE_2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | nvarchar(60) | IN | |
@DESCRIPTION | nvarchar(1000) | IN | |
@BATCHWORKFLOWID | uniqueidentifier | IN | |
@AUTOSAVEONROWCHANGE | bit | IN | |
@NUMBERINGSCHEMEID | uniqueidentifier | IN | |
@BATCHFIELDS | xml | IN | |
@VALIDATEBATCH | bit | IN | |
@CHECKFORDUPLICATERECORDS | bit | IN | |
@PURGEBATCH | bit | IN | |
@CREATEEXCEPTIONBATCH | bit | IN | |
@CREATECONTROLREPORT | bit | IN | |
@BATCHTYPECATALOGID | uniqueidentifier | IN | |
@IMPORTONLY | bit | IN | |
@TEMPLATEPERMISSIONS | xml | IN | |
@CUSTOMIZEPERMISSIONS | xml | IN | |
@SITEID | uniqueidentifier | IN | |
@TEMPLATEUSECODE | tinyint | IN | |
@AUTOMATCHTHRESHOLD | int | IN | |
@OVERALLMATCHTHRESHOLD | int | IN | |
@PARAMETERSXML | xml | IN | |
@USEGLOBALMATCHSETTINGS | bit | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_BATCH2TEMPLATE_2
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(60),
@DESCRIPTION nvarchar(1000) = '',
@BATCHWORKFLOWID uniqueidentifier,
@AUTOSAVEONROWCHANGE bit = 0,
@NUMBERINGSCHEMEID uniqueidentifier = null,
@BATCHFIELDS xml = null,
@VALIDATEBATCH bit = 0,
@CHECKFORDUPLICATERECORDS bit = 1,
@PURGEBATCH bit = 0,
@CREATEEXCEPTIONBATCH bit = 1,
@CREATECONTROLREPORT bit = 0,
@BATCHTYPECATALOGID uniqueidentifier,
@IMPORTONLY bit = 0,
@TEMPLATEPERMISSIONS xml = null ,
@CUSTOMIZEPERMISSIONS xml = null,
@SITEID uniqueidentifier = null,
@TEMPLATEUSECODE tinyint = 0,
@AUTOMATCHTHRESHOLD int = 0,
@OVERALLMATCHTHRESHOLD int = 0,
@PARAMETERSXML xml = null,
@USEGLOBALMATCHSETTINGS bit = 1
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
if exists (SELECT 1 from dbo.BATCHTEMPLATE bt
WHERE bt.NAME = @NAME)
raiserror('ERR_BATCHTEMPLATE_UNIQUENAME', 13, 1);
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @BATCHNUMCODE tinyint
select @BATCHNUMCODE = NUMBERINGSCHEMECODE from BATCHNUMBERINGSCHEME where ID = @NUMBERINGSCHEMEID
if @BATCHNUMCODE = 1 and @TEMPLATEUSECODE <> 1
begin
raiserror('ERR_BATCHTEMPLATE_NUMBERINGSCHEME', 13, 1);
end
begin try
exec dbo.USP_BATCHTEMPLATEPROCESSOR_CREATEORUPDATE @ID output, @BATCHTYPECATALOGID, @NAME, @DESCRIPTION, @BATCHFIELDS, @BATCHWORKFLOWID, @CHANGEAGENTID, @SITEID = @SITEID;
update BATCHTEMPLATE set
BATCHNUMBERINGSCHEMEID = @NUMBERINGSCHEMEID,
DEFAULTVALIDATEBEFORECOMMIT = @VALIDATEBATCH,
DEFAULTCHECKFORDUPLICATES = @CHECKFORDUPLICATERECORDS,
DEFAULTDELETEBATCHAFTERCOMMIT = @PURGEBATCH,
DEFAULTCREATEEXCEPTIONBATCH = @CREATEEXCEPTIONBATCH,
DEFAULTCREATECONTROLREPORT = @CREATECONTROLREPORT,
AUTOSAVEONROWCHANGE = @AUTOSAVEONROWCHANGE,
IMPORTONLY = @IMPORTONLY,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
TEMPLATEUSECODE = @TEMPLATEUSECODE,
AUTOMATCHTHRESHOLD = @AUTOMATCHTHRESHOLD,
OVERALLMATCHTHRESHOLD = @OVERALLMATCHTHRESHOLD,
PARAMETERSXML = @PARAMETERSXML,
USEGLOBALMATCHSETTINGS = @USEGLOBALMATCHSETTINGS
where ID = @ID;
declare @TTbl table (
[GRANTORDENY] int,
[ID] uniqueidentifier,
[SYSTEMROLEID] uniqueidentifier);
insert into @TTbl select
[GRANTORDENY],
[ID],
[SYSTEMROLEID]
from dbo.UFN_BATCHTEMPLATE_GETSYSTEMROLEPERMISSIONS_FROMITEMLISTXML(@TEMPLATEPERMISSIONS)
where [GRANTORDENY] <> 2;
set @TEMPLATEPERMISSIONS = (SELECT [GRANTORDENY], [ID], [SYSTEMROLEID]
FROM @TTbl
for xml raw('ITEM'),type,elements,root('TEMPLATEPERMISSIONS'),BINARY BASE64);
exec dbo.USP_BATCHTEMPLATE_GETSYSTEMROLEPERMISSIONS_ADDFROMXML @ID, @TEMPLATEPERMISSIONS, @CHANGEAGENTID;
delete from @TTbl;
insert into @TTbl select
[GRANTORDENY],
[ID],
[SYSTEMROLEID]
from dbo.UFN_BATCHTEMPLATE_GETSYSTEMROLECUSTOMIZEPERMISSIONS_FROMITEMLISTXML(@CUSTOMIZEPERMISSIONS)
where [GRANTORDENY] <> 2;
set @CUSTOMIZEPERMISSIONS = (SELECT [GRANTORDENY], [ID], [SYSTEMROLEID]
FROM @TTbl
for xml raw('ITEM'),type,elements,root('CUSTOMIZEPERMISSIONS'),BINARY BASE64);
exec dbo.USP_BATCHTEMPLATE_GETSYSTEMROLECUSTOMIZEPERMISSIONS_ADDFROMXML @ID, @CUSTOMIZEPERMISSIONS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0