V_QUERY_PLEDGEREMINDERPROCESS_SEASONALADDRESSOUTPUT

View used for seasonal address output for the pledge reminder process.

Fields

Field Field Type Null Description
REVENUEID uniqueidentifier System record id
CONSTITUENTNAME nvarchar(154) yes Constituent name
CONSTITUENTLOOKUPID nvarchar(100) yes Constituent lookup ID
PRIMARYADDRESSEE nvarchar(700) yes Primary addressee
PRIMARYSALUTATION nvarchar(700) yes Primary salutation
PRIMARYCONTACT nvarchar(154) yes Primary contact
ADDRESSBLOCK nvarchar(150) yes Address block
CITY nvarchar(50) yes City
STATE nvarchar(50) yes State
POSTCODE nvarchar(12) yes Post code
COUNTRY nvarchar(100) yes Country
EMAILADDRESS UDT_EMAILADDRESS yes Email address
TOTALPLEDGEAMOUNT money Pledge amount
GIVENANONYMOUSLY varchar(3) Anonymous
PLEDGEDATE datetime yes Pledge date
PLEDGEBALANCE money yes Pledge balance
AMOUNTPAID money Amount paid
APPEALNAME nvarchar(100) yes Appeal name
DESIGNATION1NAME nvarchar(512) yes Designation 1
DESIGNATION1PUBLICNAME nvarchar(512) yes Designation 1 public name
DESIGNATION1AMOUNT money yes Designation 1 amount
DESIGNATION2NAME nvarchar(512) yes Designation 2
DESIGNATION2PUBLICNAME nvarchar(512) yes Designation 2 public name
DESIGNATION2AMOUNT money yes Designation 2 amount
POSITION nvarchar(100) yes Position
REVENUELOOKUPID nvarchar(100) yes Revenue lookup ID
TRANSACTIONCURRENCYID uniqueidentifier Transaction currency ID
TRANSACTIONCURRENCY nvarchar(3) yes Transaction currency

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  9/30/2015 1:01:32 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.153.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_PLEDGEREMINDERPROCESS_SEASONALADDRESSOUTPUT AS



with [REV] as
(
  select 
    FINANCIALTRANSACTION.ID as REVENUEID,
    FINANCIALTRANSACTION.CONSTITUENTID,
    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,
    [REVENUE_EXT].[APPEALID]
  from dbo.FINANCIALTRANSACTION
  inner join dbo.REVENUE_EXT ON FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
  where FINANCIALTRANSACTION.TYPECODE in (1,15)
  and FINANCIALTRANSACTION.DELETEDON is null

  union all

  --Recurring gifts 

  select 
    FINANCIALTRANSACTION.ID as REVENUEID,
    FINANCIALTRANSACTION.CONSTITUENTID,
    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,
    [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
),
[PRIMARYCONTACT] as
(
  select
    RELATIONSHIP.RELATIONSHIPCONSTITUENTID,
    CONTACT.NAME,
    RELATIONSHIP.POSITION
  from dbo.RELATIONSHIP
  inner join dbo.CONSTITUENT as CONTACT on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONTACT.ID
  where RELATIONSHIP.ISPRIMARYCONTACT = 1
)
select 
  [REV].REVENUEID,
  CONSTITUENT.NAME as CONSTITUENTNAME,
  CONSTITUENT.LOOKUPID as CONSTITUENTLOOKUPID,
  (select FORMATTEDNAME from dbo.NAMEFORMAT where NAMEFORMAT.CONSTITUENTID = CONSTITUENT.ID and NAMEFORMAT.PRIMARYADDRESSEE = 1) as PRIMARYADDRESSEE,
  (select FORMATTEDNAME from dbo.NAMEFORMAT where NAMEFORMAT.CONSTITUENTID = CONSTITUENT.ID and NAMEFORMAT.PRIMARYSALUTATION = 1) as PRIMARYSALUTATION,
  [PRIMARYCONTACT].[NAME] as PRIMARYCONTACT,
  [ADDR].[ADDRESSBLOCK],
  [ADDR].[CITY],
  [ADDR].[STATE],
  [ADDR].[POSTCODE],
  [ADDR].[COUNTRY],
  EMAILADDRESS.EMAILADDRESS,
  [REV].TOTALPLEDGEAMOUNT,
  [REV].GIVENANONYMOUSLY,
  [REV].PLEDGEDATE,
  [REV].PLEDGEBALANCE,
  [REV].AMOUNTPAID,
  APPEAL.NAME as APPEALNAME,
  [DESIGNATION1].[DESIGNATIONNAME] as [DESIGNATION1NAME],
  [DESIGNATION1].[DESIGNATIONPUBLICNAME] as [DESIGNATION1PUBLICNAME],
  [DESIGNATION1].[TRANSACTIONAMOUNT] as [DESIGNATION1AMOUNT],
  [DESIGNATION2].[DESIGNATIONNAME] as [DESIGNATION2NAME],
  [DESIGNATION2].[DESIGNATIONPUBLICNAME] as [DESIGNATION2PUBLICNAME],
  [DESIGNATION2].[TRANSACTIONAMOUNT] as [DESIGNATION2AMOUNT],
  [PRIMARYCONTACT].POSITION,
  [REV].REVENUELOOKUPID,
  [REV].TRANSACTIONCURRENCYID,
  [CURRENCY].[ISO4217] as [TRANSACTIONCURRENCY]
from [REV]
left join dbo.CONSTITUENT on [REV].CONSTITUENTID = CONSTITUENT.ID
left join dbo.EMAILADDRESS on EMAILADDRESS.CONSTITUENTID = CONSTITUENT.ID and EMAILADDRESS.ISPRIMARY = 1
left join dbo.APPEAL on [REV].APPEALID = APPEAL.ID
left join dbo.[CURRENCY] on [CURRENCY].[ID] = [REV].[TRANSACTIONCURRENCYID]
left join [PRIMARYCONTACT] on [PRIMARYCONTACT].[RELATIONSHIPCONSTITUENTID] = [CONSTITUENT].[ID] and CONSTITUENT.ISORGANIZATION = 1
outer apply dbo.UFN_ADDRESS_GETSEASONALADDRESS(CONSTITUENT.ID, getdate()) as [ADDR]
outer apply dbo.[UFN_REVENUE_GETORDEREDDESIGNATIONS_BYROWNUMBER]([REV].[REVENUEID], 1) as [DESIGNATION1]
outer apply dbo.[UFN_REVENUE_GETORDEREDDESIGNATIONS_BYROWNUMBER]([REV].[REVENUEID], 2) as [DESIGNATION2]