USP_DATAFORMTEMPLATE_EDIT_GENERATESTEPUPDATEBATCHPREPROCESS
The save procedure used by the edit dataform template "Generate Step Update Batch Preprocess Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@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. |
@IDSETREGISTERID | uniqueidentifier | IN | Step selection |
@FIELDSTOUPDATE | xml | IN | Updates |
@OFFSET | smallint | IN | move target dates |
@MOVECODE | tinyint | IN | Move target dates |
@DATEVALUEUNITCODE | tinyint | IN | Date value unit code |
@BATCHNUMBER | nvarchar(100) | IN | Batch number |
@OVERRIDEBATCHNUMBER | bit | IN | Override |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GENERATESTEPUPDATEBATCHPREPROCESS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@IDSETREGISTERID uniqueidentifier,
@FIELDSTOUPDATE xml,
@OFFSET smallint,
@MOVECODE tinyint,
@DATEVALUEUNITCODE tinyint,
@BATCHNUMBER nvarchar(100),
@OVERRIDEBATCHNUMBER bit
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @BATCHTEMPLATEID uniqueidentifier;
declare @USENUMBERINGSCHEME bit;
declare @BATCHNUMBERINGSCHEMEID uniqueidentifier;
declare @BATCHWORKFLOWSTATEID uniqueidentifier;
select @BATCHTEMPLATEID = BATCHTEMPLATEID from dbo.GENERATESTEPUPDATEBATCHPROCESS where ID = @ID;
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
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
update dbo.GENERATESTEPUPDATEBATCHPROCESS set
IDSETREGISTERID = @IDSETREGISTERID,
FIELDSTOUPDATE = @FIELDSTOUPDATE,
OFFSET = @OFFSET,
MOVECODE = @MOVECODE,
DATEVALUEUNITCODE = @DATEVALUEUNITCODE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE,
BATCHNUMBER = @BATCHNUMBER,
OVERRIDEBATCHNUMBER = @OVERRIDEBATCHNUMBER
where ID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;