USP_DATAFORMTEMPLATE_EDIT_BATCH_3
The save procedure used by the edit dataform template "Batch Edit Form 2".
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. |
@BATCHNUMBER | nvarchar(100) | IN | Batch number |
@DESCRIPTION | nvarchar(1000) | IN | Description |
@OWNERID | uniqueidentifier | IN | Owner |
@PROJECTEDNUMBEROFRECORDS | int | IN | Projected # |
@PROJECTEDTOTALAMOUNT | money | IN | Projected amount |
@AUTOSAVEONROWCHANGE | bit | IN | Auto save |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_BATCH_3
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@BATCHNUMBER nvarchar(100),
@DESCRIPTION nvarchar(1000),
@OWNERID uniqueidentifier,
@PROJECTEDNUMBEROFRECORDS int,
@PROJECTEDTOTALAMOUNT money,
@AUTOSAVEONROWCHANGE bit
)
as
set nocount on;
begin try
declare @CHANGEDATE datetime;
declare @OLDBATCHNUMBER nvarchar(100);
declare @PREVIOUSOWNERID uniqueidentifier;
declare @BATCHTEMPLATEID uniqueidentifier;
set @CHANGEDATE = getdate();
select
@OLDBATCHNUMBER = BATCHNUMBER,
@BATCHTEMPLATEID = BATCHTEMPLATEID,
@PREVIOUSOWNERID = APPUSERID
from
dbo.BATCH
where
(ID = @ID);
if not(@OLDBATCHNUMBER = @BATCHNUMBER)
if dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, @BATCHTEMPLATEID) = 0
raiserror('You do not have permission to assign a custom batch number for this batch design.', 13, 1);
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
update dbo.BATCH set
BATCHNUMBER = @BATCHNUMBER,
DESCRIPTION = @DESCRIPTION,
APPUSERID = @OWNERID,
PROJECTEDNUMBEROFRECORDS = coalesce(@PROJECTEDNUMBEROFRECORDS, 0),
PROJECTEDTOTALAMOUNT = @PROJECTEDTOTALAMOUNT,
AUTOSAVEONROWCHANGE = @AUTOSAVEONROWCHANGE,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CHANGEDATE
where
(ID = @ID);
exec dbo.USP_BATCHASSIGNEDALERT_SEND @PREVIOUSOWNERID, @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;