USE [MikroDB_V16_HILAL2019] GO /****** Object: UserDefinedFunction [dbo].[fn_DepoyaGirecekSiparisMiktari] Script Date: 24.03.2021 20:03:43 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE FUNCTION [dbo].[mbt_DepoyaGirecekSiparisMiktari] (@cari_kodu nvarchar(25), @stok_kodu nvarchar(25), @depo int, @TesTar DateTime, @Onaylilar tinyint) -- 0:Onaysiz ; 1:Onayli ; 2:hepsi RETURNS float AS BEGIN DECLARE @VAL As Float SELECT @VAL=SUM(dbo.fn_Evrak_Kalan_Miktar(sip_miktar,sip_teslim_miktar,sip_kapat_fl)) FROM dbo.SIPARISLER WITH (NOLOCK) WHERE (sip_tip=1) AND sip_stok_kod = @stok_kodu AND -- Verilen sipariž ((sip_teslim_tarih <= @TesTar ) OR (@TesTar IS NULL)) And ( ((sip_OnaylayanKulNo=0) AND (@Onaylilar=0)) OR ((sip_OnaylayanKulNo<>0) AND (@Onaylilar=1)) OR (@Onaylilar=2) ) AND (sip_depono = @depo) AND (sip_musteri_kod = @cari_kodu) RETURN IsNULL(@VAL, 0) END ALTER FUNCTION [dbo].[mbt_VerilmesiGerekenSiparisMiktariHesapla2] (@DonemSonu As Float, @MinimumStokSeviyesi As Float, @MaksimumStokSeviyesi As Float, @KoliMiktari As int, @MusterideBekleyenMiktar As Float, @UreticideBekleyenMiktar As Float ) RETURNS float AS BEGIN --ILK BEGIN IF @KoliMiktari=0 BEGIN Set @KoliMiktari=1 END DECLARE @VAL As FLOAT DECLARE @BEKLEYENSIPARISFARKI AS FLOAT DECLARE @EKSIKMIKTAR AS FLOAT DECLARE @MODEKALAN AS INT SET @BEKLEYENSIPARISFARKI =@UreticideBekleyenMiktar - @MusterideBekleyenMiktar SET @EKSIKMIKTAR= @DonemSonu + @BEKLEYENSIPARISFARKI SET @VAL=0 DECLARE @VERILMESIGEREKENSIPARISFARKI AS FLOAT --1.IF IF @MinimumStokSeviyesi>0 IF @EKSIKMIKTAR<@MinimumStokSeviyesi BEGIN SET @VERILMESIGEREKENSIPARISFARKI = @MaksimumStokSeviyesi-@EKSIKMIKTAR END ELSE IF @EKSIKMIKTAR>=@MinimumStokSeviyesi AND @EKSIKMIKTAR<@MaksimumStokSeviyesi BEGIN SET @VERILMESIGEREKENSIPARISFARKI =0 END ELSE BEGIN SET @VERILMESIGEREKENSIPARISFARKI =0 END ELSE --1.IF BEGIN SET @VERILMESIGEREKENSIPARISFARKI=0 END IF @VERILMESIGEREKENSIPARISFARKI>0 BEGIN SET @MODEKALAN = CAST(@VERILMESIGEREKENSIPARISFARKI AS INT) % CAST(@KoliMiktari AS INT) if @MODEKALAN>0 BEGIN SET @VAL = CAST(@VERILMESIGEREKENSIPARISFARKI/@KoliMiktari AS INT ) * @KoliMiktari END ELSE BEGIN SET @VAL = CAST(@VERILMESIGEREKENSIPARISFARKI/@KoliMiktari AS INT ) * @KoliMiktari END END ELSE BEGIN SET @VAL=0 END IF @VAL is NULL SET @VAL=0 RETURN @VAL END