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