Merhabalar ,
Faydalı olur umarım.
EXECUTE USP_VADE_DURUM @FRM = N'017'
,@DNM = N'01'
CREATE PROCEDURE [dbo].[USP_VADE_DURUM]@FRM NVARCHAR(3),@DNM NVARCHAR(3)
AS
BEGIN
DECLARE @SQL NVARCHAR(MAX)
SET @SQL = N'
SELECT CLCARD.CODE ,
CLCARD.DEFINITION_ ,
CONVERT(DATE, INVOICE.DATE_) FaturaTarihi ,
CONVERT(DATE, PAYTANS.DATE_) FaturaVadesi ,
DATEDIFF(dd, INVOICE.DATE_, PAYTANS.DATE_) VadeGün ,
DATEDIFF(dd, PAYTANS.DATE_, GETDATE()) KalanGün ,
INVOICE.FICHENO FaturaNo ,
( CASE INVOICE.TRCODE
WHEN 8 THEN ''Satış Faturası''
WHEN 1 THEN ''Alım Faturası''
WHEN 3 THEN ''Satış İade Faturası''
WHEN 6 THEN ''Alım İade Faturası''
ELSE ''Diğer''
END ) FaturaTürü ,
INVOICE.NETTOTAL FaturaTutarı ,
SUM(PAYTANS.PAID) Kapanan ,
( INVOICE.NETTOTAL - SUM(PAYTANS.PAID) ) ÖdenmemisKalan,
( INVOICE.NETTOTAL - SUM(PAYTANS.PAID) ) *1*DATEDIFF(dd, PAYTANS.DATE_, GETDATE()) Faiz
FROM LG_'+@FRM+'_CLCARD CLCARD
INNER JOIN LG_'+@FRM+'_'+@DNM+'_PAYTRANS PAYTANS ON CLCARD.LOGICALREF = PAYTANS.CARDREF
INNER JOIN LG_'+@FRM+'_'+@DNM+'_INVOICE INVOICE ON PAYTANS.FICHEREF = INVOICE.LOGICALREF
WHERE PAYTANS.MODULENR = 4
AND PAYTANS.TRCODE IN ( 8 )
GROUP BY CLCARD.LOGICALREF ,
PAYTANS.DATE_ ,
CLCARD.CODE ,
INVOICE.DATE_ ,
CLCARD.DEFINITION_ ,
CONVERT(DATE, INVOICE.DATE_) ,
CONVERT(DATE, PAYTANS.DATE_) ,
INVOICE.FICHENO ,
( CASE INVOICE.TRCODE
WHEN 8 THEN ''Satış Faturası''
WHEN 1 THEN ''Alım Faturası''
WHEN 3 THEN ''Satış İade Faturası''
WHEN 6 THEN ''Alım İade Faturası''
ELSE ''Diğer''
END ) ,
INVOICE.NETTOTAL
HAVING ROUND(( INVOICE.NETTOTAL - SUM(PAYTANS.PAID) ), 2) > 0
ORDER BY INVOICE.FICHENO';
EXEC(@SQL)
PRINT(@SQL)
END;