USP_REVALUECOMMITMENTSPROCESS_EXCEPTIONREPORT

Parameters

Parameter Parameter Type Mode Description
@ID nvarchar(36) IN

Definition

Copy

            create procedure dbo.USP_REVALUECOMMITMENTSPROCESS_EXCEPTIONREPORT(@ID nvarchar(36) = null)
            with execute as owner
            as
                set nocount on;
                declare @TABLENAME nvarchar(255);
                declare @SQL nvarchar(4000);

                select 
                    @TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
                from dbo.BUSINESSPROCESSOUTPUT
                where BUSINESSPROCESSSTATUSID = @ID and BUSINESSPROCESSOUTPUT.TABLEKEY = 'EXCEPTION';

                if @TABLENAME is null or OBJECT_ID(@TABLENAME) is null
                    raiserror('Business process exception table could not be found.  The process might not have completed successfully. ',13,1);

                    begin try
                        -- Build a dynamic SQL statement to retrieve data from the necessary table(s)

                        set @SQL = 'select
                            CONSTITUENT.NAME,
                            FINANCIALTRANSACTION.TYPE as TRANSACTIONTYPE,
                            FINANCIALTRANSACTION.POSTDATE,
                            FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
                            EXCEPTION.EXCEPTIONMESSAGE,
                            ''http://www.blackbaud.com?REVENUEID='' + cast(FINANCIALTRANSACTION.ID as nvarchar(max)) as REVENUELINK,
                            CURRENCYPROPERTIES.ID as CURRENCYID,
                            CURRENCYPROPERTIES.ISO4217 as CURRENCYISO,
                            CURRENCYPROPERTIES.DECIMALDIGITS as CURRENCYDECIMALDIGITS,
                            CURRENCYPROPERTIES.CURRENCYSYMBOL as CURRENCYSYMBOL,
                            CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE
                        from ' + @TABLENAME + ' as EXCEPTION
                        inner join dbo.FINANCIALTRANSACTION on EXCEPTION.REVENUEID = FINANCIALTRANSACTION.ID
                        inner join dbo.CONSTITUENT on FINANCIALTRANSACTION.CONSTITUENTID = CONSTITUENT.ID
                        cross apply dbo.UFN_CURRENCY_GETPROPERTIES(FINANCIALTRANSACTION.TRANSACTIONCURRENCYID) CURRENCYPROPERTIES
                        order by
                            FINANCIALTRANSACTION.POSTDATE,
                            FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
                            FINANCIALTRANSACTION.TYPE,
                            EXCEPTION.EXCEPTIONMESSAGE';

                        -- Execute the statement

                        exec sp_executesql @SQL;
                end try

                begin catch
                    exec dbo.USP_RAISE_ERROR;
                    return 1;
                end catch