Hi!
I have two tables 1-ledgertable (which contains all the purchasing and issuing details of an inventory) 2- openingstock (contains opening quantity of each item of current session).
I want to create a ledger report using both above given table but I am facing problem to carry forward the balance into opening. I have also read the solution on https://forums.asp.net/t/2070270.aspx?carry+forward+closing+balance+for+next+day+opening+in+sql but if i am using this to my tables it gives me right result in first two rows but it is not giving me correct result in 3 row onwards.
Ledgertable contains fields:
trandate, voucherno, itemno, ITEMNAME, recieve, issue, returnback, to_dept, remarks 2016-06-20 20160000000259 1 Ac Box 1.00 0.00 0.00 NULL
openingstock contains fields:
itemno itemname opening, unit department 219 Street Light 20 Watt 0.00 NOS QMSTORE
Here is my code and result:
;With CTE1 AS (SELECT p.trandate,p.voucherno,p.itemno,p.itemname,SUM(isnull(O.opening,0)) opening,SUM(isnull(p.recieve,0)) Recieve, SUM(isnull(p.issue,0)) Issue,SUM(isnull(p.returnback,0)) Returnback,p.to_dept,p.remarks, ROW_NUMBER() OVER (Partition BY p.itemno Order by p.itemno,p.trandate) Row_Num FROM ledgertable p LEFT JOIN openingstock O ON O.itemno = p.itemno GROUP BY p.itemno,p.ITEMNAME,p.trandate,p.voucherno,p.to_dept,p.remarks ),
CTE2 AS ( SELECT N.trandate,N.voucherno,N.itemno,N.itemname,N.recieve,N.issue,N.returnback,N.to_dept,o.opening,N.remarks,C.balance FROM CTE1 N LEFT JOIN CTE1 P ON P.itemno = N.itemno AND N.Row_Num = P.Row_Num + 1 CROSS APPLY ( SELECT COALESCE(P.opening+(ISNULL(P.Recieve,0)+isnull(P.returnback,0)) - ISNULL(P.Issue,0),N.opening) opening ) O CROSS APPLY ( SELECT O.opening + (ISNULL(N.Recieve,0)+isnull(N.Returnback,0)) - ISNULL(N.Issue,0) balance) C) select * from CTE2
Output:
voucherno
itemno
itemname
recieve
issue
returnback
to_dept
opening
balance
6/20/2016
20160000000259
1
Ac Box
0
NULL
2
3
6/22/2016
20160000000235
6
9
7/20/2016
20160000000333
5
8
13
9/15/2017
2017000000461
7
9/16/2017
2017916005
III DORM
for Commen Room, Collected by Kishan
10/6/2017
2017000000526
10/7/2017
2017107003
Collected by Sanjay
1/12/2018
20180000000044