USP_POSTTOGLPROCESS_REPORT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN |
Definition
Copy
create procedure dbo.USP_POSTTOGLPROCESS_REPORT(@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);
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
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
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)
begin try
set @SQL = 'select
@REPORTTYPEIN as REPORTTYPE,
ACCOUNTSTRING,
POSTDATE as POSTDATE,
DEBITCREDIT,
AMOUNT,
PROJECT,
JOURNAL,
REFERENCE,
BATCH,
@GLBATCHIN as GLBATCH
from dbo.' +
@TABLENAME +
' order by
convert(datetime,POSTDATE),
REFERENCE,
ACCOUNTSTRING,
AMOUNT,
DEBITCREDIT ';
exec sp_executesql @SQL, N'@REPORTTYPEIN nvarchar(10), @GLBATCHIN nvarchar(100)', @REPORTTYPEIN = @REPORTTYPE, @GLBATCHIN = @GLBATCH;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch