/****** Object: UserDefinedFunction [dbo].[vcikk_arak] Script Date: 04/10/2008 12:27:59 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER FUNCTION [dbo].[vcikk_arak] ( @arcs dbo.kulcs, @akccs dbo.kulcs, @dat dbo.datum ) RETURNS @xxvcikk_arak TABLE (arcsoport kulcs, cikk_nev nev, cikk_szam cikk_szam, netto_ar egyseg_ar, akcios_ar egyseg_ar, aru_szolg char(1), kifutott char(1), szallito kulcs, gyarto kulcs, cikkcsop2 char(18), menny_egys menny_egyseg, afa_kulcs afa_kulcs, tgon cikk_szam, ntgon cikk_szam, tgonszor int, ntgonszor int, akt_besz_ar egyseg_ar, dat_tipus char(1), vcikkszam cikk_szam ) AS begin declare @szm char(1) declare @mennyi int declare @ardatum char(7) select @szm = szamitas_modja from vevo_arcsoport where kod=@arcs if @szm='L' begin --LISTA áras set @ardatum = left(@dat,7) select @mennyi=isnull(count(*),0) from vevo_ar_lista where arcsoport=@arcs and datum = @ardatum if @mennyi = 0 select @ardatum = max(datum) from vevo_ar_lista where datum < @ardatum if @ardatum is null --Még egyáltalán nincs listaár rögzítve insert into @xxvcikk_arak SELECT @arcs, dbo.cikkek.CIKK_NEV, dbo.cikkek.cikk_szam, 0 as netto_ar, isnull(VevoAkciok_1.egyseg_ar,0) as akcios_ar, cikkek.aru_szolg, cikkek.kifutott, cikkek.szallito, cikkek.gyarto, cikkek.cikkcsop2, cikkek.menny_egys, cikkek.afa_kulcs, cikkek.tgon, cikkek.ntgon, cikkek.tgonszor, cikkek.ntgonszor, cikkek.akt_besz_ar, cikkek.dat_tipus, cikkek.vcikkszam FROM dbo.cikkek LEFT OUTER JOIN dbo.VevoAkciok( @akccs, @dat) AS VevoAkciok_1 ON dbo.cikkek.cikk_szam = VevoAkciok_1.cikk_szam else insert into @xxvcikk_arak SELECT @arcs, dbo.cikkek.CIKK_NEV, dbo.cikkek.cikk_szam, isnull(dbo.vevo_ar_lista.netto_ar,0) as netto_ar, isnull(VevoAkciok_1.egyseg_ar,0) as akcios_ar, cikkek.aru_szolg, cikkek.kifutott, cikkek.szallito, cikkek.gyarto, cikkek.cikkcsop2, cikkek.menny_egys, cikkek.afa_kulcs, cikkek.tgon, cikkek.ntgon, cikkek.tgonszor, cikkek.ntgonszor, cikkek.akt_besz_ar, cikkek.dat_tipus, cikkek.vcikkszam FROM dbo.cikkek left outer JOIN dbo.vevo_ar_lista ON dbo.vevo_ar_lista.cikk_szam = dbo.cikkek.CIKK_SZAM LEFT OUTER JOIN dbo.VevoAkciok( @akccs, @dat) AS VevoAkciok_1 ON dbo.cikkek.cikk_szam = VevoAkciok_1.cikk_szam where dbo.vevo_ar_lista.arcsoport=@arcs and dbo.vevo_ar_lista.datum = @ardatum end else begin --RABATT tablós insert into @xxvcikk_arak SELECT dbo.vevo_arak.arcsoport, dbo.cikkek.CIKK_NEV, dbo.vevo_arak.cikk_szam, dbo.vevo_arak.netto_ar, isnull(VevoAkciok_1.egyseg_ar,0) as akcios_ar, cikkek.aru_szolg, cikkek.kifutott, cikkek.szallito, cikkek.gyarto, cikkek.cikkcsop2, cikkek.menny_egys, cikkek.afa_kulcs, cikkek.tgon, cikkek.ntgon, cikkek.tgonszor, cikkek.ntgonszor, cikkek.akt_besz_ar, cikkek.dat_tipus, cikkek.vcikkszam FROM dbo.vevo_arak INNER JOIN dbo.cikkek ON dbo.vevo_arak.cikk_szam = dbo.cikkek.CIKK_SZAM LEFT OUTER JOIN dbo.VevoAkciok( @akccs, @dat) AS VevoAkciok_1 ON dbo.vevo_arak.cikk_szam = VevoAkciok_1.cikk_szam where dbo.vevo_arak.arcsoport=@arcs end return end