IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'[dbo].[SF_CB_Banelco]') 
                   and [type] = 'FN')
BEGIN
    DROP FUNCTION dbo.SF_CB_Banelco
END
GO

IF EXISTS ( SELECT * 
            FROM   sysobjects 
            WHERE  id = object_id(N'[dbo].[CF_Banelco_CB_TX]') 
                   and [type] = 'FN')
BEGIN
    DROP FUNCTION dbo.CF_Banelco_CB_TX
END
GO

CREATE FUNCTION [dbo].[CF_Banelco_CB_TX](@pId_Trans INT, @pImporte DECIMAL(12,2)) 
RETURNS CHAR(56)
AS
BEGIN

DECLARE @Retorno	CHAR(56)
DECLARE @aCuit		CHAR(11)
DECLARE @aId_Cliente CHAR(10)	/*Identificación del cliente en la empresa.  Se refiere a la identificación que deberá ingresar el cliente para poder pagar, que le sirve a la empresa para saber quien le está pagando. Son los números que componen el “concepto utilizado como ID del cliente” que la empresa completó en el formulario de adhesión.*/
DECLARE @aId_Trans	CHAR(15)	/*Identificación de la factura. Se refiere a la identificación particular de la factura que está pagando el cliente. No tiene que ser obligatoriamente el “Nro. de Factura”, sino que puede ser cualquier número que utilice la empresa para individualizar el pago (puede que para un mismo Nro. Referencia, haya varios Id. Factura, si un cliente tiene varias facturas a pagar).*/
DECLARE @aImporte	CHAR(12)	/*Importe de la factura para el 1er vencimiento. Formato: 10 enteros, 2 decimales, sin separadores*/
DECLARE @aFecha		CHAR(8)		/*Fecha del 1er vencimiento de la factura Formato: AAAAMMDD*/


SET @aCuit			= '99999999999'

SET @aId_Cliente	= (SELECT RIGHT('0000000000' + CAST(Id_Cliente AS VARCHAR), 10) FROM Cbtes WHERE Id_Trans = @pId_Trans)

SET @aId_Trans		= (SELECT RIGHT('000000000000000' + CAST(@pId_Trans AS VARCHAR), 15))

SET @aImporte		= (SELECT RIGHT('000000000000' + CAST(CAST(@pImporte * 100 AS INT) AS VARCHAR), 12))

SET @aFecha			= (	SELECT
						CAST(DATEPART(YY,Fecha_Venc) as CHAR(4)) + 
						RIGHT( '00' + CAST(DATEPART(mm,Fecha_Venc) AS VARCHAR),2) + 
						RIGHT( '00' + CAST(DATEPART(dd,Fecha_Venc) AS VARCHAR),2) 
						FROM Cbtes 
						WHERE 
						Id_Trans = @pId_Trans)

SET @Retorno =	@aCuit			+ 
				@aId_Cliente	+ 
				@aId_Trans		+ 
				@aImporte		+ 
				@aFecha 

RETURN ISNULL(@Retorno, '                                                        ')
END
