USP_PLEDGE_RECOGNITIONCREDIT_DEFAULT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLEDGEID | uniqueidentifier | IN | |
@GIVENANONYMOUSLY | bit | IN | |
@INITIALGIVENANONYMOUSLY | bit | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN |
Definition
Copy
create procedure dbo.USP_PLEDGE_RECOGNITIONCREDIT_DEFAULT
(
@PLEDGEID uniqueidentifier,
@GIVENANONYMOUSLY bit,
@INITIALGIVENANONYMOUSLY bit,
@CHANGEAGENTID uniqueidentifier,
@CURRENTDATE datetime
)
as
begin
--Select the value for default anonymous recognition setting
declare @DEFAULTANONYMOUSRECOGNITION bit = 0;
select @DEFAULTANONYMOUSRECOGNITION = DEFAULTANONYMOUSRECOGNITION
from dbo.RECOGNITIONDEFAULT
--if GIVENANONYMOUSLY has toggled, fix recognitions
if (@INITIALGIVENANONYMOUSLY = 1 and @GIVENANONYMOUSLY = 0) or (@INITIALGIVENANONYMOUSLY = 0 and @GIVENANONYMOUSLY = 1 and @DEFAULTANONYMOUSRECOGNITION = 1)
begin
--Do not add any recognition credits if user added/deleted/modified when the transaction was anonymous
if not exists(
select
RR.ID
from
dbo.REVENUERECOGNITION RR
inner join dbo.FINANCIALTRANSACTIONLINEITEM RS on RR.REVENUESPLITID = RS.ID
inner join dbo.REVENUESPLIT_EXT on RS.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION R on R.ID = RS.FINANCIALTRANSACTIONID
inner join dbo.REVENUE_EXT on R.ID = REVENUE_EXT.ID
where R.ID = @PLEDGEID
and R.DELETEDON is null
and RS.DELETEDON is null
and RS.TYPECODE <> 1
)
--anonymous to named: add default recognition credits
exec dbo.USP_REVENUE_CREATERECOGNITIONS @PLEDGEID, @CHANGEAGENTID, @CURRENTDATE;
end
else
if @INITIALGIVENANONYMOUSLY = 0 and @GIVENANONYMOUSLY = 1 and @DEFAULTANONYMOUSRECOGNITION = 0
begin
--named to anonymous: remove all recognition credits
delete dbo.REVENUERECOGNITION
where ID in (
select RR.ID
from dbo.REVENUERECOGNITION RR
inner join dbo.FINANCIALTRANSACTIONLINEITEM RS on RR.REVENUESPLITID = RS.ID
inner join dbo.REVENUESPLIT_EXT on RS.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION R on R.ID = RS.FINANCIALTRANSACTIONID
inner join dbo.REVENUE_EXT on R.ID = REVENUE_EXT.ID
where R.ID = @PLEDGEID
and R.DELETEDON is null
and RS.DELETEDON is null
and RS.TYPECODE <> 1
);
end
end