CREATE FUNCTION [dbo].[CF_Contrato_Descrip](@Id_Contrato INT)
RETURNS VARCHAR(400)
AS
BEGIN

DECLARE @Descripcion_Producto	VARCHAR(150) 
DECLARE @Descripcion_Total		VARCHAR(400) 
	
SET @Descripcion_Total =	(SELECT CT.Descripcion FROM Contratos_tipos CT, Contratos C 
							 WHERE	C.Id_Tipo_Con=CT.Id_Tipo_Con 
							 AND	C.Id_Contrato=@Id_Contrato)

------------------------------------------------------------------------
DECLARE Contratos_Productos CURSOR FOR
		SELECT P.Descripcion_Resumida FROM Productos P, Contratos_Tipos_Prod CT, Contratos C
				WHERE	P.Id_Producto = CT.Id_Producto
				AND		C.Id_Tipo_Con= CT.Id_Tipo_Con 
				AND		C.Id_Contrato=@Id_Contrato

OPEN Contratos_Productos
FETCH NEXT FROM Contratos_Productos	INTO @Descripcion_Producto

WHILE @@FETCH_STATUS = 0
BEGIN
	IF  ISNULL(@Descripcion_Total,'')=''
		SET @Descripcion_Total = LTRIM(RTRIM(@Descripcion_Producto))
	ELSE
		SET @Descripcion_Total = LTRIM(RTRIM(ISNULL(@Descripcion_Total, ''))) + ' - ' + ISNULL(@Descripcion_Producto,'')
										
	FETCH NEXT FROM Contratos_Productos	INTO @Descripcion_Producto 
END
CLOSE Contratos_Productos
DEALLOCATE Contratos_Productos;

------------------------------------------------------------------------
DECLARE Contratos_Tipos_Productos CURSOR FOR
		SELECT P.Descripcion_Resumida FROM Productos P, Contratos_Prod CP 
				WHERE	P.Id_Producto = CP.Id_Producto 
				AND		CP.Id_Contrato = @Id_Contrato

OPEN Contratos_Tipos_Productos
FETCH NEXT FROM Contratos_Tipos_Productos INTO @Descripcion_Producto 
WHILE @@FETCH_STATUS = 0
BEGIN
	IF  ISNULL(@Descripcion_Total,'')=''
		SET @Descripcion_Total=LTRIM(RTRIM(@Descripcion_Producto))
	ELSE
		SET @Descripcion_Total=LTRIM(RTRIM(ISNULL(@Descripcion_Total, '')))+', '+ ISNULL(@Descripcion_Producto,'')
	FETCH NEXT FROM Contratos_Tipos_Productos INTO @Descripcion_Producto
END
CLOSE Contratos_Tipos_Productos
DEALLOCATE Contratos_Tipos_Productos;
						 
						  
RETURN ISNULL(@Descripcion_Total,'')
END

