V_QUERY_CONSTITUENTCORRESPONDENCEALL

Provides the ability to query all constituent correspondence.

Fields

Field Field Type Null Description
CONSTITUENTID uniqueidentifier yes Constituent ID
ID uniqueidentifier yes System record ID
DATESENT datetime yes Date sent
CORRESPONDENCETYPE varchar(28) Communication
PROCESSOR nvarchar(128) yes Processor
ADDEDBY_APPLICATION nvarchar(200) yes Added by application
ADDEDBY_USERNAME nvarchar(128) yes Added by user name
CHANGEDBY_APPLICATION nvarchar(200) yes Changed by application
CHANGEDBY_USERNAME nvarchar(128) yes Changed by user name
DATEADDED datetime yes Date added
DATECHANGED datetime yes Date changed
TSLONG bigint yes Timestamp value
CHANNEL varchar(5) yes Channel

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  3/19/2013 1:44:09 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=3.0.504.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_CONSTITUENTCORRESPONDENCEALL AS




          select
            BBNC.CONSTITUENTID as [CONSTITUENTID],
            BBNC.ID as [ID],
            BBNC.SENTDATE as [DATESENT],
            'Appeal mailing' as [CORRESPONDENCETYPE],
            CHANGEDBY.USERNAME as [PROCESSOR],
            ADDEDBY.APPLICATIONNAME as [ADDEDBY_APPLICATION],
            ADDEDBY.USERNAME as [ADDEDBY_USERNAME],
            CHANGEDBY.APPLICATIONNAME as [CHANGEDBY_APPLICATION],
            CHANGEDBY.USERNAME as [CHANGEDBY_USERNAME],
            BBNC.DATEADDED as [DATEADDED],
            BBNC.DATECHANGED as [DATECHANGED],
            BBNC.TSLONG as [TSLONG],
            'Email' as [CHANNEL]

          /*#EXTENSION*/

        from
          dbo.[NETCOMMUNITYEMAILJOBRECIPIENT] BBNC with (nolock)
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = BBNC.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = BBNC.CHANGEDBYID

        union all

        select
          C.CONSTITUENTID as [CONSTITUENTID],
          C.ID as [ID],
          C.DATESENT as [DATESENT],
          'General correspondence' as [CORRESPONDENCETYPE],
          CHANGEDBY.USERNAME as [PROCESSOR],
          ADDEDBY.APPLICATIONNAME as [ADDEDBY_APPLICATION],
          ADDEDBY.USERNAME as [ADDEDBY_USERNAME],
          CHANGEDBY.APPLICATIONNAME as [CHANGEDBY_APPLICATION],
          CHANGEDBY.USERNAME as [CHANGEDBY_USERNAME],
          C.DATEADDED as [DATEADDED],
          C.DATECHANGED as [DATECHANGED],
          C.TSLONG as [TSLONG],
          'Mail' as [CHANNEL]

          /*#EXTENSION*/

        from
          dbo.CONSTITUENTCORRESPONDENCE as [C] with (nolock)
          left join dbo.CORRESPONDENCECODE as [CC] with (nolock) on CC.ID = C.CORRESPONDENCECODEID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = C.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = C.CHANGEDBYID

        union all

        select
          R.CONSTITUENTID,
          AP.ID,
          RL.ACKNOWLEDGEDATE,
          'Acknowledgement',
          case when AU.USERNAME is not null then AU.USERNAME else CHANGEDBY.USERNAME end,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          RL.DATEADDED,
          RL.DATECHANGED,
          RL.TSLONG,
          case coalesce(MKTPACKAGE.CHANNELCODE, 0)
            when 0 then 'Mail'
            when 1 then 'Email'
          end as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.REVENUELETTER as [RL] with (nolock)                     
          left join dbo.ACKNOWLEDGEMENTPROCESSSTATUS as [APS] with (nolock) on RL.ACKNOWLEDGEMENTPROCESSSTATUSID = APS.ID
          left join dbo.ACKNOWLEDGEMENTPROCESS as [AP] with (nolock)on AP.ID = APS.PARAMETERSETID                    
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = RL.ACKNOWLEDGEMENTPROCESSSTATUSID
          left join dbo.REVENUE as [R] with (nolock) on R.ID = RL.REVENUEID
          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = RL.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = RL.CHANGEDBYID
          left join dbo.MKTPACKAGE on RL.MKTPACKAGEID = MKTPACKAGE.ID

        union all

        select
          R.CONSTITUENTID,
          RECEIPT.ID,
          RECEIPT.RECEIPTDATE,
          'Receipt',
          AU.USERNAME,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          R.DATEADDED,
          R.DATECHANGED,
          R.TSLONG,
          'Mail' as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.REVENUERECEIPT as [RECEIPT] with (nolock)
          left join dbo.REVENUE as [R] with (nolock) on R.ID = RECEIPT.REVENUEID
          left join dbo.RECEIPTINGPROCESSSTATUS as [RPS] with (nolock) on RPS.ID = RECEIPT.RECEIPTINGPROCESSSTATUSID
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = RECEIPT.RECEIPTINGPROCESSSTATUSID
          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = R.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = R.CHANGEDBYID

        union all

        select
          R.CONSTITUENTID,
          PRS.ID,
          PRS.SENTDATE,
          'Pledge reminder',
          case when AU.USERNAME is not null then AU.USERNAME else CHANGEDBY.USERNAME end,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          BPS.DATEADDED,
          BPS.DATECHANGED,
          BPS.TSLONG,
          case coalesce(MKTPACKAGE.CHANNELCODE, 0)
            when 0 then 'Mail'
            when 1 then 'Email'
          end as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.PLEDGEREMINDERSENT as [PRS] with (nolock)
          left join dbo.PLEDGEREMINDERPROCESSSTATUS as [PRPS] with (nolock) on PRPS.ID = PRS.PLEDGEREMINDERPROCESSSTATUSID
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = PRS.PLEDGEREMINDERPROCESSSTATUSID
          left join dbo.PLEDGEREMINDERPROCESS as [PRP] with (nolock) on PRP.ID = PRPS.PARAMETERSETID
          left join dbo.REVENUE as [R] with (nolock) on R.ID = PRS.REVENUEID
          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = BPS.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = BPS.CHANGEDBYID
          left join dbo.MKTPACKAGE on PRS.PACKAGEID = MKTPACKAGE.ID
        union all

        select
          PG.CONSTITUENTID,
          PGAP.ID,
          PGL.ACKNOWLEDGEDATE,
          'Planned gift acknowledgement',
          case when AU.USERNAME is not null then AU.USERNAME else CHANGEDBY.USERNAME end,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          PGL.DATEADDED,
          PGL.DATECHANGED,
          PGL.TSLONG,
          'Mail' as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.PLANNEDGIFTLETTER as [PGL] with (nolock)
          left join dbo.PLANNEDGIFTLETTERCODE as [PGLC] with (nolock) on PGLC.ID = PGL.PLANNEDGIFTLETTERCODEID
          left join dbo.PLANNEDGIFTACKNOWLEDGEMENTPROCESSSTATUS as [PGAPS] with (nolock) on PGAPS.ID = PGL.PLANNEDGIFTACKNOWLEDGEMENTPROCESSSTATUSID
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = PGL.PLANNEDGIFTACKNOWLEDGEMENTPROCESSSTATUSID
          left join dbo.PLANNEDGIFTACKNOWLEDGEMENTPROCESS as [PGAP] with (nolock) on PGAP.ID = PGAPS.PARAMETERSETID
          left join dbo.PLANNEDGIFT as [PG] with (nolock) on PG.ID = PGL.PLANNEDGIFTID
          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = PGL.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = PGL.CHANGEDBYID

        union all

        select
          IH.CONSTITUENTID,
          IVH.ID,
          isnull(IVH.MAILDATE, IVH.DATECHANGED),
          'Event invitation',
          case when AU.USERNAME is not null then AU.USERNAME else CHANGEDBY.USERNAME end,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          IH.DATEADDED,
          IH.DATECHANGED,
          IH.TSLONG,
          case coalesce(MKTPACKAGE.CHANNELCODE, 0)
            when 0 then 'Mail'
            when 1 then 'Email'
          end as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.INVITEEHISTORY as [IH] with (nolock)
          left join dbo.INVITEE as [IV] with (nolock) on IV.CONSTITUENTID = IH.CONSTITUENTID
          left join dbo.INVITATIONHISTORY as [IVH] with (nolock) on IVH.ID = IH.INVITATIONHISTORYID
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = IVH.BUSINESSPROCESSSTATUSID
          left join dbo.EVENT as [E] with (nolock) on E.ID = IH.EVENTID
          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = IH.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = IH.CHANGEDBYID
          left join dbo.MKTPACKAGE on IH.MKTPACKAGEID = MKTPACKAGE.ID

        union all

        select
          CA.CONSTITUENTID,
          CA.ID,
          CA.DATESENT,
          'Appeal mailing',
          CHANGEDBY.USERNAME,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          CA.DATEADDED,
          CA.DATECHANGED,
          CA.TSLONG,
          case coalesce(MKTPACKAGE.CHANNELCODE, 0)
            when 0 then 'Mail'
            when 1 then 'Email'
          end as [CHANNEL]

          /*#EXTENSION*/
        from 
          dbo.CONSTITUENTAPPEAL as [CA] with (nolock)
          left join dbo.APPEAL as [A] with (nolock) on A.ID = CA.APPEALID
          left join dbo.MKTSEGMENTATION as [MS] with (nolock) on MS.ID = CA.MKTSEGMENTATIONID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = CA.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = CA.CHANGEDBYID
          left join dbo.MKTPACKAGE on MKTPACKAGE.ID = CA.MKTPACKAGEID
          where [MS].MAILINGTYPECODE <> 2

        union all

        select
          CA.CONSTITUENTID,
          MS.ID,
          CA.DATESENT,
          'Membership renewal',
          CHANGEDBY.USERNAME,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          CA.DATEADDED,
          CA.DATECHANGED,
          CA.TSLONG,
          case coalesce(MKTPACKAGE.CHANNELCODE, 0)
            when 0 then 'Mail'
            when 1 then 'Email'
          end as [CHANNEL]

          /*#EXTENSION*/
        from 
          dbo.CONSTITUENTAPPEAL as [CA] with (nolock)
          left join dbo.APPEAL as [A] with (nolock) on A.ID = CA.APPEALID
          left join dbo.MKTSEGMENTATION as [MS] with (nolock) on MS.ID = CA.MKTSEGMENTATIONID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = CA.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = CA.CHANGEDBYID
          left join dbo.MKTPACKAGE on MKTPACKAGE.ID = CA.MKTPACKAGEID
          where [MS].MAILINGTYPECODE  = 2

        union all
        select
          RTL.CONSTITUENTID,
          TAP.ID,
          RTL.ACKNOWLEDGEDATE,
          'Tribute Acknowledgement',
          case when AU.USERNAME is not null then AU.USERNAME else CHANGEDBY.USERNAME end,
          ADDEDBY.APPLICATIONNAME,
          ADDEDBY.USERNAME,
          CHANGEDBY.APPLICATIONNAME,
          CHANGEDBY.USERNAME,
          RTL.DATEADDED,
          RTL.DATECHANGED,
          RTL.TSLONG,
          'Mail' as [CHANNEL]

          /*#EXTENSION*/
        from
          dbo.TRIBUTEACKNOWLEDGEMENTPROCESS as [TAP] with (nolock)
          left join dbo.TRIBUTEACKNOWLEDGEMENTPROCESSSTATUS as [TAPS] with (nolock) on TAPS.PARAMETERSETID = TAP.ID
          left join dbo.REVENUETRIBUTELETTER as [RTL] with (nolock) on RTL.TRIBUTEACKNOWLEDGEMENTPROCESSSTATUSID = TAPS.ID
          left join dbo.BUSINESSPROCESSSTATUS as [BPS] with (nolock) on BPS.ID = RTL.TRIBUTEACKNOWLEDGEMENTPROCESSSTATUSID
          --left join dbo.REVENUETRIBUTE as [RT] with (nolock) on RT.ID = RTL.REVENUETRIBUTEID

          left join dbo.APPUSER as [AU] with (nolock) on AU.ID = BPS.STARTEDBYUSERID
          left join dbo.CHANGEAGENT as [ADDEDBY] with (nolock) on ADDEDBY.ID = RTL.ADDEDBYID
          left join dbo.CHANGEAGENT as [CHANGEDBY] with (nolock) on CHANGEDBY.ID = RTL.CHANGEDBYID