USP_DATAFORMTEMPLATE_EDIT_GENERATECONSTITUENTUPDATEBATCHPREPROCESS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@IDSETREGISTERID | uniqueidentifier | IN | |
@BATCHNUMBER | nvarchar(100) | IN | |
@OVERRIDEBATCHNUMBER | bit | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GENERATECONSTITUENTUPDATEBATCHPREPROCESS
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@IDSETREGISTERID uniqueidentifier,
@BATCHNUMBER nvarchar(100),
@OVERRIDEBATCHNUMBER bit,
@CURRENTAPPUSERID uniqueidentifier
)
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 @BATCHNUMBERINGSCHEMEID uniqueidentifier;
declare @BATCHWORKFLOWSTATEID uniqueidentifier;
select @BATCHTEMPLATEID = BATCHTEMPLATEID from dbo.GENERATEBATCHPROCESSCUB where ID = @ID;
if (@OVERRIDEBATCHNUMBER = 0 or @BATCHNUMBER is null or len(@BATCHNUMBER) = 0)
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.GENERATEBATCHPROCESSCUB set
IDSETREGISTERID = @IDSETREGISTERID,
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;