IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'[dbo].[CF_Clientes_Tipos_PFam_Validar]') 
                   and Type = 'FN' )
BEGIN
    DROP FUNCTION dbo.CF_Clientes_Tipos_PFam_Validar 
END
GO
CREATE FUNCTION dbo.CF_Clientes_Tipos_PFam_Validar (@pId_Tipo_Cli INT, @pId_Familia INT)
RETURNS SMALLINT
AS
BEGIN
DECLARE @Flag_categoria_PFam	SMALLINT
DECLARE @Existe_Categoria		SMALLINT
DECLARE @Cantidad				INT


SET @Existe_Categoria = ISNULL((SELECT COUNT(1) FROM Clientes_Tipos WHERE Id_Tipo_Cli = @pId_Tipo_Cli),0)
IF (@Existe_Categoria = 0) RETURN 0


SET @Cantidad = ISNULL((SELECT  COUNT(1) FROM Clientes_Tipos_PFam WHERE Id_Tipo_Cli = @pId_Tipo_Cli),0)

IF(@Cantidad= 0)
BEGIN
	SET @Flag_categoria_PFam = 1  -- Si  existe una familia devuelve 1
	RETURN @Flag_categoria_PFam
END
ELSE 
	SET @Flag_categoria_PFam = ISNULL((SELECT  MAX(1) FROM Clientes_Tipos_PFam WHERE Id_Tipo_Cli = @pId_Tipo_Cli AND Id_Familia= @pId_Familia),0)
	
RETURN ISNULL(@Flag_categoria_PFam,0)
END