Logo Sql Cari Ekstre
–EXEC [dbo].[LOGO_CARI_EKSTRELER] ‘201’,’01’,’01.01.2020′,’31.12.2020′
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N’LOGO_CARI_EKSTRELER’) AND OBJECTPROPERTY(ID, N’IsProcedure’) = 1)
DROP PROCEDURE [dbo].[CARI_EKSTRE]
GO
CREATE PROC [dbo].[LOGO_CARI_EKSTRELER]
(
@FRM VARCHAR(4)
,@DNM VARCHAR(4)
,@ILKTARIH VARCHAR(12)
,@SONTARIH VARCHAR(12)
)
AS
EXEC(‘
SET NOCOUNT ON
BEGIN TRY
BEGIN TRANSACTION
DECLARE @DURUM Nvarchar (51)
DECLARE @CLINTREF INTEGER
DECLARE @CARI_KODU NVARCHAR(165)
DECLARE @CARI_ADI NVARCHAR(165)
DECLARE @BAKIYE FLOAT
DECLARE @TARIH datetime
DECLARE @FIS_TUR Nvarchar(165)
DECLARE @OZEL_KOD Nvarchar (165)
DECLARE @BELGE Nvarchar(165)
DECLARE @ACIKLAMA Nvarchar(165)
DECLARE @BORC FLOAT
DECLARE @ALACAK FLOAT
DECLARE @EKLEME_TARIH datetime
DECLARE @EKLEYEN Nvarchar (65)
DECLARE @DEGISTIRME_TARIH datetime
DECLARE @DEGISTIREN Nvarchar (65)
IF EXISTS(SELECT * FROM tempdb.dbo.sysobjects O
WHERE O.xtype = ”U” AND O.id = OBJECT_ID(N”tempdb..#TMP”))
BEGIN
DROP TABLE #TMP
END
CREATE TABLE #TMP
(
[CLINTREF] [int] NULL ,
[CARI_KODU] varchar NULL ,
[CARI_ADI] varchar NULL ,
[TARIH] [datetime] NULL ,
[FIS_TUR] varchar NULL ,
[OZEL_KOD] varchar NULL ,
[BELGE] varchar NULL ,
[ACIKLAMA] varchar NULL,
[BORC] [FLOAT] NULL ,
[ALACAK] [FLOAT] NULL,
[BAKIYE] [FLOAT] NULL,
[DURUM] varchar NULL,
[EKLEME_TARIH] [datetime] NULL ,
[EKLEYEN] varchar NULL,
[DEGISTIRME_TARIH] [datetime] NULL ,
[DEGISTIREN] varchar NULL
)
DECLARE CARI_LISTE cursor for
SELECT DISTINCT CARI.LOGICALREF, CARI.CODE , CARI.DEFINITION_
FROM LG_’ + @FRM + ‘CLCARD CARI WHERE CARI.LOGICALREF IN(SELECT CLIENTREF FROM LG‘ + @FRM + ‘‘ + @DNM + ‘_CLFLINE ) ORDER BY CARI.LOGICALREF,CARI.CODE,CARI.DEFINITION
OPEN CARI_LISTE FETCH NEXT FROM CARI_LISTE
INTO @CLINTREF,@CARI_KODU,@CARI_ADI
WHILE @@fetch_status = 0
BEGIN
DECLARE CARI_DETAY cursor for
SELECT
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,EKLEME_TARIH,EKLEYEN,DEGISTIREN_TARIH,DEGISTIREN
FROM (
SELECT
MAX(CLNTC.CODE) CARI_KODU,
MAX(CLNTC.DEFINITION_) CARI_ADI ,
NULL TARIH,
”-” FIS_TUR,
”-” OZEL_KOD,
”-” BELGE,
”Devir Eden Bakiye” ACIKLAMA,
ISNULL(sum(ROUND((1-CTRNS.SIGN)AMOUNT,2)),0) BORC, ISNULL(sum(ROUND(CTRNS.SIGNAMOUNT,2)),0) ALACAK,null EKLEME_TARIH,”-” EKLEYEN,null DEGISTIREN_TARIH,”-” DEGISTIREN
FROM LG_’ + @FRM + ‘CLCARD CLNTC LEFT OUTER JOIN LG‘ + @FRM + ‘‘ + @DNM + ‘_CLFLINE CTRNS ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF) WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE< CONVERT(DATETIME,”’ + @ILKTARIH + ”’,104)
UNION ALL
SELECT
CLNTC.CODE CARI_KODU ,CLNTC.DEFINITION_ CARI_ADI ,
CONVERT(datetime, CTRNS.DATE_, 104)TARIH,
case WHEN CTRNS.TRCODE=1 THEN ”Nakit Tahsilat”
WHEN CTRNS.TRCODE=2 THEN ”Nakit Ödeme”
WHEN CTRNS.TRCODE=3 THEN ”Borç Dekontu”
WHEN CTRNS.TRCODE=4 THEN ”Alacak Dekontu”
WHEN CTRNS.TRCODE=5 THEN ”Virman İşlemi”
WHEN CTRNS.TRCODE=6 THEN ”Kur Farkı İşlemi”
WHEN CTRNS.TRCODE=12 THEN ”Özel İşlem”
WHEN CTRNS.TRCODE=14 THEN ”Açılış Fişi”
WHEN CTRNS.TRCODE=20 THEN ”Gelen Havaleler”
WHEN CTRNS.TRCODE=21 THEN ”Gönderilen Havaleler”
WHEN CTRNS.TRCODE=31 THEN ”Mal Alım Faturası”
WHEN CTRNS.TRCODE=32 THEN ”Perakende Satış İade Faturası”
WHEN CTRNS.TRCODE=33 THEN ”Toptan Satış İade Faturası”
WHEN CTRNS.TRCODE=34 THEN ”Alınan Hizmet Faturası”
WHEN CTRNS.TRCODE=35 THEN ”Alınan Proforma Faturası”
WHEN CTRNS.TRCODE=36 THEN ”Alım İade Faturası”
WHEN CTRNS.TRCODE=37 THEN ”Perakende Satış Faturası”
WHEN CTRNS.TRCODE=38 THEN ”Toptan Satış Faturası”
WHEN CTRNS.TRCODE=39 THEN ”Verilen Hizmet Faturası”
WHEN CTRNS.TRCODE=40 THEN ”Verilen Proforma Faturası”
WHEN CTRNS.TRCODE=41 THEN ”Verilen Vade Farkı Faturası”
WHEN CTRNS.TRCODE=42 THEN ”Alınan Vade Farkı Faturası”
WHEN CTRNS.TRCODE=43 THEN ”Alınan Fiyat Farkı Faturası”
WHEN CTRNS.TRCODE=44 THEN ”Verilen Fiyat Farkı Faturası”
WHEN CTRNS.TRCODE=45 THEN ”Verilen Serbest Meslek Makbuzu”
WHEN CTRNS.TRCODE=46 THEN ”Alınan Serbest Meslek Makbuzu”
WHEN CTRNS.TRCODE=56 THEN ”Müstahsil Makbuzu”
WHEN CTRNS.TRCODE=70 THEN ”Kredi Kartı Fişi”
WHEN CTRNS.TRCODE=71 THEN ”Kredi Kartı Fişi İade”
WHEN CTRNS.TRCODE=72 THEN ”Firma Kredi Kartı Fişi”
WHEN CTRNS.TRCODE=73 THEN ”Firma Kredi Kartı Fişi İade”
WHEN CTRNS.TRCODE=61 THEN ”Çek Girişi”
WHEN CTRNS.TRCODE=62 THEN ”Senet Girişi”
WHEN CTRNS.TRCODE=63 THEN ”Çek Çıkış Cari Hesaba”
WHEN CTRNS.TRCODE=64 THEN ”Senet Çıkış Cari Hesaba”
WHEN CTRNS.TRCODE=75 THEN ”Özel Dekont”
end as FIS_TUR,
CTRNS.DOCODE OZEL_KOD,
CTRNS.SPECODE AS BELGE,
CTRNS.LINEEXP AS ACIKLAMA,
ISNULL(ROUND((1-CTRNS.SIGN)AMOUNT,2),0) AS BORC, ISNULL(ROUND(CTRNS.SIGNAMOUNT,2),0) AS ALACAK,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_CREADEDDATE,104) AS EKLEME_TARIH,
EKLEYEN.NAME EKLEYEN,
CONVERT(DATETIME,CTRNS.CAPIBLOCK_MODIFIEDDATE,104) AS DEGISTIREN_TARIH,
DEGISTIREN.NAME DEGISTIREN
FROM
LG_’ + @FRM + ‘‘ + @DNM + ‘_CLFLINE CTRNS LEFT OUTER JOIN LG‘ + @FRM + ‘CLCARD CLNTC ON (CTRNS.CLIENTREF = CLNTC.LOGICALREF) LEFT OUTER JOIN L_CAPIUSER EKLEYEN ON EKLEYEN.NR=CTRNS.CAPIBLOCK_CREATEDBY LEFT OUTER JOIN L_CAPIUSER DEGISTIREN ON DEGISTIREN.NR=CTRNS.CAPIBLOCK_MODIFIEDBY WHERE CTRNS.CANCELLED=0 AND CTRNS.PAIDINCASH=0 AND CLNTC.CODE=@CARI_KODU AND CTRNS.DATE BETWEEN CONVERT(DATETIME,”’ + @ILKTARIH + ”’,104) AND CONVERT(DATETIME,”’ + @SONTARIH + ”’,104))VEDAT_OZER
ORDER BY VEDAT_OZER.CARI_KODU,VEDAT_OZER.TARIH
SET @BAKIYE = 0
OPEN CARI_DETAY FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
WHILE @@fetch_status = 0
BEGIN
SET @BAKIYE =ROUND( @BAKIYE + @BORC – @ALACAK ,2)
SET @DURUM = CASE WHEN @BAKIYE>0 THEN ”(B)” WHEN @BAKIYE<0 THEN ”(A)” WHEN @BAKIYE=0 THEN ”(-)” ELSE ”” END
INSERT INTO #TMP (
CLINTREF,
CARI_KODU,
CARI_ADI,
TARIH,
FIS_TUR,
OZEL_KOD,
BELGE,
ACIKLAMA,
BORC,
ALACAK,
BAKIYE,
DURUM,
EKLEME_TARIH,
EKLEYEN,
DEGISTIRME_TARIH,
DEGISTIREN)
VALUES(
@CLINTREF,
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@BAKIYE,
@DURUM,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN)
FETCH NEXT FROM CARI_DETAY
INTO
@CARI_KODU,
@CARI_ADI,
@TARIH,
@FIS_TUR,
@OZEL_KOD,
@BELGE,
@ACIKLAMA,
@BORC,
@ALACAK,
@EKLEME_TARIH,
@EKLEYEN,
@DEGISTIRME_TARIH,
@DEGISTIREN
END
CLOSE CARI_DETAY
DEALLOCATE CARI_DETAY
FETCH NEXT FROM CARI_LISTE
INTO
@CLINTREF,
@CARI_KODU,
@CARI_ADI
END
CLOSE CARI_LISTE
DEALLOCATE CARI_LISTE
COMMIT TRAN
PRINT(”Cari Hesap Ekstresini Başarıyla Tamamlanmıştır.”)
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
BEGIN
ROLLBACK TRAN
PRINT(”Cari Hesap Ekstresinde Hata Var. Lütfen Tekrar Deneyin !”)
END
END CATCH
SELECT
CARI_KODU as [Carı Kodu],
CARI_ADI as [Carı Adı],
TARIH as [Tarih],
FIS_TUR as [Fiş Türü],
BELGE [Özel Kod],
OZEL_KOD [Belge No],
ACIKLAMA [Açıklama],
BORC [Borç],
ALACAK [Alacak],
BAKIYE [Bakiye],
DURUM [B-A],
EKLEME_TARIH [Ekleme Tarihi],
EKLEYEN [Ekleyen Kişi],
DEGISTIRME_TARIH [Değiştirme Tarihi],
DEGISTIREN as [Değiştiren Kişi]
FROM #TMP WHERE CARI_KODU IS NOT NULL
ORDER BY CARI_KODU
‘)