USP_POSTTOGLPROCESS_EXCEPTIONREPORT

Parameters

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

Definition

Copy

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

                select @TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME 
                        from dbo.BUSINESSPROCESSSTATUS 
                        inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
                        where BUSINESSPROCESSSTATUS.ID = @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
                    set @SQL = 'select    REVENUEID, 
                                    CONSTITUENT.NAME, 
                                    EX.POSTDATE as POSTDATE, 
                                    ''<not specified>'' as ACCOUNTSTRING, 
                                    PROJECT, 
                                    REFERENCE,
                                    EX.AMOUNT AS DEBITAMOUNT, 
                                    0 AS CREDITAMOUNT, 
                                    EXCEPTIONREASON,
                                    DEBITCREDIT,
                                    convert(datetime, EX.POSTDATE) as DTPOSTDATE                                    
                                from dbo.' + 
                                    @TABLENAME + '    as EX
                                inner join dbo.REVENUE on EX.REVENUEID = REVENUE.ID
                                inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
                                where DEBITCREDIT = ''D''

                                    union

                                select    REVENUEID, 
                                        CONSTITUENT.NAME, 
                                        EX.POSTDATE as POSTDATE, 
                                        ''<not specified>'' as ACCOUNTSTRING, 
                                        PROJECT, 
                                        REFERENCE, 
                                        0 AS DEBITAMOUNT, 
                                        EX.AMOUNT AS CREDITAMOUNT, 
                                        EXCEPTIONREASON,
                                        DEBITCREDIT,
                                        convert(datetime, EX.POSTDATE) as DTPOSTDATE
                                from dbo.' + 
                                    @TABLENAME + '    as EX
                                inner join dbo.REVENUE on EX.REVENUEID = REVENUE.ID
                                inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
                                where DEBITCREDIT = ''C''

                            order by
                                DTPOSTDATE,                            
                                REFERENCE,
                                ACCOUNTSTRING,
                                EX.AMOUNT,
                                DEBITCREDIT ';                        


                    exec sp_executesql @SQL;
                end try

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