CLEAR ALL
CLOSE DATABASES
LOCAL lcCari, lnPrevBakiye
STORE "" TO m.lcCari
STORE 0 TO lnPrevBakiye
DO TabloYap
SELECT ;
CariTemp.Tarih, ;
CariTemp.Cari, ;
"Alis" As Hareket, ;
Cast(Nvl(IslemTemp.Tutar,0) As B) As Borc, ;
Cast(0 As B) As Alacak, ;
Cast(0 As B) As Bakiye ;
From ( Select Distinct ;
Tarih, Cari ;
From AlisSatis ) As CariTemp ;
LEFT JOIN ;
( Select ;
Tarih, ;
Cari, ;
Sum(Tutar) As Tutar ;
FROM AlisSatis ;
GROUP BY Tarih, Cari ) As IslemTemp ;
ON CariTemp.Tarih == IslemTemp.Tarih AND CariTemp.Cari == IslemTemp.Cari ;
UNION ;
SELECT ;
CariTemp.Tarih, ;
CariTemp.Cari, ;
"Tahsilat" As Hareket, ;
Cast(0 As B) As Borc, ;
Cast(Nvl(OdemeTemp.Tutar,0) As B) As Alacak, ;
Cast(0 As B) As Bakiye ;
From (Select Distinct ;
Tarih, Cari ;
From TahsilOdeme) As CariTemp ;
LEFT JOIN ;
( Select ;
Tarih, ;
Cari, ;
Sum(Tutar) As Tutar ;
FROM TahsilOdeme ;
GROUP BY Tarih, Cari ) As OdemeTemp ;
ON CariTemp.Tarih == OdemeTemp.Tarih AND CariTemp.Cari == OdemeTemp.Cari ;
ORDER BY 2,1,3 ;
INTO CURSOR CrsResult READWRITE
GO TOP IN CrsResult
m.lcCari = CrsResult.Cari
m.lnPrevBakiye = 0
SCAN
IF m.lcCari == CrsResult.Cari AND NOT Eof("CrsResult")
Replace CrsResult.Bakiye WITH m.lnPrevBakiye + ( CrsResult.Borc - CrsResult.Alacak )
m.lnPrevBakiye = CrsResult.Bakiye
ELSE
m.lcCari = CrsResult.Cari
m.lnPrevBakiye = 0
Replace CrsResult.Bakiye WITH m.lnPrevBakiye + ( CrsResult.Borc - CrsResult.Alacak )
m.lnPrevBakiye = CrsResult.Bakiye
ENDIF
ENDSCAN
Browse
RETURN
PROCEDURE TabloYap
CREATE CURSOR AlisSatis (Tarih D, Hareket C(15), Cari C(15), Tutar B)
CREATE CURSOR TahsilOdeme ;
(Tarih D, Hareket C(15), Cari C(15), Tutar B)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari001", 75.00)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari001", 45.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari001", 110.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari001", 45.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari001", 15.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari001", 88.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari001", 750.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari001", 450.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari001", 1100.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari001", 450.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Satis", "Cari001", 105.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Satis", "Cari001", 808.00)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari002", 175.00)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari002", 145.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari002", 1110.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari002", 145.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari002", 115.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari002", 188.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari002", 175.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari002", 145.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari002", 1110.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari002", 145.00)
INSERT INTO AlisSatis VALUES (Date()-4, "Satis", "Cari002", 115.00)
INSERT INTO AlisSatis VALUES (Date()-4, "Satis", "Cari002", 188.00)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari003", 99.00)
INSERT INTO AlisSatis VALUES (Date(), "Alis", "Cari003", 77.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari003", 666.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Alis", "Cari003", 111.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari003", 222.00)
INSERT INTO AlisSatis VALUES (Date()-2, "Alis", "Cari003", 753.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari003", 852.00)
INSERT INTO AlisSatis VALUES (Date(), "Satis", "Cari003", 258.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari003", 965.00)
INSERT INTO AlisSatis VALUES (Date()-1, "Satis", "Cari003", 456.00)
INSERT INTO AlisSatis VALUES (Date()-4, "Satis", "Cari003", 654.00)
INSERT INTO AlisSatis VALUES (Date()-4, "Satis", "Cari003", 18.00)
INSERT INTO TahsilOdeme VALUES (Date(), "Tahsil", "Cari001", 300 )
INSERT INTO TahsilOdeme VALUES (Date()-1, "Odeme", "Cari001", 650 )
INSERT INTO TahsilOdeme VALUES (Date()-2, "Tahsil", "Cari001", 1500 )
INSERT INTO TahsilOdeme VALUES (Date()-5, "Odeme", "Cari001", 900 )
INSERT INTO TahsilOdeme VALUES (Date(), "Tahsil", "Cari002", 1300 )
INSERT INTO TahsilOdeme VALUES (Date()-1, "Odeme", "Cari002", 1650 )
INSERT INTO TahsilOdeme VALUES (Date()-2, "Tahsil", "Cari002", 500 )
INSERT INTO TahsilOdeme VALUES (Date()-7, "Odeme", "Cari002", 700 )
INSERT INTO TahsilOdeme VALUES (Date()-2, "Tahsil", "Cari002", 950 )
INSERT INTO TahsilOdeme VALUES (Date()-3, "Odeme", "Cari002", 2750 )
INSERT INTO TahsilOdeme VALUES (Date()-6, "Tahsil", "Cari002", 900 )
INSERT INTO TahsilOdeme VALUES (Date()-10, "Odeme", "Cari002", 650 )
RETURN
ENDPROC
RETURN