USP_DATAFORMTEMPLATE_EDIT_PURPOSESTEWARDSHIP
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@STEWARDSHIPPACKAGEPROCESSID | uniqueidentifier | IN | |
@TIMEPERIODCODE | tinyint | IN | |
@ISENDOWED | bit | IN | |
@ISFULLYFUNDED | bit | IN | |
@ISINCOMETOPRINCIPAL | bit | IN | |
@INCOMETOPRINCIPALPERCENT | decimal(5, 2) | IN | |
@STATEMENTWORDING | nvarchar(1024) | IN | |
@ENDOWMENTMINAMOUNT | money | IN | |
@ENDOWMENTTARGETDATE | date | IN | |
@ENDOWMENTMINAMOUNTDATEMET | date | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_PURPOSESTEWARDSHIP (
@ID uniqueidentifier
,@CURRENTAPPUSERID uniqueidentifier
,@CHANGEAGENTID uniqueidentifier = null
,@STEWARDSHIPPACKAGEPROCESSID uniqueidentifier
,@TIMEPERIODCODE tinyint
,@ISENDOWED bit
,@ISFULLYFUNDED bit
,@ISINCOMETOPRINCIPAL bit
,@INCOMETOPRINCIPALPERCENT decimal(5, 2)
,@STATEMENTWORDING nvarchar(1024)
,@ENDOWMENTMINAMOUNT money
,@ENDOWMENTTARGETDATE date
,@ENDOWMENTMINAMOUNTDATEMET date
)
as
begin
set nocount on;
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
if @STEWARDSHIPPACKAGEPROCESSID is not null
and (
@TIMEPERIODCODE is null
or @TIMEPERIODCODE = 0
)
raiserror (
'Frequency is required.'
,13
,1
)
if COALESCE(@ISINCOMETOPRINCIPAL, 0) = 0
set @INCOMETOPRINCIPALPERCENT = 0.00;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONENDOWMENTMINAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select @BASECURRENCYID = DESIGNATIONLEVEL.BASECURRENCYID
,@DATEADDED = DESIGNATIONLEVEL.DATEADDED
,@CURRENCYEXCHANGERATEID = DESIGNATIONLEVEL.ORGANIZATIONEXCHANGERATEID
from dbo.DESIGNATIONLEVEL
where DESIGNATIONLEVEL.ID = @ID;
if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
begin
set @ORGANIZATIONENDOWMENTMINAMOUNT = @ENDOWMENTMINAMOUNT;
end
else
begin
if @CURRENCYEXCHANGERATEID is null
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
set @ORGANIZATIONENDOWMENTMINAMOUNT = dbo.UFN_CURRENCY_CONVERT(@ENDOWMENTMINAMOUNT, @CURRENCYEXCHANGERATEID);
end
begin try
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
update dbo.DESIGNATIONLEVEL
set STEWARDSHIPPACKAGEPROCESSID = @STEWARDSHIPPACKAGEPROCESSID
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @CURRENTDATE
,TIMEPERIODCODE = coalesce(@TIMEPERIODCODE, 0)
,ISENDOWED = @ISENDOWED
,ISFULLYFUNDED = @ISFULLYFUNDED
,ISINCOMETOPRINCIPAL = @ISINCOMETOPRINCIPAL
,INCOMETOPRINCIPALPERCENT = @INCOMETOPRINCIPALPERCENT
,STATEMENTWORDING = @STATEMENTWORDING
,ENDOWMENTMINAMOUNT = @ENDOWMENTMINAMOUNT
,ORGANIZATIONENDOWMENTMINAMOUNT = @ORGANIZATIONENDOWMENTMINAMOUNT
,ENDOWMENTTARGETDATE = @ENDOWMENTTARGETDATE
,ENDOWMENTMINAMOUNTDATEMET = @ENDOWMENTMINAMOUNTDATEMET
,ORGANIZATIONEXCHANGERATEID = @CURRENCYEXCHANGERATEID
where ID = @ID;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0
end