Primjer: Izlistati nenaplacena potrazivanja od svih kupaca za tekuci datum (@dat2). Za odredjeni broj dana npr. @dan0=10 dana, @dan1 = 30 dana, @dan2 = 60 dana. Pocevsi od datuma racuna ili datuma valute.
CREATE PROCEDURE [dbo].[KupacPotrazuje]
(@dan0 smallint,@dan1 smallint,@dan2 smallint,@racun_v tinyint,@dat2 datetime)
AS
BEGIN
SET NOCOUNT ON;
SELECT Konto As Kon,
BrojDana=CASE
WHEN @racun_v=1 THEN CONVERT(smallint,@dat2-ISNULL(Dts,Datum)) //datum racuna, Dts datum stavke
WHEN @racun_v=2 THEN CONVERT(smallint,@dat2-ISNULL(Dts,Datum)-DatVal) END, //datum valute
D1
=CASE WHEN @dan1 IS NOT NULL AND @racun_v=1 AND @dat2-ISNULL(Dts,Datum) BETWEEN @dan0 AND @dan1 THEN Duguje
WHEN @dan1 IS NOT NULL AND @racun_v=2 AND @dat2-ISNULL(Dts,Datum)-DatVal BETWEEN @dan0 AND @dan1 THEN Duguje ELSE 0 END,
D2
=CASE WHEN @dan2 IS NOT NULL AND @racun_v=1 AND @dat2-ISNULL(Dts,Datum) BETWEEN @dan1 + 1 AND @dan2 THEN Duguje
WHEN @dan2 IS NOT NULL AND @racun_v=2 AND @dat2-ISNULL(Dts,Datum)-DatVal BETWEEN @dan1 + 1 AND @dan2 THEN Duguje ELSE 0 END, Potrazuje AS Pot
FROM dbo.tNalozi
WHERE Firma=ISNULL(@frm,0)
AND Godina=YEAR(@dat2)-2000
AND Datum<=@dat2-@dan0
AND LEFT(Konto,4)='2010'
END