USP_DATAFORMTEMPLATE_EDIT_NAMINGOPPORTUNITYREVENUERECOGNITION
The save procedure used by the edit dataform template "Naming Opportunity Revenue Recognition Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@NAMINGOPPORTUNITYID | uniqueidentifier | IN | Naming opportunity |
@CONSTITUENTID | uniqueidentifier | IN | Constituent |
@CONSTITUENTNAMEFORMATID | uniqueidentifier | IN | Name format |
@CUSTOMNAMEFORMAT | nvarchar(100) | IN | Custom name format |
@STARTDATE | UDT_FUZZYDATE | IN | Recognition date |
@ENDDATE | UDT_FUZZYDATE | IN | Recognition ends |
@AMOUNT | money | IN | Recognition amount |
@QUANTITY | int | IN | Quantity |
@INSCRIPTION | nvarchar(max) | IN | Inscription |
@SPECIALREQUEST | nvarchar(max) | IN | Special request |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_NAMINGOPPORTUNITYREVENUERECOGNITION
(
@ID uniqueidentifier,
@NAMINGOPPORTUNITYID uniqueidentifier,
@CONSTITUENTID uniqueidentifier,
@CONSTITUENTNAMEFORMATID uniqueidentifier,
@CUSTOMNAMEFORMAT nvarchar(100),
@STARTDATE dbo.UDT_FUZZYDATE,
@ENDDATE dbo.UDT_FUZZYDATE,
@AMOUNT money,
@QUANTITY int,
@INSCRIPTION nvarchar(max),
@SPECIALREQUEST nvarchar(max),
@CHANGEAGENTID uniqueidentifier
)
as
set nocount on;
begin try
declare @CHANGEDATE datetime;
set @CHANGEDATE = getdate();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CUSTOMNAMEFORMAT is null
set @CUSTOMNAMEFORMAT = '';
if not @CONSTITUENTNAMEFORMATID is null
set @CUSTOMNAMEFORMAT = '';
if @STARTDATE is null
set @STARTDATE = '00000000';
if @ENDDATE is null
set @ENDDATE = '00000000';
declare @EXISTINGRECOGNITIONS int;
declare @MAXRECOGNITIONS int;
select @MAXRECOGNITIONS = coalesce(QUANTITY, 0) from dbo.NAMINGOPPORTUNITY where ID = @NAMINGOPPORTUNITYID;
select @EXISTINGRECOGNITIONS = coalesce(sum(QUANTITY), 0) from dbo.NAMINGOPPORTUNITYRECOGNITION where NAMINGOPPORTUNITYID = @NAMINGOPPORTUNITYID and not ID = @ID;
if @EXISTINGRECOGNITIONS + @QUANTITY > @MAXRECOGNITIONS
raiserror('ERR_TOOMANYRECOGNITIONS', 13, 1);
else
update dbo.NAMINGOPPORTUNITYRECOGNITION
set NAMINGOPPORTUNITYID = @NAMINGOPPORTUNITYID,
CONSTITUENTID = @CONSTITUENTID,
CONSTITUENTNAMEFORMATID = @CONSTITUENTNAMEFORMATID,
CUSTOMNAMEFORMAT = @CUSTOMNAMEFORMAT,
STARTDATE = @STARTDATE,
ENDDATE = @ENDDATE,
AMOUNT = @AMOUNT,
QUANTITY = @QUANTITY,
INSCRIPTION = @INSCRIPTION,
SPECIALREQUEST = @SPECIALREQUEST,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CHANGEDATE
where ID = @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;