USP_MAPPINGERROR_BANKACCOUNTADJUSTMENT_RECREATEDISTRIBUTION
Recreate the distribution for a bank account adjustment if using holding account.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BANKACCOUNTADJUSTMENTID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@CURRENTDATE | datetime | IN | |
@PROCESSID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_MAPPINGERROR_BANKACCOUNTADJUSTMENT_RECREATEDISTRIBUTION
(
@BANKACCOUNTADJUSTMENTID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@CURRENTDATE datetime = null,
@PROCESSID uniqueidentifier = null
) as
begin
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
if @CURRENTDATE is null
set @CURRENTDATE = getdate();
declare @DEFAULTGLACCOUNTID uniqueidentifier;
select @DEFAULTGLACCOUNTID = S.DEFAULTGLACCOUNTID
from dbo.PDACCOUNTSYSTEM S
inner join dbo.BANKACCOUNT BA on S.ID = BA.PDACCOUNTSYSTEMID
inner join dbo.BANKACCOUNTTRANSACTION BAT on BAT.BANKACCOUNTID = BA.ID
where BAT.ID = @BANKACCOUNTADJUSTMENTID;
if @DEFAULTGLACCOUNTID is not null and exists(select 1
from dbo.BANKACCOUNTTRANSACTIONGLDISTRIBUTION D
inner join dbo.GLTRANSACTION T on D.GLTRANSACTIONID = T.ID
where D.BANKACCOUNTTRANSACTIONID = @BANKACCOUNTADJUSTMENTID and T.GLACCOUNTID = @DEFAULTGLACCOUNTID and T.POSTSTATUSCODE = 1)
begin
delete from dbo.GLTRANSACTION where ID in (select GLTRANSACTIONID from dbo.BANKACCOUNTTRANSACTIONGLDISTRIBUTION where BANKACCOUNTTRANSACTIONID = @BANKACCOUNTADJUSTMENTID) and POSTSTATUSCODE >= 1;
delete from dbo.BANKACCOUNTTRANSACTIONGLDISTRIBUTION where BANKACCOUNTTRANSACTIONID = @BANKACCOUNTADJUSTMENTID;
exec dbo.USP_BANKACCOUNTADJUSTMENT_CREATEDISTRIBUTION @BANKACCOUNTADJUSTMENTID, @CHANGEAGENTID, @CURRENTDATE;
end
if exists(select 1 from dbo.GLACCOUNTMAPPINGERROR where TRANSACTIONID = @BANKACCOUNTADJUSTMENTID and DELETED = 0
and ERRORMESSAGE in (select E.ERRORMESSAGE from dbo.GLACCOUNTMAPPINGERROR E where E.TRANSACTIONID = @BANKACCOUNTADJUSTMENTID and E.GLACCOUNTMAPPINGERRORUPDATEPROCESSID = @PROCESSID))
return 0
else
return 1
end