USP_DATAFORMTEMPLATE_PRELOAD_ADD_REVENUETRIBUTE
The load procedure used by the edit dataform template "Revenue Tribute Add Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@AMOUNT | money | INOUT | Amount |
@SPLITS | xml | INOUT | Designations |
@ISREVENUEPOSTED | bit | INOUT | ISREVENUEPOSTED |
@REVENUEDESIGNATIONID | uniqueidentifier | INOUT | REVENUEDESIGNATIONID |
@ALLOWDEFAULT | bit | INOUT | ALLOWDEFAULT |
@BASECURRENCYID | uniqueidentifier | INOUT | Currency |
@ISFRIENDSASKINGFRIENDS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_PRELOAD_ADD_REVENUETRIBUTE
(
@REVENUEID uniqueidentifier,
@AMOUNT money = null output,
@SPLITS xml = null output,
@ISREVENUEPOSTED bit = null output,
@REVENUEDESIGNATIONID uniqueidentifier = null output,
@ALLOWDEFAULT bit = null output,
@BASECURRENCYID uniqueidentifier = null output,
@ISFRIENDSASKINGFRIENDS bit = null output
)
as
set nocount on;
declare @SUMOTHERTRIBUTEAMOUNT money;
declare @TRANSACTIONTYPECODE int;
select @SUMOTHERTRIBUTEAMOUNT = coalesce(sum(AMOUNT),0) from dbo.REVENUETRIBUTE where REVENUEID = @REVENUEID;
set @ALLOWDEFAULT = 0;
select
@AMOUNT = (R.AMOUNT - @SUMOTHERTRIBUTEAMOUNT),
@TRANSACTIONTYPECODE = R.TRANSACTIONTYPECODE,
@BASECURRENCYID = R.BASECURRENCYID,
@ISFRIENDSASKINGFRIENDS = dbo.UFN_IS_FRIENDS_ASKING_FRIENDS_EVENT(EVENT.ID)
from
dbo.REVENUE R
left join dbo.EVENT on R.APPEALID = EVENT.APPEALID
where
R.ID = @REVENUEID;
set @SPLITS = dbo.UFN_REVENUE_GETSPLITS_2_TOITEMLISTXML(@REVENUEID);
if exists (select ID from dbo.REVENUEPOSTED where ID = @REVENUEID)
set @ISREVENUEPOSTED = 1;
else
set @ISREVENUEPOSTED = 0;
if @TRANSACTIONTYPECODE <> 0
if not exists(select top 1 INSTALLMENTSPLITPAYMENT.ID
from INSTALLMENTSPLITPAYMENT
where PLEDGEID = @REVENUEID
union all
select top 1 INSTALLMENTSPLITWRITEOFF.ID
from INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT
on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where PLEDGEID = @REVENUEID)
set @ALLOWDEFAULT = 1;
if (select count(ID) from dbo.REVENUESPLIT where REVENUEID = @REVENUEID) = 1
select @REVENUEDESIGNATIONID = DESIGNATIONID from dbo.REVENUESPLIT where REVENUEID = @REVENUEID;
return 0;