 IF  EXISTS (SELECT * FROM sys.objects 
            WHERE object_id = OBJECT_ID(N'[dbo].[UFD_DESCRICAO_DESC]') 
            AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))

/****** Object:  UserDefinedFunction [dbo].[UFD_DESCRICAO_DESC]    Script Date: 14/08/2013 16:42:21 ******/
DROP FUNCTION [dbo].[UFD_DESCRICAO_DESC]
GO

/****** Object:  UserDefinedFunction [dbo].[UFD_DESCRICAO_DESC]    Script Date: 14/08/2013 16:42:21 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO




CREATE FUNCTION [dbo].[UFD_DESCRICAO_DESC]    (@INT_TP_DESCONTO			INT, 
											   @INT_CD_TBL_DESC   		INT, 
											   @INT_TP_NIVEL		    INT) 
	RETURNS VARCHAR(255) AS 
	
BEGIN

-- SELECT * FROM dbo.UFD_DESCRICAO_DESC(1,3,1)

DECLARE @VAR_DESCONTO VARCHAR(255)

	IF @INT_TP_DESCONTO = 1
		SET @VAR_DESCONTO = 'Desconto produto'
	ELSE
	BEGIN
		IF @INT_TP_DESCONTO = 3
			SET @VAR_DESCONTO = 'Desconto convenio'
		ELSE
		BEGIN
			IF @INT_TP_DESCONTO = 4
				SET @VAR_DESCONTO = 'Desconto fidelidade'
			ELSE
			BEGIN
				IF @INT_TP_DESCONTO = 6
					SET @VAR_DESCONTO = 'Desconto oferta'
				ELSE
				BEGIN
					IF @INT_TP_DESCONTO = 11
						SET @VAR_DESCONTO = 'Desconto aniversário'
					ELSE
					BEGIN
						IF @INT_TP_DESCONTO = 12
							SET @VAR_DESCONTO = 'Desconto classificação cliente'
						ELSE
						BEGIN
							IF @INT_TP_DESCONTO = 13
								SET @VAR_DESCONTO = 'Desconto preço de fabrica'
							ELSE
							BEGIN
								IF @INT_TP_DESCONTO = 14
									SET @VAR_DESCONTO = 'Desconto quantidade acima'
								ELSE
								BEGIN
									IF @INT_TP_DESCONTO = 18
										SET @VAR_DESCONTO = 'Desconto forma de pagamento'
									ELSE
									BEGIN
										IF @INT_TP_DESCONTO = 21
											SET @VAR_DESCONTO = 'Desconto convênio customizado'
										ELSE
										BEGIN
											IF @INT_TP_DESCONTO = 23
												SET @VAR_DESCONTO = 'Desconto programado'
											ELSE
											BEGIN
												IF @INT_TP_DESCONTO = 24
													SET @VAR_DESCONTO = 'Desconto leve e paga'
												ELSE
													BEGIN
												IF @INT_TP_DESCONTO = 19
													SET @VAR_DESCONTO = 'Desconto crediário'
													ELSE
													BEGIN
												    IF @INT_TP_DESCONTO = 31
														SET @VAR_DESCONTO = 'Desconto Parceiro'
														ELSE
														BEGIN
															IF @INT_TP_DESCONTO = 28
																SET @VAR_DESCONTO = 'Desconto Cliente Especial'
														ELSE
															SET @VAR_DESCONTO = 'Sem desconto'
														END
													END
												END
											END
										END
									END
								END
							END
						END
					END				
				END
			END
		END
	END

	IF @INT_TP_NIVEL = 1 
		SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de produto'
	ELSE
	BEGIN
		IF @INT_TP_NIVEL = 2 
			SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de família'
		ELSE
		BEGIN
			IF @INT_TP_NIVEL = 3 
				SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de marca'
			ELSE
			BEGIN
				IF @INT_TP_NIVEL = 4 
					SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de fabricante'
				ELSE
				BEGIN
					IF @INT_TP_NIVEL = 5 
						SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de categoria'
					ELSE
					BEGIN
						IF @INT_TP_NIVEL = 6 
							SET @VAR_DESCONTO = @VAR_DESCONTO +  ' à nível de linha '
						ELSE
							SET @VAR_DESCONTO = @VAR_DESCONTO +  ' sem definição de nivel'
					END
				END
			END
		END
	END

	IF @INT_CD_TBL_DESC > 0 
		SET @VAR_DESCONTO = @VAR_DESCONTO +  ' na tabela de desconto ' + CAST ( @INT_CD_TBL_DESC AS VARCHAR);
	

	RETURN UPPER(@VAR_DESCONTO)
END	
	

GO


