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