USP_DATAFORMTEMPLATE_ADD_GENERATESTEPUPDATEBATCHPROCESS
The save procedure used by the add dataform template "Generate Step Update Batch Process Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(1000) | IN | Description |
@IDSETREGISTERID | uniqueidentifier | IN | Step selection |
@BATCHTEMPLATEID | uniqueidentifier | IN | Batch template |
@BATCHNUMBER | nvarchar(100) | IN | Batch number |
@OVERRIDEBATCHNUMBER | bit | IN | Override |
@OWNERID | uniqueidentifier | IN | Owner |
@AUTOSAVEONROWCHANGE | bit | IN | Enable auto save |
@FIELDSTOUPDATE | xml | IN | Updates |
@OFFSET | smallint | IN | move target dates |
@MOVECODE | tinyint | IN | Move target dates |
@DATEVALUEUNITCODE | tinyint | IN | Date value unit code |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_GENERATESTEPUPDATEBATCHPROCESS
(
@ID uniqueidentifier = null output,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(1000) = '',
@IDSETREGISTERID uniqueidentifier,
@BATCHTEMPLATEID uniqueidentifier,
@BATCHNUMBER nvarchar(100) = '',
@OVERRIDEBATCHNUMBER bit = 0,
@OWNERID uniqueidentifier = null,
@AUTOSAVEONROWCHANGE bit = 0,
@FIELDSTOUPDATE xml = null,
@OFFSET smallint = 0,
@MOVECODE tinyint = 0,
@DATEVALUEUNITCODE tinyint = 0
)
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 @USENUMBERINGSCHEME bit;
declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;
declare @APPUSERID uniqueidentifier;
declare @BATCHWORKFLOWSTATEID uniqueidentifier;
if (@OVERRIDEBATCHNUMBER = 0 or @BATCHNUMBER is null or len(@BATCHNUMBER) = 0)
set @USENUMBERINGSCHEME = 1;
if (@USENUMBERINGSCHEME = 1)
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
insert into dbo.GENERATESTEPUPDATEBATCHPROCESS
(ID, NAME, IDSETREGISTERID, BATCHTEMPLATEID, BATCHNUMBER, OVERRIDEBATCHNUMBER, DESCRIPTION, APPUSERID, AUTOSAVEONROWCHANGE,
FIELDSTOUPDATE, OFFSET, MOVECODE, DATEVALUEUNITCODE,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @IDSETREGISTERID, @BATCHTEMPLATEID, @BATCHNUMBER, @OVERRIDEBATCHNUMBER, @DESCRIPTION, @APPUSERID, @AUTOSAVEONROWCHANGE,
@FIELDSTOUPDATE, @OFFSET, @MOVECODE, @DATEVALUEUNITCODE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
exec dbo.USP_BUSINESSPROCESSINSTANCE_ADD @CHANGEAGENTID = @CHANGEAGENTID,
@BUSINESSPROCESSCATALOGID = 'd6aa3069-2c4a-4492-bb40-85e50c948ab9',
@BUSINESSPROCESSPARAMETERSETID = @ID,
@OWNERID = @CURRENTAPPUSERID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0