USP_DATAFORMTEMPLATE_ADD_BATCHTEMPLATE
The save procedure used by the add dataform template "Batch Design Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@NAME | nvarchar(60) | IN | Name |
@DESCRIPTION | nvarchar(1000) | IN | Description |
@BATCHFIELDS | xml | IN | Batch fields |
@BATCHTYPECATALOGID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@TEMPLATEPERMISSIONS | xml | IN | |
@BATCHWORKFLOWID | uniqueidentifier | IN | Workflow |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CUSTOMIZEPERMISSIONS | xml | IN | |
@SITEID | uniqueidentifier | IN | Site |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_BATCHTEMPLATE
(
@ID uniqueidentifier = null output,
@NAME nvarchar(60),
@DESCRIPTION nvarchar(1000) = '',
@BATCHFIELDS xml,
@BATCHTYPECATALOGID uniqueidentifier,
@TEMPLATEPERMISSIONS xml = null,
@BATCHWORKFLOWID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CUSTOMIZEPERMISSIONS xml = null,
@SITEID uniqueidentifier = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
begin try
exec dbo.USP_BATCHTEMPLATEPROCESSOR_CREATEORUPDATE @ID output, @BATCHTYPECATALOGID, @NAME, @DESCRIPTION, @BATCHFIELDS, @BATCHWORKFLOWID, @CHANGEAGENTID, @SITEID = @SITEID;
-- since numbering schemes are required now on templates, we need to pull one off of the workflow, if it exists. This
-- helps maintain backward compatibility.
if @BATCHWORKFLOWID is not null
begin
-- workflow is required, so we really don't need this check
declare @NUMBERINGSCHEMEID uniqueidentifier = null;
declare @CURRENTDATE datetime;
set @CURRENTDATE = getdate();
select
@NUMBERINGSCHEMEID = BATCHNUMBERINGSCHEMEID
from dbo.BATCHWORKFLOW
where
ID = @BATCHWORKFLOWID;
if @NUMBERINGSCHEMEID is null
begin
-- autocreate a numbering scheme since none was provided via the old or new way.
exec dbo.USP_DATAFORMTEMPLATE_ADD_BATCH2NUMBERINGSCHEME @ID = @NUMBERINGSCHEMEID, @CHANGEAGENTID = @CHANGEAGENTID, @NAME = @NAME
end
update dbo.BATCHTEMPLATE set
BATCHNUMBERINGSCHEMEID = @NUMBERINGSCHEMEID
, DATECHANGED = @CURRENTDATE
, CHANGEDBYID = @CHANGEAGENTID
where ID = @ID;
end
exec dbo.USP_BATCHTEMPLATE_GETSYSTEMROLEPERMISSIONS_ADDFROMXML @ID, @TEMPLATEPERMISSIONS, @CHANGEAGENTID;
exec dbo.USP_BATCHTEMPLATE_GETSYSTEMROLECUSTOMIZEPERMISSIONS_ADDFROMXML @ID, @CUSTOMIZEPERMISSIONS, @CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0