USP_DATAFORMTEMPLATE_EDIT_BATCH2TEMPLATE_4
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@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_EDIT_BATCH2TEMPLATE_4
(
@ID uniqueidentifier
, @CHANGEAGENTID uniqueidentifier = null
, @NAME nvarchar(60)
, @DESCRIPTION nvarchar(1000)
, @BATCHWORKFLOWID uniqueidentifier
, @AUTOSAVEONROWCHANGE bit
, @NUMBERINGSCHEMEID uniqueidentifier
, @BATCHFIELDS xml
, @VALIDATEBATCH bit
, @CHECKFORDUPLICATERECORDS bit
, @PURGEBATCH bit
, @CREATEEXCEPTIONBATCH bit
, @CREATECONTROLREPORT bit
, @BATCHTYPECATALOGID uniqueidentifier
, @IMPORTONLY bit
, @TEMPLATEPERMISSIONS xml
, @CUSTOMIZEPERMISSIONS xml
, @SITEID uniqueidentifier
, @TEMPLATEUSECODE tinyint
, @AUTOMATCHTHRESHOLD int
, @OVERALLMATCHTHRESHOLD int
, @PARAMETERSXML xml
, @USEGLOBALMATCHSETTINGS bit
)
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 and bt.ID <> @ID)
raiserror('ERR_BATCHTEMPLATE_UNIQUENAME', 13, 1);
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
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
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,
IMPORTONLY = @IMPORTONLY,
AUTOSAVEONROWCHANGE = @AUTOSAVEONROWCHANGE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
TEMPLATEUSECODE = @TEMPLATEUSECODE,
AUTOMATCHTHRESHOLD = @AUTOMATCHTHRESHOLD,
OVERALLMATCHTHRESHOLD = @OVERALLMATCHTHRESHOLD,
PARAMETERSXML = @PARAMETERSXML,
USEGLOBALMATCHSETTINGS = @USEGLOBALMATCHSETTINGS
where ID = @ID;
update dbo.IMPORTPROCESS set
AUTOMATCHTHRESHOLD = @AUTOMATCHTHRESHOLD,
OVERALLMATCHTHRESHOLD = @OVERALLMATCHTHRESHOLD,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where USEBATCHTEMPLATEMATCHSETTINGS = 1 and BATCHTEMPLATEID= @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_UPDATEFROMXML @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_UPDATEFROMXML @ID, @CUSTOMIZEPERMISSIONS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0