DECLARE @SQL as varchar(MAX)

SET @SQL = 'FUNCTION [dbo].[_Brk_Mutabakat_BaBs_Ekstre] (@VERGINO VARCHAR(50),@ilkTarih DATETIME, @sonTarih DATETIME, @SUBEKODU INT) RETURNS TABLE AS RETURN (SELECT ISLETME_KODU ,FTIRSIP ,MODUL ,BELGENO ,CARI_ISIM ,ULKE_KODU ,BEYANULKEKODU ,ISNULL(VERGI_NUMARASI, '''') VERGI_NUMARASI ,TUTAR ,ISNULL(TCKIMLIKNO, '''') TCKIMLIKNO ,CARI_KOD FROM (SELECT T2.ISLETME_KODU ,T1.FTIRSIP ,''FATURA'' MODUL ,T1.FATIRS_NO BELGENO ,T3.CARI_ISIM ,T3.ULKE_KODU ,T4.BEYANULKEKODU ,CASE WHEN T3.ULKE_KODU = ''TR'' OR ISNULL(T3.ULKE_KODU, '''') = '''' THEN T3.VERGI_NUMARASI ELSE CASE WHEN T1.FTIRSIP = ''1'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,((CASE WHEN T1.FTIRSIP = ''1'' THEN (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) ELSE (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) END) - (CASE WHEN ISNULL(T1.EXPORTREFNO, '''') = '''' THEN 0 ELSE (SELECT ISNULL(SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0) FROM TBLDEKOTRA TRA WITH (NOLOCK) WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO AND TRA.SERI_NO = ''IT'' AND B_A = ''B'' AND (TRA.KOD NOT LIKE ''191%'') AND (TRA.KOD NOT LIKE ''192%'') AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1)) END)) TUTAR ,T5.TCKIMLIKNO TCKIMLIKNO ,T1.CARI_KODU CARI_KOD FROM TBLFATUIRS T1 WITH (NOLOCK) JOIN TBLSUBELER T2 ON T1.SUBE_KODU = T2.SUBE_KODU JOIN TBLCASABIT T3 ON T1.CARI_KODU = T3.CARI_KOD JOIN NETSIS..ULKESABIT T4 ON T3.ULKE_KODU = T4.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK T5 ON T5.CARI_KOD = T3.CARI_KOD WHERE T3.CARI_KOD <> ''000000000000000'' AND (T1.FTIRSIP = ''1'' OR T1.FTIRSIP = ''2'') AND ((TIPI <> ''6'' AND (TARIH BETWEEN @ilkTarih AND @sonTarih)) OR (TIPI = ''6'' AND (EXGUMTARIH BETWEEN @ilkTarih AND @sonTarih))) AND T2.ISLETME_KODU = 1 AND ISNULL(T1.FTIRSIP, '''') <> ''Y'' AND ((CASE WHEN T1.FTIRSIP = ''1'' THEN (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) ELSE (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) END) - (CASE WHEN ISNULL(T1.EXPORTREFNO, '''') = '''' THEN 0 ELSE (SELECT ISNULL(SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0) FROM TBLDEKOTRA TRA WITH (NOLOCK) WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO AND TRA.SERI_NO = ''IT'' AND B_A = ''B'' AND (TRA.KOD NOT LIKE ''191%'') AND (TRA.KOD NOT LIKE ''192%'') AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1)) END)) >= 0 UNION ALL SELECT M2.ISLETME_KODU ,''2'' ,''MÜSTAHSÝL'' MODUL ,M1.FATIRS_NO BELGENO ,M3.CARI_ISIM ,M3.ULKE_KODU ,M4.BEYANULKEKODU ,CASE WHEN M3.ULKE_KODU = ''TR'' OR ISNULL(M3.ULKE_KODU, '''') = '''' THEN M3.VERGI_NUMARASI ELSE ''1111111111'' END VERGI_NUMARASI ,(M1.BRUTTUTAR + M1.MERA) TUTAR ,M5.TCKIMLIKNO TCKIMLIKNO ,M1.CARI_KODU CARI_KOD FROM TBLMUSTAHSI M1 WITH (NOLOCK) JOIN TBLSUBELER M2 ON M1.SUBE_KODU = M2.SUBE_KODU JOIN TBLCASABIT M3 ON M1.CARI_KODU = M3.CARI_KOD JOIN NETSIS..ULKESABIT M4 ON M3.ULKE_KODU = M4.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK M5 ON M5.CARI_KOD = M3.CARI_KOD WHERE TARIH BETWEEN @ilkTarih AND @sonTarih AND M2.ISLETME_KODU = 1 UNION ALL SELECT T12.ISLETME_KODU ,(CASE WHEN T11.SERI_NO IN (''FT'', ''SM'') THEN ''2'' ELSE (CASE WHEN T11.B_A = ''A'' THEN ''1'' ELSE ''2'' END) END) ,''DEKONT'' MODUL ,''DEK.NO:'' + CAST(T11.DEKONT_NO AS VARCHAR(15)) + '' SERÝ NO:'' + T11.SERI_NO + '' FÝÞNO:'' + T11.FISNO BELGENO ,T13.CARI_ISIM ,T13.ULKE_KODU ,T14.BEYANULKEKODU ,CASE WHEN T13.ULKE_KODU = ''TR'' OR ISNULL(T13.ULKE_KODU, '''') = '''' THEN T13.VERGI_NUMARASI ELSE CASE WHEN T11.B_A = ''A'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,SUM(T11.TUTAR) ,T15.TCKIMLIKNO TCKIMLIKNO ,T11.BFORMCARI_KODU CARI_KOD FROM TBLDEKOTRA T11 WITH (NOLOCK) JOIN TBLSUBELER T12 ON T11.SUBE_KODU = T12.SUBE_KODU JOIN TBLCASABIT T13 ON T11.BFORMCARI_KODU = T13.CARI_KOD JOIN NETSIS..ULKESABIT T14 ON T13.ULKE_KODU = T14.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK T15 ON T15.CARI_KOD = T13.CARI_KOD WHERE (T11.YEDEK1 = ''E'' AND BFORMCARI_KODU IS NOT NULL) AND T11.TARIH BETWEEN @ilkTarih AND @sonTarih AND T12.ISLETME_KODU = 1 GROUP BY T12.ISLETME_KODU ,T11.DEKONT_NO ,T11.FISNO ,VERGI_NUMARASI ,T13.CARI_ISIM ,T13.ULKE_KODU ,T14.BEYANULKEKODU ,T15.TCKIMLIKNO ,T11.BFORMCARI_KODU ,T11.B_A ,T11.SERI_NO UNION ALL SELECT S1.ISLETME_KODU ,(CASE WHEN IO = ''G'' THEN ''1'' ELSE ''2'' END) FTIRSIP ,''KASA'' MODUL ,K1.FISNO BELGENO ,C1.CARI_ISIM ,C1.ULKE_KODU ,U1.BEYANULKEKODU ,CASE WHEN C1.ULKE_KODU = ''TR'' OR ISNULL(C1.ULKE_KODU, '''') = '''' THEN C1.VERGI_NUMARASI ELSE CASE WHEN IO = ''G'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,(TUTAR - K1.YEDEK5) ,C2.TCKIMLIKNO TCKIMLIKNO ,K1.BFORMCARIKODU CARI_KOD FROM TBLKASA K1 WITH (NOLOCK) JOIN TBLSUBELER S1 ON S1.SUBE_KODU = K1.SUBE_KODU JOIN TBLCASABIT C1 ON C1.CARI_KOD = K1.BFORMCARIKODU JOIN NETSIS..ULKESABIT U1 ON U1.ULKEKODU = C1.ULKE_KODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK C2 ON C2.CARI_KOD = C1.CARI_KOD WHERE TIP = ''F'' AND CARI_MUH <> ''C'' AND BFORMCARIKODU IS NOT NULL AND TARIH BETWEEN @ilkTarih AND @sonTarih AND S1.ISLETME_KODU = 1) V2 WHERE FTIRSIP = ''1'' AND V2.VERGI_NUMARASI = @VERGINO AND V2.ISLETME_KODU = (SELECT TOP 1 TBLSUBELER.ISLETME_KODU FROM TBLSUBELER WHERE TBLSUBELER.SUBE_KODU = @SUBEKODU) UNION ALL SELECT ISLETME_KODU ,FTIRSIP ,MODUL ,BELGENO ,CARI_ISIM ,ULKE_KODU ,BEYANULKEKODU ,ISNULL(VERGI_NUMARASI, '''') VERGI_NUMARASI ,TUTAR ,ISNULL(TCKIMLIKNO, '''') TCKIMLIKNO ,CARI_KOD FROM (SELECT T2.ISLETME_KODU ,T1.FTIRSIP ,''FATURA'' MODUL ,T1.FATIRS_NO BELGENO ,T3.CARI_ISIM ,T3.ULKE_KODU ,T4.BEYANULKEKODU ,CASE WHEN T3.ULKE_KODU = ''TR'' OR ISNULL(T3.ULKE_KODU, '''') = '''' THEN T3.VERGI_NUMARASI ELSE CASE WHEN T1.FTIRSIP = ''1'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,((CASE WHEN T1.FTIRSIP = ''1'' THEN (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) ELSE (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) END) - (CASE WHEN ISNULL(T1.EXPORTREFNO, '''') = '''' THEN 0 ELSE (SELECT ISNULL(SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0) FROM TBLDEKOTRA TRA WITH (NOLOCK) WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO AND TRA.SERI_NO = ''IT'' AND B_A = ''B'' AND (TRA.KOD NOT LIKE ''191%'') AND (TRA.KOD NOT LIKE ''192%'') AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1)) END)) TUTAR ,T5.TCKIMLIKNO TCKIMLIKNO ,T1.CARI_KODU CARI_KOD FROM TBLFATUIRS T1 WITH (NOLOCK) JOIN TBLSUBELER T2 ON T1.SUBE_KODU = T2.SUBE_KODU JOIN TBLCASABIT T3 ON T1.CARI_KODU = T3.CARI_KOD JOIN NETSIS..ULKESABIT T4 ON T3.ULKE_KODU = T4.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK T5 ON T5.CARI_KOD = T3.CARI_KOD WHERE T3.CARI_KOD <> ''000000000000000'' AND (T1.FTIRSIP = ''1'' OR T1.FTIRSIP = ''2'') AND ((TIPI <> ''6'' AND (TARIH BETWEEN @ilkTarih AND @sonTarih)) OR (TIPI = ''6'' AND (EXGUMTARIH BETWEEN @ilkTarih AND @sonTarih))) AND T2.ISLETME_KODU = 1 AND ISNULL(T1.FTIRSIP, '''') <> ''Y'' AND ((CASE WHEN T1.FTIRSIP = ''1'' THEN (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) ELSE (CASE WHEN (1 <> 1) THEN (T1.GENELTOPLAM - (T1.KDV + 0 + T1.YUVARLAMA - ABS(T1.FAT_ALTM2))) ELSE (T1.GENELTOPLAM - T1.KDV - T1.YUVARLAMA - 0) END) END) - (CASE WHEN ISNULL(T1.EXPORTREFNO, '''') = '''' THEN 0 ELSE (SELECT ISNULL(SUM(TUTAR) * T1.GENELTOPLAM / DBO.NSF_GETEXPORTREF_GENELTOPLAM(T1.EXPORTREFNO), 0) FROM TBLDEKOTRA TRA WITH (NOLOCK) WHERE TRA.EXPORTREFNO = T1.EXPORTREFNO AND TRA.SERI_NO = ''IT'' AND B_A = ''B'' AND (TRA.KOD NOT LIKE ''191%'') AND (TRA.KOD NOT LIKE ''192%'') AND ISNULL(TRA.EXEXPENSETYPE, 0) NOT IN (0, 1)) END)) >= 0 UNION ALL SELECT M2.ISLETME_KODU ,''2'' ,''MÜSTAHSÝL'' MODUL ,M1.FATIRS_NO BELGENO ,M3.CARI_ISIM ,M3.ULKE_KODU ,M4.BEYANULKEKODU ,CASE WHEN M3.ULKE_KODU = ''TR'' OR ISNULL(M3.ULKE_KODU, '''') = '''' THEN M3.VERGI_NUMARASI ELSE ''1111111111'' END VERGI_NUMARASI ,(M1.BRUTTUTAR + M1.MERA) TUTAR ,M5.TCKIMLIKNO TCKIMLIKNO ,M1.CARI_KODU CARI_KOD FROM TBLMUSTAHSI M1 WITH (NOLOCK) JOIN TBLSUBELER M2 ON M1.SUBE_KODU = M2.SUBE_KODU JOIN TBLCASABIT M3 ON M1.CARI_KODU = M3.CARI_KOD JOIN NETSIS..ULKESABIT M4 ON M3.ULKE_KODU = M4.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK M5 ON M5.CARI_KOD = M3.CARI_KOD WHERE TARIH BETWEEN @ilkTarih AND @sonTarih AND M2.ISLETME_KODU = 1 UNION ALL SELECT T12.ISLETME_KODU ,(CASE WHEN T11.SERI_NO IN (''FT'', ''SM'') THEN ''2'' ELSE (CASE WHEN T11.B_A = ''A'' THEN ''1'' ELSE ''2'' END) END) ,''DEKONT'' MODUL ,''DEK.NO:'' + CAST(T11.DEKONT_NO AS VARCHAR(15)) + '' SERÝ NO:'' + T11.SERI_NO + '' FÝÞNO:'' + T11.FISNO BELGENO ,T13.CARI_ISIM ,T13.ULKE_KODU ,T14.BEYANULKEKODU ,CASE WHEN T13.ULKE_KODU = ''TR'' OR ISNULL(T13.ULKE_KODU, '''') = '''' THEN T13.VERGI_NUMARASI ELSE CASE WHEN T11.B_A = ''A'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,SUM(T11.TUTAR) ,T15.TCKIMLIKNO TCKIMLIKNO ,T11.BFORMCARI_KODU CARI_KOD FROM TBLDEKOTRA T11 WITH (NOLOCK) JOIN TBLSUBELER T12 ON T11.SUBE_KODU = T12.SUBE_KODU JOIN TBLCASABIT T13 ON T11.BFORMCARI_KODU = T13.CARI_KOD JOIN NETSIS..ULKESABIT T14 ON T13.ULKE_KODU = T14.ULKEKODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK T15 ON T15.CARI_KOD = T13.CARI_KOD WHERE (T11.YEDEK1 = ''E'' AND BFORMCARI_KODU IS NOT NULL) AND T11.TARIH BETWEEN @ilkTarih AND @sonTarih AND T12.ISLETME_KODU = 1 GROUP BY T12.ISLETME_KODU ,T11.DEKONT_NO ,T11.FISNO ,VERGI_NUMARASI ,T13.CARI_ISIM ,T13.ULKE_KODU ,T14.BEYANULKEKODU ,T15.TCKIMLIKNO ,T11.BFORMCARI_KODU ,T11.B_A ,T11.SERI_NO UNION ALL SELECT S1.ISLETME_KODU ,(CASE WHEN IO = ''G'' THEN ''1'' ELSE ''2'' END) FTIRSIP ,''KASA'' MODUL ,K1.FISNO BELGENO ,C1.CARI_ISIM ,C1.ULKE_KODU ,U1.BEYANULKEKODU ,CASE WHEN C1.ULKE_KODU = ''TR'' OR ISNULL(C1.ULKE_KODU, '''') = '''' THEN C1.VERGI_NUMARASI ELSE CASE WHEN IO = ''G'' THEN ''2222222222'' ELSE ''1111111111'' END END VERGI_NUMARASI ,(TUTAR - K1.YEDEK5) ,C2.TCKIMLIKNO TCKIMLIKNO ,K1.BFORMCARIKODU CARI_KOD FROM TBLKASA K1 WITH (NOLOCK) JOIN TBLSUBELER S1 ON S1.SUBE_KODU = K1.SUBE_KODU JOIN TBLCASABIT C1 ON C1.CARI_KOD = K1.BFORMCARIKODU JOIN NETSIS..ULKESABIT U1 ON U1.ULKEKODU = C1.ULKE_KODU COLLATE SQL_Latin1_General_CP1_CI_AS JOIN TBLCASABITEK C2 ON C2.CARI_KOD = C1.CARI_KOD WHERE TIP = ''F'' AND CARI_MUH <> ''C'' AND BFORMCARIKODU IS NOT NULL AND TARIH BETWEEN @ilkTarih AND @sonTarih AND S1.ISLETME_KODU = 1) V2 WHERE FTIRSIP = ''2'' AND V2.VERGI_NUMARASI = @VERGINO AND V2.ISLETME_KODU = (SELECT TOP 1 TBLSUBELER.ISLETME_KODU FROM TBLSUBELER WHERE TBLSUBELER.SUBE_KODU = @SUBEKODU) )' 

IF Object_ID('_Brk_Mutabakat_BaBs_Ekstre') IS NULL
    SET @SQL = 'CREATE ' + @SQL
ELSE    
    SET @SQL = 'ALTER ' + @SQL

EXEC(@SQL)