UFN_WPNONPROFITAFFILIATION_DATAREFRESHCHANGEHISTORY

Returns a table containing change history from Data Refresh for Nonprofit Affiliations.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@WEALTHID uniqueidentifier IN
@STARTDATE datetime IN
@ENDDATE datetime IN

Definition

Copy


            CREATE function [dbo].[UFN_WPNONPROFITAFFILIATION_DATAREFRESHCHANGEHISTORY](
                @WEALTHID uniqueidentifier = null,
                @STARTDATE datetime = null,
                @ENDDATE datetime = null
            )
            returns table
            as
            return
            (
                with WPNONPROFITAFFILIATION_CTE as
                (
                    select
                        WPNONPROFITAFFILIATION.ID,
                        WPNONPROFITAFFILIATION.WEALTHID
                    from
                        WPNONPROFITAFFILIATION
                    where
                        (WPNONPROFITAFFILIATION.WEALTHID = @WEALTHID or @WEALTHID is null)

                ), OLDVERSIONS(
                    REVISIONNUMBER,
                    WEALTHID,
                    PARTIALHASH,
                    SOURCE,
                    DATEADDED,
                    KEYNAME,
                    --Insert Data Columns Here

                    TITLE,
                    SALARY,
                    DN_ORGANIZATION,
                    LINE1,
                    CITY,
                    STATE,
                    ZIP,
                    REVENUE,
                    PHONE,
                    FORMYEAR,
                    FILEDDATE,
                    DESCRIPTION,
                    TOTALASSETS,
                    WEBSITE,
                    ORGFORMYEAR,
                    RULINGYEAR,
                    LOCATION,
                    HCITY,
                    HSTATE,
                    HZIP
                )as(
                    select
                        Row_Number() over (partition by WPNONPROFITAFFILIATION.ID order by WPNONPROFITAFFILIATIONHISTORY.DATEADDED) as REVISIONNUMBER,
                        WPNONPROFITAFFILIATION.WEALTHID,
                        WPNONPROFITAFFILIATIONHISTORY.PARTIALHASH,
                        WPNONPROFITAFFILIATIONHISTORY.SOURCE,
                        WPNONPROFITAFFILIATIONHISTORY.DATEADDED,
                        --Set Key Name Field Here

                        WPNONPROFITAFFILIATIONHISTORY.DN_ORGANIZATION as KEYNAME,
                        --Insert Data Columns Here

                        cast(WPNONPROFITAFFILIATIONHISTORY.TITLE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.SALARY as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.DN_ORGANIZATION as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.LINE1 as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.CITY as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.STATE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.ZIP as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.REVENUE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.PHONE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.FORMYEAR as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.FILEDDATE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.DESCRIPTION as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.TOTALASSETS as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.WEBSITE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.ORGFORMYEAR as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.RULINGYEAR as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.LOCATION as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.HCITY as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.HSTATE as nvarchar(4000)),
                        cast(WPNONPROFITAFFILIATIONHISTORY.HZIP as nvarchar(4000))
                    from 
                        dbo.WPNONPROFITAFFILIATIONHISTORY
                    inner join WPNONPROFITAFFILIATION_CTE as WPNONPROFITAFFILIATION on 
                        WPNONPROFITAFFILIATION.ID = WPNONPROFITAFFILIATIONHISTORY.WPNONPROFITAFFILIATIONID
                ), 
                NEWVERSIONS(
                    REVISIONNUMBER,
                    WEALTHID,
                    PARTIALHASH,
                    SOURCE,
                    DATE,
                    KEYNAME,
                    --Insert Data Columns Here

                    TITLE,
                    SALARY,
                    DN_ORGANIZATION,
                    LINE1,
                    CITY,
                    STATE,
                    ZIP,
                    REVENUE,
                    PHONE,
                    FORMYEAR,
                    FILEDDATE,
                    DESCRIPTION,
                    TOTALASSETS,
                    WEBSITE,
                    ORGFORMYEAR,
                    RULINGYEAR,
                    LOCATION,
                    HCITY,
                    HSTATE,
                    HZIP
                )as(
                    select
                        (OLDVERSIONS.REVISIONNUMBER - 1) as REVISIONNUMBER,
                        OLDVERSIONS.WEALTHID,
                        OLDVERSIONS.PARTIALHASH,
                        OLDVERSIONS.SOURCE,
                        OLDVERSIONS.DATEADDED as DATE,
                        --Set Key Name Field Here

                        OLDVERSIONS.KEYNAME,
                        --Insert Data Columns Here

                        OLDVERSIONS.TITLE,
                        OLDVERSIONS.SALARY,
                        OLDVERSIONS.DN_ORGANIZATION,
                        OLDVERSIONS.LINE1,
                        OLDVERSIONS.CITY,
                        OLDVERSIONS.STATE,
                        OLDVERSIONS.ZIP,
                        OLDVERSIONS.REVENUE,
                        OLDVERSIONS.PHONE,
                        OLDVERSIONS.FORMYEAR,
                        OLDVERSIONS.FILEDDATE,
                        OLDVERSIONS.DESCRIPTION,
                        OLDVERSIONS.TOTALASSETS,
                        OLDVERSIONS.WEBSITE,
                        OLDVERSIONS.ORGFORMYEAR,
                        OLDVERSIONS.RULINGYEAR,
                        OLDVERSIONS.LOCATION,
                        OLDVERSIONS.HCITY,
                        OLDVERSIONS.HSTATE,
                        OLDVERSIONS.HZIP
                    from 
                        OLDVERSIONS
                    where
                        (@STARTDATE is null or OLDVERSIONS.DATEADDED >= @STARTDATE) and
                        (@ENDDATE is null or OLDVERSIONS.DATEADDED <= @ENDDATE)
                ),
                REVISIONS(
                    WEALTHID,
                    PARTIALHASH,
                    SOURCE,
                    DATE,
                    KEYNAME,
                    --Insert Data Columns Here (Including "_NEW" Columns)

                    TITLE,
                    SALARY,
                    DN_ORGANIZATION,
                    LINE1,
                    CITY,
                    STATE,
                    ZIP,
                    REVENUE,
                    PHONE,
                    FORMYEAR,
                    FILEDDATE,
                    DESCRIPTION,
                    TOTALASSETS,
                    WEBSITE,
                    ORGFORMYEAR,
                    RULINGYEAR,
                    LOCATION,
                    HCITY,
                    HSTATE,
                    HZIP,
                    TITLE_NEW,
                    SALARY_NEW,
                    DN_ORGANIZATION_NEW,
                    LINE1_NEW,
                    CITY_NEW,
                    STATE_NEW,
                    ZIP_NEW,
                    REVENUE_NEW,
                    PHONE_NEW,
                    FORMYEAR_NEW,
                    FILEDDATE_NEW,
                    DESCRIPTION_NEW,
                    TOTALASSETS_NEW,
                    WEBSITE_NEW,
                    ORGFORMYEAR_NEW,
                    RULINGYEAR_NEW,
                    LOCATION_NEW,
                    HCITY_NEW,
                    HSTATE_NEW,
                    HZIP_NEW
                )as(
                    select
                        OLDVERSIONS.WEALTHID,
                        OLDVERSIONS.PARTIALHASH,
                        NEWVERSIONS.SOURCE,
                        NEWVERSIONS.DATE,
                        NEWVERSIONS.KEYNAME,
                        --Insert Data Columns Here (Including "_NEW" Columns)

                        OLDVERSIONS.TITLE as TITLE,
                        OLDVERSIONS.SALARY as SALARY,
                        OLDVERSIONS.DN_ORGANIZATION as DN_ORGANIZATION,
                        OLDVERSIONS.LINE1 as LINE1,
                        OLDVERSIONS.CITY as CITY,
                        OLDVERSIONS.STATE as STATE,
                        OLDVERSIONS.ZIP as ZIP,
                        OLDVERSIONS.REVENUE as REVENUE,
                        OLDVERSIONS.PHONE as PHONE,
                        OLDVERSIONS.FORMYEAR as FORMYEAR,
                        OLDVERSIONS.FILEDDATE as FILEDDATE,
                        OLDVERSIONS.DESCRIPTION as DESCRIPTION,
                        OLDVERSIONS.TOTALASSETS as TOTALASSETS,
                        OLDVERSIONS.WEBSITE as WEBSITE,
                        OLDVERSIONS.ORGFORMYEAR as ORGFORMYEAR,
                        OLDVERSIONS.RULINGYEAR as RULINGYEAR,
                        OLDVERSIONS.LOCATION as LOCATION,
                        OLDVERSIONS.HCITY as HCITY,
                        OLDVERSIONS.HSTATE as HSTATE,
                        OLDVERSIONS.HZIP as HZIP,
                        NEWVERSIONS.TITLE as TITLE_NEW,
                        NEWVERSIONS.SALARY as SALARY_NEW,
                        NEWVERSIONS.DN_ORGANIZATION as DN_ORGANIZATION_NEW,
                        NEWVERSIONS.LINE1 as LINE1_NEW,
                        NEWVERSIONS.CITY as CITY_NEW,
                        NEWVERSIONS.STATE as STATE_NEW,
                        NEWVERSIONS.ZIP as ZIP_NEW,
                        NEWVERSIONS.REVENUE as REVENUE_NEW,
                        NEWVERSIONS.PHONE as PHONE_NEW,
                        NEWVERSIONS.FORMYEAR as FORMYEAR_NEW,
                        NEWVERSIONS.FILEDDATE as FILEDDATE_NEW,
                        NEWVERSIONS.DESCRIPTION as DESCRIPTION_NEW,
                        NEWVERSIONS.TOTALASSETS as TOTALASSETS_NEW,
                        NEWVERSIONS.WEBSITE as WEBSITE_NEW,
                        NEWVERSIONS.ORGFORMYEAR as ORGFORMYEAR_NEW,
                        NEWVERSIONS.RULINGYEAR as RULINGYEAR_NEW,
                        NEWVERSIONS.LOCATION as LOCATION_NEW,
                        NEWVERSIONS.HCITY as HCITY_NEW,
                        NEWVERSIONS.HSTATE as HSTATE_NEW,
                        NEWVERSIONS.HZIP as HZIP_NEW
                    from 
                        OLDVERSIONS 
                    inner join NEWVERSIONS on 
                        OLDVERSIONS.REVISIONNUMBER = NEWVERSIONS.REVISIONNUMBER and 
                        OLDVERSIONS.WEALTHID = NEWVERSIONS.WEALTHID and 
                        OLDVERSIONS.PARTIALHASH = NEWVERSIONS.PARTIALHASH
                )
                select
                    CONSTITUENT.ID as CONSTITUENTID,
                    CONSTITUENT.NAME,
                    CHANGES.SOURCE,    
                    CHANGES.KEYNAME,
                    CHANGES.DATE,
                    WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.FIELDTRANSLATION,
                    CHANGES.OLDVALUE,
                    CHANGES.NEWVALUE
                from(
                    select 
                        WEALTHID,
                        PARTIALHASH,
                        SOURCE,    
                        KEYNAME,
                        DATE,
                        FIELDNAME,
                        OLDVALUE,
                        NEWVALUE
                    from(
                        select
                            WEALTHID,
                            PARTIALHASH,
                            SOURCE,
                            KEYNAME,
                            DATE,
                            --Insert Data Columns Here (Including "_NEW" Columns)

                            TITLE,
                            SALARY,
                            DN_ORGANIZATION,
                            LINE1,
                            CITY,
                            STATE,
                            ZIP,
                            REVENUE,
                            PHONE,
                            FORMYEAR,
                            FILEDDATE,
                            DESCRIPTION,
                            TOTALASSETS,
                            WEBSITE,
                            ORGFORMYEAR,
                            RULINGYEAR,
                            LOCATION,
                            HCITY,
                            HSTATE,
                            HZIP,
                            TITLE_NEW,
                            SALARY_NEW,
                            DN_ORGANIZATION_NEW,
                            LINE1_NEW,
                            CITY_NEW,
                            STATE_NEW,
                            ZIP_NEW,
                            REVENUE_NEW,
                            PHONE_NEW,
                            FORMYEAR_NEW,
                            FILEDDATE_NEW,
                            DESCRIPTION_NEW,
                            TOTALASSETS_NEW,
                            WEBSITE_NEW,
                            ORGFORMYEAR_NEW,
                            RULINGYEAR_NEW,
                            LOCATION_NEW,
                            HCITY_NEW,
                            HSTATE_NEW,
                            HZIP_NEW
                        from
                            REVISIONS
                    )as SOURCEDATA

                    unpivot(
                        OLDVALUE for FIELDNAME IN(
                            --Insert Data Columns Here (Excluding "_NEW" Columns)

                            TITLE,
                            SALARY,
                            DN_ORGANIZATION,
                            LINE1,
                            CITY,
                            STATE,
                            ZIP,
                            REVENUE,
                            PHONE,
                            FORMYEAR,
                            FILEDDATE,
                            DESCRIPTION,
                            TOTALASSETS,
                            WEBSITE,
                            ORGFORMYEAR,
                            RULINGYEAR,
                            LOCATION,
                            HCITY,
                            HSTATE,
                            HZIP
                    ))as UNPIVOTEDDATA1

                    unpivot(
                        NEWVALUE for FIELDNAME_NEW IN(
                            --Insert Data Columns Here (Only "_NEW" Columns)

                            TITLE_NEW,
                            SALARY_NEW,
                            DN_ORGANIZATION_NEW,
                            LINE1_NEW,
                            CITY_NEW,
                            STATE_NEW,
                            ZIP_NEW,
                            REVENUE_NEW,
                            PHONE_NEW,
                            FORMYEAR_NEW,
                            FILEDDATE_NEW,
                            DESCRIPTION_NEW,
                            TOTALASSETS_NEW,
                            WEBSITE_NEW,
                            ORGFORMYEAR_NEW,
                            RULINGYEAR_NEW,
                            LOCATION_NEW,
                            HCITY_NEW,
                            HSTATE_NEW,
                            HZIP_NEW
                    )) as UNPIVOTEDDATA2
                    where
                        FIELDNAME_NEW = FIELDNAME + '_NEW'and
                        OLDVALUE <> NEWVALUE and
                        NEWVALUE is not null and
                        NEWVALUE <> ''
                ) as CHANGES
                left join dbo.CONSTITUENT on 
                    CONSTITUENT.ID = CHANGES.WEALTHID
                left join dbo.WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD on
                    CHANGES.FIELDNAME = WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.FIELDNAME and
                    WEALTHPOINTDATAREFRESHNOTIFICATIONFIELD.TABLENAME = 'WPNONPROFITAFFILIATION'
            )