Mikro programlarında, stoğun son son giriş ve ortalama giriş fiyat bilgilerini bulabilmek için aşağıdaki fonksiyon kullanılabilir. Ana döviz cinsi üzerinden istenirse tarih referansı da kullanılarak son giriş ya da ortalama giriş fiyatına ulaşılabilir. Stok F10 ekranı yada stok bilgisinin olduğu herhangi bir görüntü yada rapor ekranına son giriş fiyatı, ortalama giriş fiyatı bilgileri eklenebilir.
CREATE FUNCTION dbo.fn_Zukod_Stok_Son_Giris_Fiyati ( @StokKodu NVARCHAR (25), @RefTarih DATETIME, @RetType TINYINT /*0:Son giriş fiyatı, 1: Ortalama giriş fiyatı*/ ) RETURNS FLOAT AS BEGIN DECLARE @Deger FLOAT, @Miktar FLOAT, @RetVAL FLOAT=0.0 IF @RetType=0 BEGIN SELECT TOP 1 @Deger=STH_NET_DEGER_ANA,@Miktar=sth_miktar FROM STOK_HAREKETLERI_VIEW_WITH_INDEX_02 WITH (NOLOCK) WHERE sth_evraktip IN (3,13) AND sth_cins NOT IN (9,15) AND sth_normal_iade=0 AND sth_stok_kod=@StokKodu AND (@RefTarih IS NULL OR sth_tarih<=@RefTarih) AND sth_miktar>0 ORDER BY sth_tarih DESC END ELSE BEGIN SELECT @Deger=SUM(STH_NET_DEGER_ANA),@Miktar=SUM(sth_miktar) FROM STOK_HAREKETLERI_VIEW_WITH_INDEX_02 WITH (NOLOCK) WHERE sth_evraktip IN (3,13) AND sth_cins NOT IN (9,15) AND sth_normal_iade=0 AND sth_stok_kod=@StokKodu AND (@RefTarih IS NULL OR sth_tarih<=@RefTarih) AND sth_miktar>0 END IF @Deger IS NULL SET @Deger=0.0 IF @Miktar IS NULL SET @Miktar=0.0 IF @Miktar>0 SET @RetVAL=@Deger/@Miktar RETURN @RetVAL END
Örnek kullanım ;
SELECT TOP 100 PERCENT sto_kod AS [msg_S_0078] /* KODU */, sto_isim AS [msg_S_0870] /* ADI */, ISNULL(sfiyat_fiyati,0) AS [msg_S_0006] /* FİYAT */, KUR_ISMI AS [msg_S_1173] /* DVZ */, dbo.fn_Zukod_Stok_Son_Giris_Fiyati(sto_kod,NULL,0) AS [SON GİRİŞ FİYATI], dbo.fn_Zukod_Stok_Son_Giris_Fiyati(sto_kod,NULL,1) AS [ORTALAMA GİRİŞ FİYATI] FROM dbo.STOKLAR WITH (NOLOCK) LEFT OUTER JOIN dbo.STOK_SATIS_FIYATLARI_F1_D0_VIEW on sfiyat_stokkod = sto_kod AND sfiyat_satirno = 1 LEFT OUTER JOIN dbo.KUR_ISIMLERI_VIEW on KUR_NUMARASI = ISNULL(sfiyat_doviz,0) ORDER BY sto_kod

Merhaba
Enerji v15 kullanıyorum bu kodları dbanalizde yapabilme şansımız varmıdır.