DROP FUNCTION IF EXISTS dbo.fnGetOsztondijSzazalek GO CREATE FUNCTION dbo.fnGetOsztondijSzazalek ( @pBeszamitasosTanulo char(1) ,@pIsBeszamitasosFixSzazalek char(1) ,@pAtlag float ,@pCode nvarchar(10) ,@pFelevnelValtos char(1) ,@pIsSikeresAgazatiVizsga char(1) ,@pIsAtlagSzakkepzesi char(1) ) RETURNS int BEGIN RETURN CASE WHEN @pBeszamitasosTanulo = 'T' AND @pIsBeszamitasosFixSzazalek = 'T' THEN 16 WHEN @pBeszamitasosTanulo = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag) WHEN @pCode = '003' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag) WHEN @pFelevnelValtos = 'T' THEN CASE WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '001' THEN 8 WHEN @pIsSikeresAgazatiVizsga = 'F' AND @pCode = '002' THEN 16 WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'F' THEN 16 WHEN @pIsSikeresAgazatiVizsga = 'T' AND @pIsAtlagSzakkepzesi = 'T' THEN dbo.fnGetOsztondijSzazalekFromAtlag(@pAtlag) ELSE -1 END WHEN @pCode IN ('001','004','005') THEN 8 WHEN @pCode = '002' THEN 16 ELSE 0 END END GO