UFN_QUERY_PLEDGEREMINDEROUTPUT
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@NAMEFORMATPARAMETERID | uniqueidentifier | IN | |
@ADDRESSPROCESSINGOPTIONID | uniqueidentifier | IN | |
@PARAMETERSETID | uniqueidentifier | IN | |
@SEASONALDATE | datetime | IN | |
@INDUSESEASONALADDRESS | bit | IN | |
@ORGMAILINGPREFERENCE | tinyint | IN | |
@INDALTADDRESS1TYPECODEID | uniqueidentifier | IN | |
@INDALTADDRESS1ISPRIMARY | bit | IN | |
@INDALTADDRESS2TYPECODEID | uniqueidentifier | IN | |
@INDALTADDRESS2ISPRIMARY | bit | IN | |
@ORGALTADDRESS1TYPECODEID | uniqueidentifier | IN | |
@ORGALTADDRESS1ISPRIMARY | bit | IN | |
@ORGALTADDRESS2TYPECODEID | uniqueidentifier | IN | |
@ORGALTADDRESS2ISPRIMARY | bit | IN | |
@INDINCLUDEWITHNOADDRESS | bit | IN | |
@ORGINCLUDEWITHNOADDRESS | bit | IN | |
@ORGINCLUDEWITHNOCONTACT | bit | IN | |
@ORGSENDTOALLCONTACTS | bit | IN | |
@INDUSECONSTITUENTPREFS | bit | IN | |
@ORGUSECONSTITUENTPREFS | bit | IN | |
@GROUPALTADDRESS1TYPECODEID | uniqueidentifier | IN | |
@GROUPALTADDRESS1ISPRIMARY | bit | IN | |
@GROUPALTADDRESS2TYPECODEID | uniqueidentifier | IN | |
@GROUPALTADDRESS2ISPRIMARY | bit | IN | |
@GROUPINCLUDEWITHNOADDRESS | bit | IN | |
@GROUPUSECONSTITUENTPREFS | bit | IN | |
@INDIVIDUALADDRESSEES | xml | IN | |
@ADDRESSEEFUNCTIONID | uniqueidentifier | IN | |
@INDIVIDUALSALUTATIONS | xml | IN | |
@SALUTATIONFUNCTIONID | uniqueidentifier | IN | |
@ORGADDRESSEES | xml | IN | |
@CONTACTADDRESSEEFUNCTIONID | uniqueidentifier | IN | |
@ORGSALUTATIONCODE | tinyint | IN | |
@ORGSALUTATIONS | xml | IN | |
@CONTACTSALUTATIONFUNCTIONID | uniqueidentifier | IN | |
@CONTACTSALUTATIONOPTIONCODE | tinyint | IN | |
@CUSTOMNAME | nvarchar(100) | IN | |
@GROUPADDRESSEES | xml | IN | |
@GROUPADDRESSEEFUNCTIONID | uniqueidentifier | IN | |
@GROUPSALUTATIONCODE | tinyint | IN | |
@GROUPSALUTATIONS | xml | IN | |
@GROUPSALUTATIONFUNCTIONID | uniqueidentifier | IN | |
@GROUPNOCONTACTOPTIONCODE | bit | IN | |
@GROUPNOCONTACTCUSTOMNAME | nvarchar(100) | IN | |
@JOINTRULETYPECODE | tinyint | IN | |
@JOINTSELECTIONID | uniqueidentifier | IN | |
@JOINTSELECTIONBOTHRULETYPECODE | tinyint | IN | |
@JOINTSELECTIONNEITHERRULETYPECODE | tinyint | IN |
Definition
Copy
CREATE function [dbo].[UFN_QUERY_PLEDGEREMINDEROUTPUT]
(
@NAMEFORMATPARAMETERID uniqueidentifier,
@ADDRESSPROCESSINGOPTIONID uniqueidentifier,
@PARAMETERSETID uniqueidentifier = null,
@SEASONALDATE datetime = null,
@INDUSESEASONALADDRESS bit,
@ORGMAILINGPREFERENCE tinyint,
@INDALTADDRESS1TYPECODEID uniqueidentifier,
@INDALTADDRESS1ISPRIMARY bit,
@INDALTADDRESS2TYPECODEID uniqueidentifier,
@INDALTADDRESS2ISPRIMARY bit,
@ORGALTADDRESS1TYPECODEID uniqueidentifier,
@ORGALTADDRESS1ISPRIMARY bit,
@ORGALTADDRESS2TYPECODEID uniqueidentifier,
@ORGALTADDRESS2ISPRIMARY bit,
@INDINCLUDEWITHNOADDRESS bit,
@ORGINCLUDEWITHNOADDRESS bit,
@ORGINCLUDEWITHNOCONTACT bit,
@ORGSENDTOALLCONTACTS bit,
@INDUSECONSTITUENTPREFS bit,
@ORGUSECONSTITUENTPREFS bit,
@GROUPALTADDRESS1TYPECODEID uniqueidentifier,
@GROUPALTADDRESS1ISPRIMARY bit,
@GROUPALTADDRESS2TYPECODEID uniqueidentifier,
@GROUPALTADDRESS2ISPRIMARY bit,
@GROUPINCLUDEWITHNOADDRESS bit,
@GROUPUSECONSTITUENTPREFS bit,
@INDIVIDUALADDRESSEES xml,
@ADDRESSEEFUNCTIONID uniqueidentifier,
@INDIVIDUALSALUTATIONS xml,
@SALUTATIONFUNCTIONID uniqueidentifier,
@ORGADDRESSEES xml,
@CONTACTADDRESSEEFUNCTIONID uniqueidentifier,
@ORGSALUTATIONCODE tinyint,
@ORGSALUTATIONS xml,
@CONTACTSALUTATIONFUNCTIONID uniqueidentifier,
@CONTACTSALUTATIONOPTIONCODE tinyint,
@CUSTOMNAME nvarchar(100),
@GROUPADDRESSEES xml,
@GROUPADDRESSEEFUNCTIONID uniqueidentifier,
@GROUPSALUTATIONCODE tinyint,
@GROUPSALUTATIONS xml,
@GROUPSALUTATIONFUNCTIONID uniqueidentifier,
@GROUPNOCONTACTOPTIONCODE bit,
@GROUPNOCONTACTCUSTOMNAME nvarchar(100),
@JOINTRULETYPECODE As tinyint,
@JOINTSELECTIONID As uniqueidentifier,
@JOINTSELECTIONBOTHRULETYPECODE As tinyint,
@JOINTSELECTIONNEITHERRULETYPECODE As tinyint
)
returns table
as
return
(
with [REV] as
(
select
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TRANSACTIONAMOUNT as TOTALPLEDGEAMOUNT,
case REVENUE_EXT.GIVENANONYMOUSLY when 1 then 'Yes' else 'No' end as GIVENANONYMOUSLY,
cast(FINANCIALTRANSACTION.DATE as datetime) as PLEDGEDATE,
null as PLEDGEBALANCE,
isnull((select sum(AMOUNT) from dbo.RECURRINGGIFTACTIVITY where SOURCEREVENUEID = FINANCIALTRANSACTION.ID and TYPECODE = 0), 0) as AMOUNTPAID,
FINANCIALTRANSACTION.CALCULATEDUSERDEFINEDID as REVENUELOOKUPID,
FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
FINANCIALTRANSACTION.CONSTITUENTID,
REVENUE_EXT.APPEALID
from dbo.FINANCIALTRANSACTION
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
where FINANCIALTRANSACTION.TYPECODE = 2
and FINANCIALTRANSACTION.DELETEDON is null
union all
select
FINANCIALTRANSACTION.ID as REVENUEID,
FINANCIALTRANSACTION.TRANSACTIONAMOUNT as TOTALPLEDGEAMOUNT,
case REVENUE_EXT.GIVENANONYMOUSLY when 1 then 'Yes' else 'No' end as GIVENANONYMOUSLY,
cast(FINANCIALTRANSACTION.DATE as datetime) as PLEDGEDATE,
--Inline the scalar function...
--dbo.UFN_PLEDGE_GETBALANCE(FINANCIALTRANSACTION.ID) as PLEDGEBALANCE,
case when FINANCIALTRANSACTION.TYPECODE = 7 then --Auction donations do not have installments
FINANCIALTRANSACTION.TRANSACTIONAMOUNT -
isnull((select sum(FTLI.TRANSACTIONAMOUNT)
from dbo.FINANCIALTRANSACTIONLINEITEM as FTLI
inner join dbo.FINANCIALTRANSACTION as FT on FT.ID = FTLI.FINANCIALTRANSACTIONID
where FT.PARENTID = FINANCIALTRANSACTION.ID
and FT.TYPECODE = 20 and FTLI.DELETEDON is null
), 0)
else
FINANCIALTRANSACTION.TRANSACTIONAMOUNT -
(isnull((select
sum(INSTALLMENTSPLITPAYMENT.AMOUNT)
from dbo.INSTALLMENTSPLITPAYMENT
where INSTALLMENTSPLITPAYMENT.PLEDGEID = FINANCIALTRANSACTION.ID), 0) +
isnull((select
sum(INSTALLMENTSPLITWRITEOFF.TRANSACTIONAMOUNT)
from dbo.INSTALLMENTSPLITWRITEOFF
inner join dbo.INSTALLMENTSPLIT on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
where INSTALLMENTSPLIT.PLEDGEID = FINANCIALTRANSACTION.ID), 0))
end as PLEDGEBALANCE,
--Inline the scalar function...
--dbo.UFN_PLEDGE_GETAMOUNTPAID(FINANCIALTRANSACTION.ID) as AMOUNTPAID,
isnull(
(select
sum (INSTALLMENTPAYMENT.AMOUNT)
from dbo.INSTALLMENTPAYMENT
inner join dbo.FINANCIALTRANSACTIONLINEITEM FTLI on FTLI.ID = INSTALLMENTPAYMENT.PAYMENTID
inner join dbo.REVENUESPLIT_EXT on FTLI.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION FT on FTLI.FINANCIALTRANSACTIONID = FT.ID
inner join dbo.REVENUE_EXT on FT.ID = REVENUE_EXT.ID
where
INSTALLMENTPAYMENT.PLEDGEID = FINANCIALTRANSACTION.ID
and FT.DELETEDON is null
and FTLI.DELETEDON is null
and FTLI.TYPECODE <> 1),
0) as AMOUNTPAID,
FINANCIALTRANSACTION.CALCULATEDUSERDEFINEDID as REVENUELOOKUPID,
FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
FINANCIALTRANSACTION.CONSTITUENTID,
REVENUE_EXT.APPEALID
from dbo.FINANCIALTRANSACTION
inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
where FINANCIALTRANSACTION.TYPECODE = 1
and FINANCIALTRANSACTION.DELETEDON is null
)
select
REV.REVENUEID,
CONSTITUENT.NAME as CONSTITUENTNAME,
CONSTITUENT.LOOKUPID as CONSTITUENTLOOKUPID,
A.ADDRESSEE,
A.SALUTATION,
A.CONTACT as CONTACTADDRESSEE,
A.POSITION,
A.ADDRESSBLOCK,
A.CITY,
A.STATE,
A.POSTCODE,
A.COUNTRY,
REV.TOTALPLEDGEAMOUNT,
REV.GIVENANONYMOUSLY,
REV.PLEDGEDATE,
REV.PLEDGEBALANCE,
REV.AMOUNTPAID,
APPEAL.NAME as APPEALNAME,
[DESIGNATION1].[DESIGNATIONNAME] as DESIGNATION1NAME,
[DESIGNATION1].[DESIGNATIONPUBLICNAME] as DESIGNATION1PUBLICNAME,
[DESIGNATION1].[AMOUNT] as DESIGNATION1AMOUNT,
[DESIGNATION2].[DESIGNATIONNAME] as DESIGNATION2NAME,
[DESIGNATION2].[DESIGNATIONPUBLICNAME] as DESIGNATION2PUBLICNAME,
[DESIGNATION2].[AMOUNT] as DESIGNATION2AMOUNT,
REV.REVENUELOOKUPID,
REV.TRANSACTIONCURRENCYID,
CURRENCY.ISO4217 as TRANSACTIONCURRENCY
from [REV]
inner join dbo.CONSTITUENT on REV.CONSTITUENTID = CONSTITUENT.ID
inner join dbo.UFN_CONTACTPREFERENCES_GETFORMATS_EXT(
@NAMEFORMATPARAMETERID,
@ADDRESSPROCESSINGOPTIONID,
4,
@PARAMETERSETID,
@SEASONALDATE,
0,
@INDUSESEASONALADDRESS ,
@ORGMAILINGPREFERENCE ,
@INDALTADDRESS1TYPECODEID,
@INDALTADDRESS1ISPRIMARY ,
@INDALTADDRESS2TYPECODEID,
@INDALTADDRESS2ISPRIMARY ,
@ORGALTADDRESS1TYPECODEID,
@ORGALTADDRESS1ISPRIMARY ,
@ORGALTADDRESS2TYPECODEID,
@ORGALTADDRESS2ISPRIMARY ,
@INDINCLUDEWITHNOADDRESS ,
@ORGINCLUDEWITHNOADDRESS ,
@ORGINCLUDEWITHNOCONTACT ,
@ORGSENDTOALLCONTACTS ,
@INDUSECONSTITUENTPREFS ,
@ORGUSECONSTITUENTPREFS ,
@GROUPALTADDRESS1TYPECODEID,
@GROUPALTADDRESS1ISPRIMARY ,
@GROUPALTADDRESS2TYPECODEID,
@GROUPALTADDRESS2ISPRIMARY ,
@GROUPINCLUDEWITHNOADDRESS ,
@GROUPUSECONSTITUENTPREFS ,
@INDIVIDUALADDRESSEES ,
@ADDRESSEEFUNCTIONID,
@INDIVIDUALSALUTATIONS ,
@SALUTATIONFUNCTIONID,
@ORGADDRESSEES ,
@CONTACTADDRESSEEFUNCTIONID,
@ORGSALUTATIONCODE,
@ORGSALUTATIONS ,
@CONTACTSALUTATIONFUNCTIONID,
@CONTACTSALUTATIONOPTIONCODE ,
@CUSTOMNAME ,
@GROUPADDRESSEES ,
@GROUPADDRESSEEFUNCTIONID,
@GROUPSALUTATIONCODE,
@GROUPSALUTATIONS ,
@GROUPSALUTATIONFUNCTIONID,
@GROUPNOCONTACTOPTIONCODE ,
@GROUPNOCONTACTCUSTOMNAME,
@JOINTRULETYPECODE,
@JOINTSELECTIONID,
@JOINTSELECTIONBOTHRULETYPECODE,
@JOINTSELECTIONNEITHERRULETYPECODE,
0) A on CONSTITUENT.ID = A.CONSTITUENTID
left join dbo.APPEAL on REV.APPEALID = APPEAL.ID
left join dbo.CURRENCY on CURRENCY.ID = REV.TRANSACTIONCURRENCYID
outer apply dbo.[UFN_REVENUE_GETORDEREDDESIGNATIONS_BYROWNUMBER](REV.REVENUEID, 1) as [DESIGNATION1]
outer apply dbo.[UFN_REVENUE_GETORDEREDDESIGNATIONS_BYROWNUMBER](REV.REVENUEID, 2) as [DESIGNATION2]
)