CREATE VIEW ZV_CARI_BAKIYELER AS
SELECT
* ,
CASE WHEN C.BAKIYE>RISK AND RISK>0 THEN 'SATMA' ELSE 'SAT' END KONTROL
FROM ( SELECT
CLCARD.LOGICALREF, CLCARD.CODE AS CARI_KOD, CLCARD.DEFINITION_ AS CARI_AD,
CONVERT(DECIMAL(10),(SUM((1-CLFLINE.SIGN) * CLFLINE.AMOUNT) - SUM(CLFLINE.SIGN * CLFLINE.AMOUNT)) ) AS [BAKIYE],
ISNULL((select ACCRISKLIMIT from LG_{0}_01_CLRNUMS WHERE CLCARDREF = CLCARD.LOGICALREF),0) RISK
FROM
LG_{0}_01_CLFLINE CLFLINE INNER JOIN
LG_{0}_CLCARD CLCARD ON CLFLINE.CLIENTREF = CLCARD.LOGICALREF AND CLFLINE.CANCELLED = 0 AND CLCARD.SPECODE''
GROUP BY CLCARD.LOGICALREF, CLCARD.CODE, CLCARD.DEFINITION_, CLCARD.ACTIVE
HAVING (CLCARD.ACTIVE = 0)
) AS C
Author: semt20
LOGO MUHASEBE BAKİYE LİSTESİ
SET ROWCOUNT 0
SELECT GLACC.CODE,
GLACC.DEFINITION_,
SUM(GLSUM.DEBIT) DEBIT,SUM(GLSUM.CREDIT) CREDIT,SUM(GLSUM.DEBIT-GLSUM.CREDIT) BAKIYE
FROM
LV_101_01_EMUHTOT GLSUM WITH(NOLOCK) LEFT OUTER JOIN LG_101_EMUHACC GLACC WITH(NOLOCK) ON (GLSUM.ACCOUNTREF = GLACC.LOGICALREF)
WHERE
((GLSUM.MONTH_ -1) OR (GLSUM.YEAR_ = 2019)) AND ((GLSUM.MONTH_ -2) OR (GLSUM.YEAR_ = 2019)) AND (( (GLSUM.YEAR_ = 2019) AND( (GLSUM.MONTH_ >= 1) OR (GLSUM.MONTH_ = -1) ) ) OR ( (GLSUM.YEAR_ = 2019) AND(GLSUM.MONTH_ <= 12) )) AND ((GLSUM.TOTTYPE 8) OR (GLSUM.CURRTYP > 0) ) AND (GLSUM.TOTTYPE IN (1)) AND ((GLSUM.TOTTYPE 8) OR (GLSUM.CURRTYP = GLACC.CCURRENCY))
GROUP BY
GLACC.CODE,DEFINITION_,GLSUM.ACCOUNTREF,GLSUM.TOTTYPE
ORDER BY CODE
visual studio react native java jdk ayarla
workplace settings yaz java.home edit de
sonra user settingse java.home yaz onada edit de
https://nodejs.org/en/download/ indir ve kur
cmd
npm install -g expo-cli
npm install -g react-native-cli
npm install -g create-react-native-app
react-native init projectNameHere
cd projectNameHere
react-native run-android
F:\masaustussd\react native\projectNameHere\android\ klasorunun icine local.properties isminde dosya YARAT ve icine sdk.dir = C:\\Users\\Pnp\\AppData\\Local\\Android\\sdk
LOGO SQL URETIM PLANLANAN
/****** Object: View [dbo].[BM_211_URETIM_PLANLANAN] Script Date: 29.4.2019 14:19:42 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create VIEW [dbo].[BM_211_URETIM_PLANLANAN] as
SELECT
c.LOGICALREF,Tarih,C.[Fiş No],LOGICALREFI,C.[Malzeme Kodu],C.[Malzeme Açıklaması],
CASE
WHEN C.[Miktar Formülü]='' THEN '0'
WHEN REPLACE(C.[Miktar Formülü],'P1', [Uretim Miktar])='P1' THEN ISNULL(CONVERT(VARCHAR(20),C.[Uretim Miktar]),'0') ELSE ISNULL(REPLACE(C.[Miktar Formülü],'P1', [Uretim Miktar]),'0') END Formül ,
C.[Gerçekleşen Miktar],C.[Planlanan Miktar]
FROM (
SELECT
PRDLN.LOGICALREF ,
PO.DATE_ Tarih,
po.FICHENO [Fiş No],
ITMSC.LOGICALREF LOGICALREFI,
ITMSC.CODE [Malzeme Kodu],
ITMSC.NAME [Malzeme Açıklaması],
--PRDLN.FORMULA [Miktar Formülü],
CASE WHEN PRDLN.FORMULA='' THEN '1' ELSE ISNULL(REPLACE(PRDLN.FORMULA,' ',''),'0') END [Miktar Formülü] ,
CASE WHEN PRDLN.AMOUNT ='' THEN '0' ELSE PRDLN.AMOUNT END [Gerçekleşen Miktar],
0 [Planlanan Miktar],
(SELECT TOP 1 amount FROM LG_211_POLINE pl2 WHERE pl2.PRODORDREF=PRDLN.PRODORDREF AND pl2.LINETYPE=4 ORDER BY PRDLN.LOGICALREF ASC ) [Uretim Miktar]
FROM LG_211_POLINE PRDLN WITH (NOLOCK)
LEFT OUTER JOIN LG_211_ITEMS ITMSC WITH (NOLOCK)
ON (PRDLN.ITEMREF = ITMSC.LOGICALREF)
LEFT OUTER JOIN LG_211_VARIANT VARIANT WITH (NOLOCK)
ON (PRDLN.VARIANTREF = VARIANT.LOGICALREF)
LEFT JOIN LG_211_PRODORD po ON po.LOGICALREF = PRDLN.PRODORDREF
WHERE
--PRDLN.DISPLINEREF = 22139 AND
(PRDLN.DETLINE = 0)
) AS C
GO
CREATE PROC BM_P_211_URETIM_PLANLANAN AS
declare @sql nvarchar(max) = (
SELECT STUFF( (SELECT ' select ' + str([LOGICALREF]) + ', ' + str([LOGICALREFI]) + ', ' + REPLACE( Formül,',','.') +';'
from BM_211_URETIM_PLANLANAN t
for xml path ('')
), 1, 1, '' )
)
declare @temp table ( [LOGICALREF] int, [LOGICALREFI] int, [Planlanan Miktar] FLOAT);
insert @temp exec(@sql);
SELECT --LOGICALREF LOGICALREFPL,
YEAR(DATE_) YIL,
YEAR(DATE_)*100+ MONTH(DATE_) AY,
PO.DATE_ Tarih,
PO.FICHENO [Fiş No],
CASE WHEN PL.LINETYPE='4' THEN 'Ana Ürün' WHEN PL.LINETYPE='0' THEN 'Girdi' ELSE CONVERT(VARCHAR(3),LINETYPE) end [Satır Tipi],
I.CODE [Malzeme Kodu],
I.NAME [Malzeme Açıklaması],
PL.FORMULA Formül,
PL.AMOUNT [Gerçekleşen Miktar],
[Planlanan Miktar] from @temp T
LEFT JOIN LG_211_POLINE PL ON PL.LOGICALREF=T.LOGICALREF
LEFT JOIN LG_211_PRODORD PO ON PO.LOGICALREF = PL.PRODORDREF
LEFT JOIN LG_211_ITEMS I ON I.LOGICALREF = LOGICALREFI
WHERE PL.DETLINE = 0
EXEC BM_P_211_URETIM_PLANLANAN
C# YAZIDA GEÇEN BELİRLİ BİR KARAKTERE KADAR OLAN KISMI ALMA
string test=’merhaba.dunya’
string sonuc = test.Split(‘.’)[0];
SQL SERVER DATABASEDE ISTENILEN DEĞERİ ARAMA PROSEDURE
--EXEC SearchAllTables 'a'
CREATE PROC SearchAllTables( @SearchStr nvarchar(100))
AS
BEGIN
CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))
SET NOCOUNT ON
DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')
WHILE @TableName IS NOT NULL
BEGIN
SET @ColumnName = ''
SET @TableName = (
SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
AND QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
AND OBJECTPROPERTY( OBJECT_ID( QUOTENAME(TABLE_SCHEMA)
+ '.' + QUOTENAME(TABLE_NAME) ),
'IsMSShipped' ) = 0
)
WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
BEGIN
SET @ColumnName = ( SELECT MIN(QUOTENAME(COLUMN_NAME))
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = PARSENAME(@TableName, 2)
AND TABLE_NAME = PARSENAME(@TableName, 1)
AND DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
AND QUOTENAME(COLUMN_NAME) > @ColumnName )
IF @ColumnName IS NOT NULL
BEGIN
INSERT
INTO #Results
EXEC ( 'SELECT ''' + @TableName + '.' + @ColumnName + ''',
LEFT(' + @ColumnName + ', 3630) FROM ' + @TableName + '
(NOLOCK) ' + ' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2 )
END
END
END
SELECT ColumnName, ColumnValue
FROM #Results
END
logo sql stok negatif seviye
--logo negatif seviye
update LG_100_INVDEF set neglevelctrl=2 izin vermez 0 dersen izin verir
SQL OTOMATIK YEDEK ALMA
SQL SERVER 2005 ve 2008 ÜZERİNDE OTOMATİK YEDEK ALMA
SQL Server üzerinde Maintenance Plans sekmesinden yeni bir plan oluşturularak otomatik yedek aldırmak için bir görev yapılır. Maintenance Plans kullanımı için SQL Server Windows Authentication modda çalıştırılmalı ve mixed modda kurulmalıdır.
Aynı zamanda SQL Server ile birlikte SQL Server Agent’ ında çalışıyor olması gerekmektedir. Maintenance Plans kullanımı için kullanıcı sysadmin yetkisinde olmalıdır.
LOGO CARİ HESAP BÜTÜN CARİLER YÜRÜYEN BAKİYE SQL PROCEDURE
--EXEC [dbo].[CARI_EKSTRE_HEPSI] '201','01','01.01.2017','31.12.2019'
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'CARI_EKSTRE_HEPSI') AND OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[CARI_EKSTRE]
GO
CREATE PROC [dbo].[CARI_EKSTRE_HEPSI]
(
@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] (165) NULL ,
[CARI_ADI] [varchar] (165) NULL ,
[TARIH] [datetime] NULL ,
[FIS_TUR] [varchar] (165) NULL ,
[OZEL_KOD] [varchar] (165) NULL ,
[BELGE] [varchar] (165) NULL ,
[ACIKLAMA] [varchar] (165) NULL,
[BORC] [FLOAT] NULL ,
[ALACAK] [FLOAT] NULL,
[BAKIYE] [FLOAT] NULL,
[DURUM] [varchar] (5) NULL,
[EKLEME_TARIH] [datetime] NULL ,
[EKLEYEN] [varchar] (65) NULL,
[DEGISTIRME_TARIH] [datetime] NULL ,
[DEGISTIREN] [varchar] (65) 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.SIGN*AMOUNT,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.SIGN*AMOUNT,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
')
LOGO CARİ HESAP CARİ BAZLI YÜRÜYEN BAKİYE SQL PROCEDURE
--EXEC [dbo].[CARI_EKSTRE_CARIBAZLI] '201','01','01.01.2017','31.12.2019','001S0165222','001S0165222'
IF EXISTS (SELECT * FROM DBO.SYSOBJECTS WHERE ID = OBJECT_ID(N'CARI_EKSTRE_CARIBAZLI') AND OBJECTPROPERTY(ID, N'IsProcedure') = 1)
DROP PROCEDURE [dbo].[CARI_EKSTRE_CARIBAZLI]
GO
CREATE PROC [dbo].[CARI_EKSTRE_CARIBAZLI]
(
@FRM VARCHAR(4)
,@DNM VARCHAR(4)
,@ILKTARIH VARCHAR(12)
,@SONTARIH VARCHAR(12)
,@ILK VARCHAR(65)
,@SON VARCHAR(65)
)
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] (165) NULL ,
[CARI_ADI] [varchar] (165) NULL ,
[TARIH] [datetime] NULL ,
[FIS_TUR] [varchar] (165) NULL ,
[OZEL_KOD] [varchar] (165) NULL ,
[BELGE] [varchar] (165) NULL ,
[ACIKLAMA] [varchar] (165) NULL,
[BORC] [FLOAT] NULL ,
[ALACAK] [FLOAT] NULL,
[BAKIYE] [FLOAT] NULL,
[DURUM] [varchar] (5) NULL,
[EKLEME_TARIH] [datetime] NULL ,
[EKLEYEN] [varchar] (65) NULL,
[DEGISTIRME_TARIH] [datetime] NULL ,
[DEGISTIREN] [varchar] (65) 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 ) AND CARI.CODE BETWEEN '''+ @ILK +''' AND '''+ @SON +'''
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.SIGN*AMOUNT,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.SIGN*AMOUNT,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
')