You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ITSM/.svn/pristine/b8/b8c255816a4850908acf73dea88...

55 lines
3.6 KiB

USE [Vertragsverwaltung_20160404]
GO
/****** Object: UserDefinedFunction [dbo].[get_arbeitstage] Script Date: 02.12.2016 09:08:53 ******/
DROP FUNCTION [dbo].[get_arbeitstage]
GO
/****** Object: UserDefinedFunction [dbo].[get_arbeitstage] Script Date: 02.12.2016 09:08:55 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date, ,>
-- Description: <Description, ,>
-- =============================================
CREATE FUNCTION [dbo].[get_arbeitstage]
(
@madetailnr INT,
@jahr int,
@monat INT
)
RETURNS float
AS
BEGIN
DECLARE @SOLL INT
DECLARE @Netto INT
DECLARE @oenr INT
DECLARE @Individuelle_Reduktion float
DECLARE @reduktion_nicht_verrechenbar int
DECLARE @valuefound INT
SET @valuefound=-1
SET @Individuelle_Reduktion=0
SELECT @Individuelle_Reduktion=Individuelle_Reduktion, @oenr=oenr FROM dbo.MADetails WHERE MADetailNr=@madetailnr
WHILE @valuefound<0 BEGIN
SELECT @reduktion_nicht_verrechenbar=ISNULL(reduktion_nicht_verrechenbar,0),@oenr=parentid FROM oe WHERE oenr=@oenr
IF @reduktion_nicht_verrechenbar>0 SET @valuefound=1
IF @oenr = 0 BEGIN
SET @valuefound=2
IF @reduktion_nicht_verrechenbar=0 SET @reduktion_nicht_verrechenbar=0
END
end
IF @Individuelle_Reduktion > 0 SET @Individuelle_Reduktion=@Individuelle_Reduktion/12
DECLARE @res float
SELECT @res = Plantage FROM jahrestabelle WHERE jahr=@jahr AND monat=@monat
SET @res=@res*((100-@reduktion_nicht_verrechenbar))/100
SET @res=@res - @Individuelle_Reduktion
SET @res=ROUND(@res,2)
--SELECT @res = Arbeitstage FROM jahrestabelle WHERE jahr=@jahr AND monat=@monat
RETURN @res
END
GO