UFN_REVENUEINFORMATION
Returns revenue information given an ID and a source code, this is used in the GL mapping functions.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN | |
@INFORMATIONSOURCECODE | tinyint | IN | |
@CURRENTAPPUSERID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_REVENUEINFORMATION
(
@REVENUEID uniqueidentifier,
@INFORMATIONSOURCECODE tinyint, -- 0 is the revenue table, 1 is the batch revenue table
@CURRENTAPPUSERID uniqueidentifier = null
)
returns @RETVAL table
(
ID uniqueidentifier,
CONSTITUENTID uniqueidentifier,
DATE datetime,
POSTDATE datetime,
DONOTPOST bit,
DONOTRECEIPT bit,
RECEIPTAMOUNT money,
AMOUNT money,
SOURCECODE nvarchar(50),
FINDERNUMBER bigint,
APPEALID uniqueidentifier,
MAILINGID uniqueidentifier,
CHANNELCODEID uniqueidentifier,
BENEFITID uniqueidentifier,
SENDBENEFIT bit,
GIVENANONYMOUSLY bit,
DONOTACKNOWLEDGE bit,
BENEFITSWAIVED bit,
RECEIPTTYPECODE tinyint,
TRANSACTIONTYPECODE tinyint,
ELIGIBLEFORMATCHINGGIFTCLAIM bit,
CUSTOMIDENTIFIER nvarchar(100),
ISREIMBURSABLE bit,
BASECURRENCYID uniqueidentifier,
ORGANIZATIONAMOUNT money,
TRANSACTIONAMOUNT money,
TRANSACTIONCURRENCYID uniqueidentifier,
ORGANIZATIONEXCHANGERATEID uniqueidentifier,
BASEEXCHANGERATEID uniqueidentifier,
PAYMENTMETHODCODE tinyint,
CREDITTYPECODEID uniqueidentifier,
OTHERPAYMENTMETHODCODEID uniqueidentifier,
PROPERTYSUBTYPECODEID uniqueidentifier,
GIFTINKINDSUBTYPECODEID uniqueidentifier,
PLEDGESUBTYPEID uniqueidentifier,
PDACCOUNTSYSTEMID uniqueidentifier
)
as
begin
if @INFORMATIONSOURCECODE = 0 -- Revenue table
begin
declare @BASECURRENCYID uniqueidentifier;
declare @REVENUEPAYMENTMETHODID uniqueidentifier;
declare @PAYMENTMETHODCODE tinyint;
select @BASECURRENCYID = V_BASECURRENCYFORFINANCIALTRANSACTION_I.BASECURRENCYID
from dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I
where V_BASECURRENCYFORFINANCIALTRANSACTION_I.FINANCIALTRANSACTIONID = @REVENUEID;
select @PAYMENTMETHODCODE = REVENUEPAYMENTMETHOD.PAYMENTMETHODCODE
,@REVENUEPAYMENTMETHODID = REVENUEPAYMENTMETHOD.ID
from dbo.REVENUEPAYMENTMETHOD
where REVENUEPAYMENTMETHOD.REVENUEID = @REVENUEID;
insert into @RETVAL
(
ID,
CONSTITUENTID,
DATE,
POSTDATE,
DONOTPOST,
DONOTRECEIPT,
RECEIPTAMOUNT,
AMOUNT,
SOURCECODE,
FINDERNUMBER,
APPEALID,
MAILINGID,
CHANNELCODEID,
BENEFITID,
SENDBENEFIT,
GIVENANONYMOUSLY,
DONOTACKNOWLEDGE,
BENEFITSWAIVED,
RECEIPTTYPECODE,
TRANSACTIONTYPECODE,
ELIGIBLEFORMATCHINGGIFTCLAIM,
CUSTOMIDENTIFIER,
ISREIMBURSABLE,
BASECURRENCYID,
ORGANIZATIONAMOUNT,
TRANSACTIONAMOUNT,
TRANSACTIONCURRENCYID,
ORGANIZATIONEXCHANGERATEID,
BASEEXCHANGERATEID,
PAYMENTMETHODCODE,
CREDITTYPECODEID,
OTHERPAYMENTMETHODCODEID,
PROPERTYSUBTYPECODEID,
GIFTINKINDSUBTYPECODEID,
PLEDGESUBTYPEID,
PDACCOUNTSYSTEMID
)
select
REVENUE.ID,
REVENUE.CONSTITUENTID,
REVENUE.DATE,
REVENUE.POSTDATE,
cast(case REVENUE.POSTSTATUSCODE when 3 then 1 else 0 end as bit) DONOTPOST,
REVENUE_EXT.DONOTRECEIPT,
REVENUE_EXT.RECEIPTAMOUNT,
REVENUE.BASEAMOUNT AMOUNT,
REVENUE_EXT.SOURCECODE,
REVENUE_EXT.FINDERNUMBER,
REVENUE_EXT.APPEALID,
REVENUE_EXT.MAILINGID,
REVENUE_EXT.CHANNELCODEID,
REVENUEBENEFIT.BENEFITID,
REVENUEBENEFIT.SENDBENEFIT,
REVENUE_EXT.GIVENANONYMOUSLY,
REVENUE_EXT.DONOTACKNOWLEDGE,
REVENUE_EXT.BENEFITSWAIVED,
REVENUE_EXT.RECEIPTTYPECODE,
REVENUE.TYPECODE TRANSACTIONTYPECODE,
REVENUE_EXT.ELIGIBLEFORMATCHINGGIFTCLAIM,
REVENUE.USERDEFINEDID CUSTOMIDENTIFIER,
REVENUE_EXT.ISREIMBURSABLE,
@BASECURRENCYID,
REVENUE.ORGAMOUNT ORGANIZATIONAMOUNT,
REVENUE.TRANSACTIONAMOUNT,
REVENUE.TRANSACTIONCURRENCYID,
REVENUE.ORGEXCHANGERATEID ORGANIZATIONEXCHANGERATEID,
REVENUE.BASEEXCHANGERATEID,
@PAYMENTMETHODCODE PAYMENTMETHODCODE,
(select CREDITCARDPAYMENTMETHODDETAIL.CREDITTYPECODEID from dbo.CREDITCARDPAYMENTMETHODDETAIL where CREDITCARDPAYMENTMETHODDETAIL.ID = @REVENUEPAYMENTMETHODID) CREDITTYPECODEID,
(select OTHERPAYMENTMETHODDETAIL.OTHERPAYMENTMETHODCODEID from dbo.OTHERPAYMENTMETHODDETAIL where OTHERPAYMENTMETHODDETAIL.ID = @REVENUEPAYMENTMETHODID) OTHERPAYMENTMETHODCODEID,
(select PROPERTYDETAIL_EXT.PROPERTYSUBTYPECODEID from dbo.FINANCIALTRANSACTION inner join dbo.PROPERTYDETAIL_EXT on FINANCIALTRANSACTION.ID = PROPERTYDETAIL_EXT.ID where FINANCIALTRANSACTION.TYPECODE = 22 and FINANCIALTRANSACTION.DELETEDON is null and FINANCIALTRANSACTION.ID = @REVENUEPAYMENTMETHODID) PROPERTYSUBTYPECODEID,
(select GIFTINKINDPAYMENTMETHODDETAIL.GIFTINKINDSUBTYPECODEID from dbo.GIFTINKINDPAYMENTMETHODDETAIL where GIFTINKINDPAYMENTMETHODDETAIL.ID = @REVENUEPAYMENTMETHODID) GIFTINKINDSUBTYPECODEID,
(select REVENUESCHEDULE.PLEDGESUBTYPEID from dbo.REVENUESCHEDULE where REVENUESCHEDULE.ID = @REVENUEID) PLEDGESUBTYPEID,
REVENUE.PDACCOUNTSYSTEMID
from dbo.FINANCIALTRANSACTION REVENUE
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
left outer join (select RBX.BENEFITID, RBX.SENDBENEFIT, LI.FINANCIALTRANSACTIONID as REVENUEID
from dbo.FINANCIALTRANSACTIONLINEITEM LI
inner join dbo.REVENUEBENEFIT_EXT RBX on LI.ID = RBX.ID
where LI.DELETEDON is null and LI.FINANCIALTRANSACTIONID = @REVENUEID) REVENUEBENEFIT on REVENUE.ID = REVENUEBENEFIT.REVENUEID
where REVENUE.ID = @REVENUEID and REVENUE.DELETEDON is null;
end
else if @INFORMATIONSOURCECODE = 1 -- Batch revenue table
insert into @RETVAL
(
ID,
CONSTITUENTID,
DATE,
POSTDATE,
DONOTPOST,
DONOTRECEIPT,
RECEIPTAMOUNT,
AMOUNT,
SOURCECODE,
FINDERNUMBER,
APPEALID,
MAILINGID,
CHANNELCODEID,
BENEFITID,
SENDBENEFIT,
GIVENANONYMOUSLY,
DONOTACKNOWLEDGE,
BENEFITSWAIVED,
RECEIPTTYPECODE,
TRANSACTIONTYPECODE,
ELIGIBLEFORMATCHINGGIFTCLAIM,
CUSTOMIDENTIFIER,
ISREIMBURSABLE,
BASECURRENCYID,
ORGANIZATIONAMOUNT,
TRANSACTIONAMOUNT,
TRANSACTIONCURRENCYID,
ORGANIZATIONEXCHANGERATEID,
BASEEXCHANGERATEID,
PAYMENTMETHODCODE,
CREDITTYPECODEID,
OTHERPAYMENTMETHODCODEID,
PROPERTYSUBTYPECODEID,
GIFTINKINDSUBTYPECODEID,
PLEDGESUBTYPEID,
PDACCOUNTSYSTEMID
)
select
BATCHREVENUE.ID,
BATCHREVENUE.CONSTITUENTID,
BATCHREVENUE.DATE,
BATCHREVENUE.POSTDATE,
null,
BATCHREVENUE.DONOTRECEIPT,
BATCHREVENUE.RECEIPTAMOUNT,
BATCHREVENUE.AMOUNT,
BATCHREVENUE.SOURCECODE,
BATCHREVENUE.FINDERNUMBER,
isnull(BATCHREVENUE.APPEALID, (select top 1 R.APPEALID from dbo.UFN_REVENUEBATCH_GETSINGLEAPPLICATIONINFO(@REVENUEID)T inner join dbo.REVENUE R on R.ID = T.SINGLEAPPLICATIONID)),
BATCHREVENUE.MAILINGID,
BATCHREVENUE.CHANNELCODEID,
BATCHREVENUEBENEFIT.BENEFITID,
1,
BATCHREVENUE.GIVENANONYMOUSLY,
BATCHREVENUE.DONOTACKNOWLEDGE,
BATCHREVENUE.BENEFITSWAIVED,
BATCHREVENUE.RECEIPTTYPECODE,
BATCHREVENUE.TYPECODE,
null,
BATCHREVENUE.REVENUELOOKUPID,
null,
BATCHREVENUE.BASECURRENCYID,
null,
null,
BATCHREVENUE.TRANSACTIONCURRENCYID,
null,
BATCHREVENUE.BASEEXCHANGERATEID,
case BATCHREVENUE.TYPECODE
when 1 then
9
else
BATCHREVENUE.PAYMENTMETHODCODE
end,
CREDITCARD.CREDITTYPECODEID,
BATCHREVENUE.OTHERPAYMENTMETHODCODEID,
BATCHREVENUE.PROPERTYSUBTYPECODEID,
BATCHREVENUE.GIFTINKINDSUBTYPECODEID,
BATCHREVENUE.PLEDGESUBTYPEID,
case when (dbo.UFN_VALID_BASICGL_INSTALLED() = 1) and (BATCHREVENUE.PDACCOUNTSYSTEMID is null) then
dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER(@CURRENTAPPUSERID)
else
BATCHREVENUE.PDACCOUNTSYSTEMID
end
from dbo.BATCHREVENUE
left outer join dbo.CREDITCARD
on CREDITCARD.ID = BATCHREVENUE.CREDITCARDID
left outer join dbo.BATCHREVENUEBENEFIT
on BATCHREVENUEBENEFIT.BATCHREVENUEID = BATCHREVENUE.ID
where (BATCHREVENUE.ID = @REVENUEID);
return;
end