Skip to end of metadata
Go to start of metadata
Relink AR AP Balances
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		Asamco BV, Alex
-- Create date: 13-04-2022
-- Description:	Relink customer and supplier balances
-- =============================================
CREATE PROCEDURE _as_Relink_ARAP 
	
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    -- Relink AR
	UPDATE C
		SET	
			C.DCBalance = COALESCE(t.HomeAmount,0)
			,C.fForeignBalance = COALESCE(t.ForeignAmount,0)
		FROM Client C 
		LEFT JOIN (
	SELECT AccountLink, ROUND(SUM(Debit-Credit),2) as HomeAmount
		, ROUND(SUM(CASE WHEN C.bForCurAcc = 1 THEN fForeignDebit - fForeignCredit ELSE 0 END),2) as ForeignAmount
		FROM PostAR
		LEFT JOIN Client C ON PostAR.AccountLink = C.DCLink
		GROUP BY AccountLink) t on t.AccountLink = C.DCLink

	 -- Relink AP
	UPDATE V
		SET	
			V.DCBalance = -COALESCE(t.HomeAmount,0)
			,V.fForeignBalance = -COALESCE(t.ForeignAmount,0)
		FROM Vendor V 
		LEFT JOIN (
	SELECT AccountLink, ROUND(SUM(Debit-Credit),2) as HomeAmount
		, ROUND(SUM(CASE WHEN C.bForCurAcc = 1 THEN fForeignDebit - fForeignCredit ELSE 0 END),2) as ForeignAmount
		FROM PostAP
		LEFT JOIN Vendor C ON PostAP.AccountLink = C.DCLink
		GROUP BY AccountLink) t on t.AccountLink = V.DCLink

END
  • No labels