--add all the Vendors
TRUNCATE TABLE _etblAllocsDCLinkRangeTemp
insert into _etblAllocsDCLinkRangeTemp (DCLink)
(Select DClink from Vendor ) -- where /*bforcurAcc =0 and */ dclink = 532)
--Fill the Temp table sage uses
exec _espAllocsAllToTableARAP 'AP'
/*This table outlines which allocations do not have a contra-position. (so the contra-allocation in the other tx as expeced)*/
Select
NoMirror.iFromRecID as AutoIdx,
NoMirror.iToRecID as [Alocated To AutoIdx]
from
(Select A1.* from _etblAllocsTemp A1 left join _etblAllocsTemp A2 on A2.iToRecID = A1.iFromRecID and A1.iToRecID = A2.iFromRecID where A2.idAllocsTemp Is Null) NoMirror
left outer join PostAP PAP on NoMirror.iFromRecID = PAP.AutoIdx left outer join Vendor V on NoMirror.iAccountID = V.DCLink order by NoMirror.iFromRecID
-------------------------------------
-------------------------------------
-------------------------------------
--these tx show differences in from-to allocation amounts
;with y as (Select
A1.iFromRecID as AutoIdx,
A1.iToRecID as [Alocated To AutoIdx]
,p1 = (select sum(A3.fAmount) from _etblAllocsTemp A3
where A3.iFromRecID=A1.iFromRecID and A3.iToRecID=A1.iToRecID group by A3.iFromRecID, A3.iToRecID)
,p2 =
(select sum(A4.fAmount) from _etblAllocsTemp A4 where A4.iFromRecID=A2.iFromRecID and A4.iToRecID=A2.iToRecID group by A4.iFromRecID, A4.iToRecID)
from _etblAllocsTemp A1 left outer join _etblAllocsTemp A2 on A2.iToRecID=A1.iFromRecID and A1.iToRecID=A2.iFromRecID
left outer join PostAP PAP on A1.iFromRecID = PAP.AutoIdx
left outer join Vendor V on A1.iAccountID = V.DCLink
where ((select sum(A3.fAmount) from _etblAllocsTemp A3
where A3.iFromRecID=A1.iFromRecID and A3.iToRecID=A1.iToRecID group by A3.iFromRecID, A3.iToRecID) <>
(select sum(A4.fAmount) from _etblAllocsTemp A4 where A4.iFromRecID=A2.iFromRecID and A4.iToRecID=A2.iToRecID group by A4.iFromRecID, A4.iToRecID))
-- order by A1.iFromRecID
)
select * , p1-p2 as diff from y where abs(p1-p2) > 1 |