ALTER PROCEDURE [dbo].[CP_Cliente_Ref_Borrar] @Int INT,@Tit INT
AS

DECLARE @MensajeFinEjec		VARCHAR(100)

IF @Int = 0 
BEGIN
	SELECT 1, 0, 0, 0, 'El cliente no puede ser 0 (cero)'
	RETURN
END

IF @Tit = 0
BEGIN
	SELECT 1, 0, 0, 0, 'El cliente de referencia no puede ser 0 (cero)'
	RETURN
END





BEGIN TRY
	BEGIN TRAN

	SET @MensajeFinEjec = 'Proceso Exitoso'

	IF CAST(dbo.CF_xParam('Cli_Ref_CtaCte_Agrup') as INT ) <> 0
	BEGIN
		UPDATE Cbtes_Items SET Id_Cliente = @Int
		FROM Cbtes C, Cbtes_Items I,Cbtes_Tipos T
		WHERE C.id_Tipo_Cbte = T.Id_Tipo_Cbte
		AND (T.Compromete_Factura IN (1,-1) OR T.Compromete_Recibos IN (1,-1))
		AND I.Id_Trans = C.Id_Trans
		AND ISNULL(I.id_Cliente,0) = 0
		AND C.Id_Cliente =  @Int 

		UPDATE Cbtes SET Id_Cliente = @Tit , Destinatario = LTRIM(RTRIM(Destinatario)) + ' - ' + LTRIM(RTRIM(E.Razon_Social))
		FROM Cbtes C, Cbtes_Tipos T,Clientes E
		WHERE C.id_Tipo_Cbte = T.Id_Tipo_Cbte
		AND (T.Compromete_Factura IN (1,-1) OR T.Compromete_Recibos IN (1,-1))
		AND E.Id_Cliente =  @Tit
		AND C.Id_Cliente =  @Int 

		UPDATE Clientes_CtaCte SET Id_Cliente = @Tit
		WHERE Id_Cliente =  @Int 
	END

	UPDATE Clientes SET Id_Cliente_Ref = 0 WHERE Id_Cliente = @Int
	----------------------------------------------------
	COMMIT
	
	SELECT 0, 0, 0, 0, @MensajeFinEjec
END TRY

BEGIN CATCH  
    EXECUTE usp_GetErrorInfo;  
	ROLLBACK
END CATCH
