USP_POSTTOGLPROCESS_REPORT2

Parameters

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

Definition

Copy

            create procedure dbo.USP_POSTTOGLPROCESS_REPORT2(@ID nvarchar(36))
            with execute as owner
            as
                set nocount on;        
                declare @TABLENAME nvarchar(255);
                declare @REPORTTYPE nvarchar(10);
                declare @GLBATCH nvarchar(100);
                declare @SQL nvarchar(4000);

                declare @BASECURRENCYID uniqueidentifier;
                declare @ISOCURRENCYCODE nvarchar(3);
                declare @CURRENCYSYMBOL nvarchar(5);
                declare @DECIMALDIGITS tinyint;
                declare @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint;
        declare @PDACCOUNTSYSTEMID nvarchar(36);

                select 
                    @TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME,
                    @REPORTTYPE = case POSTTOGLPROCESS.MARKASPOSTED when 0 then 'Preview' else 'Posted' end,
                    @GLBATCH = 
                        case when len(GLBATCH.LOOKUPID) > 0 then N' - Process ID -' + GLBATCH.LOOKUPID
                             else N''
                        end,
                    @BASECURRENCYID = coalesce(CURRENCYSET.BASECURRENCYID, dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY()),
          @PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                from 
                    dbo.BUSINESSPROCESSSTATUS 
                    inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
                    inner join dbo.POSTTOGLPROCESSSTATUS on BUSINESSPROCESSSTATUS.ID= POSTTOGLPROCESSSTATUS.ID
                    inner join dbo.POSTTOGLPROCESS on POSTTOGLPROCESSSTATUS.PARAMETERSETID = POSTTOGLPROCESS.ID        
                    left join dbo.GLBATCH on GLBATCH.POSTPROCESSSTATUSID = BUSINESSPROCESSSTATUS.ID
                    left join dbo.PDACCOUNTSYSTEM ON POSTTOGLPROCESS.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                    left join dbo.CURRENCYSET ON PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
                where 
                    BUSINESSPROCESSSTATUS.ID = @ID AND BUSINESSPROCESSOUTPUT.TABLEKEY = 'OUTPUT';


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

                select 
                    @ISOCURRENCYCODE = CURRENCYPROPERTIES.ISO4217,
                    @CURRENCYSYMBOL = CURRENCYPROPERTIES.CURRENCYSYMBOL,
                    @DECIMALDIGITS = CURRENCYPROPERTIES.DECIMALDIGITS,
                    @CURRENCYSYMBOLDISPLAYSETTINGCODE = CURRENCYPROPERTIES.SYMBOLDISPLAYSETTINGCODE        
                from
                     dbo.UFN_CURRENCY_GETPROPERTIES(@BASECURRENCYID) CURRENCYPROPERTIES 

        begin try
                    set @SQL = 'select 
                                @REPORTTYPEIN as REPORTTYPE, 
                                out.ACCOUNTSTRING,
                                out.POSTDATE as POSTDATE, 
                                out.DEBITCREDIT, 
                                out.AMOUNT, 
                                out.JOURNAL,
                                out.REFERENCE,
                                out.BATCH,
                                @GLBATCHIN as GLBATCH,
                                @ISOCURRENCYCODE as ISOCURRENCYCODE,
                                @CURRENCYSYMBOL as CURRENCYSYMBOL,
                                @DECIMALDIGITS as CURRENCYDECIMALDIGITS,
                                @CURRENCYSYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE,
                                isnull(ga.ACCOUNTDESCRIPTION, ''[ALIASED ACCOUNT]'') ACCOUNTDESCRIPTION,
                                isnull(ga.ACCOUNTALIAS, '''') ACCOUNTALIAS

                            from dbo.' + 
                            @TABLENAME +
                            ' out left join GLACCOUNT ga on ga.PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
                                    and out.ACCOUNTSTRING = ga.ACCOUNTNUMBER and ga.ACCOUNTALIAS = ''''



                            order by
                                convert(datetime,out.POSTDATE),
                                out.REFERENCE,
                                out.ACCOUNTSTRING,
                                out.AMOUNT,
                                out.DEBITCREDIT ';


                    exec sp_executesql 
                        @SQL
                        N'@REPORTTYPEIN nvarchar(10), @GLBATCHIN nvarchar(100), @ISOCURRENCYCODE nvarchar(3), @CURRENCYSYMBOL nvarchar(5), @DECIMALDIGITS tinyint, @CURRENCYSYMBOLDISPLAYSETTINGCODE tinyint, @PDACCOUNTSYSTEMID nvarchar(36)'
                        @REPORTTYPEIN = @REPORTTYPE
                        @GLBATCHIN = @GLBATCH,
                        @ISOCURRENCYCODE = @ISOCURRENCYCODE,
                        @CURRENCYSYMBOL = @CURRENCYSYMBOL,
                        @DECIMALDIGITS = @DECIMALDIGITS,
                        @CURRENCYSYMBOLDISPLAYSETTINGCODE = @CURRENCYSYMBOLDISPLAYSETTINGCODE,
                        @PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID
                end try

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