USP_DATALIST_TRIBUTEACKNOWLEDGEMENTFORMATTEDOUTPUT

Returns a list of records from the tribute acknowledgement process with selected formatting applied in tribute acknowledgement form.

Parameters

Parameter Parameter Type Mode Description
@SELECTIONID uniqueidentifier IN SelectionID
@TRIBUTELETTERCODEID uniqueidentifier IN TributeLetterCodeID
@MAXROWS int IN Input parameter indicating the maximum number of rows to return.
@OWNERID uniqueidentifier IN
@STARTDATE datetime IN
@EXCLUDEDECEASED bit IN
@EXCLUDEINACTIVE bit IN
@INCLUSIONS xml IN
@EXCLUSIONS xml IN
@NAMEFORMATPARAMETERID uniqueidentifier IN Name format ID
@ADDRESSPROCESSINGOPTIONID uniqueidentifier IN Address format
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SECURITYFEATUREID uniqueidentifier IN Input parameter indicating the ID of the feature to use for site security checking.
@SECURITYFEATURETYPE tinyint IN Input parameter indicating the type of the feature to use for site security checking.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_TRIBUTEACKNOWLEDGEMENTFORMATTEDOUTPUT
                (
                    @SELECTIONID uniqueidentifier = null,
                    @TRIBUTELETTERCODEID uniqueidentifier,
                    @MAXROWS int,
                    @OWNERID uniqueidentifier = null,
                    @STARTDATE datetime = null,
                    @EXCLUDEDECEASED bit = null,
                    @EXCLUDEINACTIVE bit = null,
                    @INCLUSIONS xml = null,
                    @EXCLUSIONS xml = null,
                    @NAMEFORMATPARAMETERID uniqueidentifier = null,
                    @ADDRESSPROCESSINGOPTIONID uniqueidentifier = null,
                    --@OVERRIDEREQUIREDEXCLUSIONS bit = 0,

                    --@REQUIREDEXCLUSIONS xml = null    

                    @CURRENTAPPUSERID uniqueidentifier = null,
                    @SECURITYFEATUREID uniqueidentifier = null,
                    @SECURITYFEATURETYPE tinyint = null                        
                )
                as
                    set nocount on;

                    declare @BYPASSSECURITY bit;
                    declare @BPID uniqueidentifier;
                    set @BPID = '1db992dd-f90f-4ad7-bbe1-8213d2a27ec0';
                    set @BYPASSSECURITY = 0;
                    set @CURRENTAPPUSERID = @OWNERID;

                    if @OWNERID is not null
                    begin
                        select @BYPASSSECURITY = dbo.UFN_APPUSER_ISSYSADMIN(@OWNERID);

                        if @BYPASSSECURITY = 0 
                            select @BYPASSSECURITY = dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESS_IN_NONRACROLE(@OWNERID, @BPID);
                    end
                    else
                        set @BYPASSSECURITY = 1;

                    if @BYPASSSECURITY = 0
                    begin
                        if @SELECTIONID is null 
                        begin
                            set nocount on;

                            with REVENUETRIBUTELETTER_CTE as (
                                select 
                                    top (@MAXROWS) REVENUETRIBUTELETTER.ID as REVENUETRIBUTELETTERID
                                from 
                                    dbo.REVENUETRIBUTELETTER with (nolock)
                                inner join 
                                    dbo.REVENUETRIBUTE on REVENUETRIBUTELETTER.REVENUETRIBUTEID = REVENUETRIBUTE.ID
                                inner join
                                    dbo.REVENUE on REVENUETRIBUTE.REVENUEID = REVENUE.ID
                                inner join
                                    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on REVENUE.CONSTITUENTID = CONSTIT_RACS.ID                                    
                                inner join 
                                    dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUETRIBUTELETTER.CONSTITUENTID = EXC.ID
                                where
                                    REVENUETRIBUTELETTER.TRIBUTELETTERCODEID = @TRIBUTELETTERCODEID
                                    and REVENUETRIBUTELETTER.PROCESSDATE is null
                                    and REVENUETRIBUTELETTER.ACKNOWLEDGEDATE is null
                                    and REVENUE.DONOTACKNOWLEDGE = 0
                                    and REVENUE.TRANSACTIONTYPECODE <> 3
                                    and REVENUE.CONSTITUENTID not in(select ID from dbo.DECEASEDCONSTITUENT)
                                    and exists
                                    (
                                        select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
                                        cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
                                        where RSSUB.REVENUEID = REVENUE.ID
                                        and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
                                    )
                            )

                            select top (@MAXROWS
                                STANDARDVIEW.*
                            from    
                                REVENUETRIBUTELETTER_CTE RL with (nolock)
                            inner join
                                dbo.UFN_QUERY_TRIBUTEACKNOWLEDGEMENTOUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@STARTDATE) STANDARDVIEW on RL.REVENUETRIBUTELETTERID = STANDARDVIEW.REVENUETRIBUTELETTERID
                            order by
                                STANDARDVIEW.CONSTITUENTNAME;
                        end

                        else
                        begin
                            set nocount on;

                            with REVENUETRIBUTELETTER_CTE as (
                                select 
                                    top (@MAXROWS) REVENUETRIBUTELETTER.ID as REVENUETRIBUTELETTERID
                                from 
                                    dbo.REVENUETRIBUTELETTER with (nolock)
                                inner join 
                                    dbo.REVENUETRIBUTE on REVENUETRIBUTELETTER.REVENUETRIBUTEID = REVENUETRIBUTE.ID
                                inner join
                                    dbo.REVENUE on REVENUETRIBUTE.REVENUEID = REVENUE.ID
                                inner join 
                                    dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION on REVENUETRIBUTE.REVENUEID = SELECTION.ID and @SELECTIONID is not null
                                inner join
                                    dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITIDS_FORBUSINESSPROCESS(@OWNERID, @BPID) as CONSTIT_RACS on REVENUE.CONSTITUENTID = CONSTIT_RACS.ID                                    
                                inner join 
                                    dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUETRIBUTELETTER.CONSTITUENTID = EXC.ID
                                where
                                    REVENUETRIBUTELETTER.TRIBUTELETTERCODEID = @TRIBUTELETTERCODEID
                                    and REVENUETRIBUTELETTER.PROCESSDATE is null
                                    and REVENUETRIBUTELETTER.ACKNOWLEDGEDATE is null
                                    and REVENUE.DONOTACKNOWLEDGE = 0
                                    and REVENUE.TRANSACTIONTYPECODE <> 3
                                    and REVENUE.CONSTITUENTID not in(select ID from dbo.DECEASEDCONSTITUENT)
                                    and exists
                                    (
                                        select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
                                        cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
                                        where RSSUB.REVENUEID = REVENUE.ID
                                        and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
                                    )
                            )
                            select top (@MAXROWS
                                STANDARDVIEW.*
                            from    
                                REVENUETRIBUTELETTER_CTE RL
                            inner join
                                dbo.UFN_QUERY_TRIBUTEACKNOWLEDGEMENTOUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@STARTDATE) STANDARDVIEW on RL.REVENUETRIBUTELETTERID = STANDARDVIEW.REVENUETRIBUTELETTERID
                            order by
                                STANDARDVIEW.CONSTITUENTNAME;

                        end
                    end

                    else
                    begin
                        if @SELECTIONID is null 
                        begin
                            set nocount on;

                            with REVENUETRIBUTELETTER_CTE as (
                                select 
                                    top (@MAXROWS) REVENUETRIBUTELETTER.ID as REVENUETRIBUTELETTERID
                                from 
                                    dbo.REVENUETRIBUTELETTER with (nolock)
                                inner join 
                                    dbo.REVENUETRIBUTE on REVENUETRIBUTELETTER.REVENUETRIBUTEID = REVENUETRIBUTE.ID
                                inner join
                                    dbo.REVENUE on REVENUETRIBUTE.REVENUEID = REVENUE.ID
                                inner join 
                                    dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUETRIBUTELETTER.CONSTITUENTID = EXC.ID
                                where
                                    REVENUETRIBUTELETTER.TRIBUTELETTERCODEID = @TRIBUTELETTERCODEID
                                    and REVENUETRIBUTELETTER.PROCESSDATE is null
                                    and REVENUETRIBUTELETTER.ACKNOWLEDGEDATE is null
                                    and REVENUE.DONOTACKNOWLEDGE = 0
                                    and REVENUE.TRANSACTIONTYPECODE <> 3
                                    and REVENUE.CONSTITUENTID not in(select ID from dbo.DECEASEDCONSTITUENT)
                                    and exists
                                    (
                                        select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
                                        cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
                                        where RSSUB.REVENUEID = REVENUE.ID
                                        and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
                                    )
                            )

                            select top (@MAXROWS
                                STANDARDVIEW.*
                            from    
                                REVENUETRIBUTELETTER_CTE RL with (nolock)
                            inner join
                                dbo.UFN_QUERY_TRIBUTEACKNOWLEDGEMENTOUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@STARTDATE) STANDARDVIEW on RL.REVENUETRIBUTELETTERID = STANDARDVIEW.REVENUETRIBUTELETTERID
                            order by
                                STANDARDVIEW.CONSTITUENTNAME;
                        end

                        else
                        begin
                            set nocount on;

                            with REVENUETRIBUTELETTER_CTE as (
                                select 
                                    top (@MAXROWS) REVENUETRIBUTELETTER.ID as REVENUETRIBUTELETTERID 
                                from 
                                    dbo.REVENUETRIBUTELETTER with (nolock)
                                inner join 
                                    dbo.REVENUETRIBUTE on REVENUETRIBUTELETTER.REVENUETRIBUTEID = REVENUETRIBUTE.ID
                                inner join
                                    dbo.REVENUE on REVENUETRIBUTE.REVENUEID = REVENUE.ID
                                inner join 
                                    dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) SELECTION on REVENUETRIBUTE.REVENUEID = SELECTION.ID and @SELECTIONID is not null
                                inner join 
                                    dbo.UFN_BUSINESSPROCESSCOMMPREF_GETINCLUDEDCONSTITUENT(@STARTDATE, @EXCLUDEDECEASED, @EXCLUDEINACTIVE, @INCLUSIONS, @EXCLUSIONS) AS EXC ON REVENUETRIBUTELETTER.CONSTITUENTID = EXC.ID
                                where
                                    REVENUETRIBUTELETTER.TRIBUTELETTERCODEID = @TRIBUTELETTERCODEID
                                    and REVENUETRIBUTELETTER.PROCESSDATE is null
                                    and REVENUETRIBUTELETTER.ACKNOWLEDGEDATE is null
                                    and REVENUE.DONOTACKNOWLEDGE = 0
                                    and REVENUE.TRANSACTIONTYPECODE <> 3
                                    and REVENUE.CONSTITUENTID not in(select ID from dbo.DECEASEDCONSTITUENT)
                                    and exists
                                    (
                                        select top 1 RSSUB.ID from dbo.REVENUESPLIT RSSUB
                                        cross apply dbo.UFN_SITEID_MAPFROM_REVENUESPLITID(RSSUB.ID) REVSITES
                                        where RSSUB.REVENUEID = REVENUE.ID
                                        and (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[REVSITES].[SITEID] or (SITEID is null and [REVSITES].[SITEID] is null)))
                                    )
                            )
                            select top (@MAXROWS
                                STANDARDVIEW.*
                            from    
                                REVENUETRIBUTELETTER_CTE RL
                            inner join
                                dbo.UFN_QUERY_TRIBUTEACKNOWLEDGEMENTOUTPUT(@NAMEFORMATPARAMETERID,@ADDRESSPROCESSINGOPTIONID,@STARTDATE) STANDARDVIEW on RL.REVENUETRIBUTELETTERID = STANDARDVIEW.REVENUETRIBUTELETTERID
                            order by
                                STANDARDVIEW.CONSTITUENTNAME;

                        end                    
                    end