USP_REPORT_REVENUEBATCHCONTROLREPORT

Returns the data necessary for the Revenue Batch Control report.

Parameters

Parameter Parameter Type Mode Description
@BATCHID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_REPORT_REVENUEBATCHCONTROLREPORT(@BATCHID uniqueidentifier) with execute as owner
            as

                declare @TABLENAME nvarchar(128);

                set nocount on;

                select @TABLENAME = dbo.UFN_BATCH_GETREPORTTABLENAME(@BATCHID, 0)

                declare @CURRENCYFIELD nvarchar(100);

                if exists(select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TABLENAME and COLUMN_NAME = 'REVENUECURRENCYID')
                    select @CURRENCYFIELD = 'REVENUECURRENCYID';
                else
                    set @CURRENCYFIELD = '''' + cast(coalesce(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), '00000000-0000-0000-0000-000000000000') as nvarchar(36)) + '''';


                declare @SQLTOEXEC nvarchar(max);

                set @SQLTOEXEC = N'set nocount on;
                    with TBL_CTE as
                    (
                    select
                        ' + @CURRENCYFIELD + ' as REVENUECURRENCYID,
                        ID,
                        CONSTITUENTNAME,
                        KEYNAME,
                        LOOKUPID,
                        AMOUNT,
                        TYPE,
                        DATE,
                        PAYMENTMETHOD,
                        DESIGNATION,
                        APPEAL,
                        ISPAYMENT,
                        ISPLEDGE,
                        ISRECURRINGGIFT,
                        PAYMENTAMOUNT,
                        PLEDGEAMOUNT,
                        RECURRINGGIFTAMOUNT,
                        MGAMOUNT,
                        MGCOUNT,
                        MEMBERSHIPAMOUNT,
                        MEMBERSHIPCOUNT,
                        REVENUELOOKUPID,
                        BATCHRECORDID
                    from ' + @TABLENAME + '
                    )
                    select
                        VIEWDATA.ID,
                        BATCH.BATCHNUMBER,
                        BATCH.STATUS,
                        EXCEPTIONBATCH.BATCHNUMBER EXCEPTIONBATCHNAME,
                        coalesce((select USERNAME from dbo.APPUSER where ID = BATCH.APPUSERID), '''') as [OWNER],
                        BATCH.PROJECTEDNUMBEROFRECORDS,
                        BATCH.PROJECTEDTOTALAMOUNT,
                        VIEWDATA.CONSTITUENTNAME,
                        VIEWDATA.KEYNAME,
                        VIEWDATA.LOOKUPID,
                        VIEWDATA.AMOUNT,
                        VIEWDATA.TYPE,
                        VIEWDATA.DATE,
                        VIEWDATA.PAYMENTMETHOD,
                        VIEWDATA.DESIGNATION,
                        VIEWDATA.APPEAL,
                        VIEWDATA.ISPAYMENT,
                        VIEWDATA.ISPLEDGE,
                        VIEWDATA.ISRECURRINGGIFT,
                        VIEWDATA.PAYMENTAMOUNT,
                        VIEWDATA.PLEDGEAMOUNT,
                        VIEWDATA.RECURRINGGIFTAMOUNT,
                        VIEWDATA.MGAMOUNT,
                        VIEWDATA.MGCOUNT,
                        VIEWDATA.MEMBERSHIPAMOUNT,
                        VIEWDATA.MEMBERSHIPCOUNT,
                        CURRENCY.ISO4217,
                        CURRENCY.DECIMALDIGITS,
                        CURRENCY.CURRENCYSYMBOL,
                        CURRENCY.SYMBOLDISPLAYSETTINGCODE,
                        VIEWDATA.REVENUELOOKUPID
                    from TBL_CTE as VIEWDATA
                        inner join dbo.BATCH on BATCH.ID = @BATCHID
                        inner join dbo.CURRENCY on CURRENCY.ID = VIEWDATA.REVENUECURRENCYID
                        /*    JamesWill WI200374 2012-07-20 The BATCH.EXCEPTIONBATCHNAME field is only used when overriding the default exception batch number. 
                            So we need to actually look up the exception bathc using the exception batch change data. */
                        left join 
                        (
                            select top 1 
                                EXCEPTIONBATCH.ID,
                                EXCEPTIONBATCH.ORIGINATINGBATCHID,
                                EXCEPTIONBATCH.BATCHNUMBER
                            from dbo.BATCH EXCEPTIONBATCH 
                            where EXCEPTIONBATCH.ORIGINATINGBATCHID = @BATCHID
                        ) EXCEPTIONBATCH on EXCEPTIONBATCH.ORIGINATINGBATCHID = BATCH.ID
                        left join dbo.BATCHREVENUE on BATCHREVENUE.ID = VIEWDATA.BATCHRECORDID
                    order by BATCHREVENUE.SEQUENCE';

                exec sp_executesql @SQLTOEXEC,
                    N'@BATCHID uniqueidentifier',
                    @BATCHID=@BATCHID;