﻿--select [C6MartPeriodicoImmobiliare].[CONCATENA] ( 'F', 'BRNLLN36A55L781D', 1503 )
CREATE FUNCTION [C6MartPeriodicoImmobiliare].[CONCATENA]
(
		@RETE as varchar(1),
    @CF as  varchar(16),
    @NomeFile as  varchar(18),
    @DataGenerazione as varchar(8)
)
RETURNS  VARCHAR(MAX)
AS
BEGIN
  -- Declare the return variable here
	DECLARE @RESULT AS  VARCHAR(MAX)
	SET @RESULT =''
	-- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE *****
		-- Rete (1)
		-- NOMINATIVODESTINATARIO(50)
		-- VIA(50)
		-- CAP(5)
		-- LOCALITA(50)
		-- PROVINCIA(2)
		-- NAZIONE(1)
		-- TIPOPOSTALIZZAZIONE(2)
		-- FILESPOOL(50)
		-- NAZIONEESTERA(30)
	SET @CF = REPLACE(@CF,'$$','@')
	SELECT		
		@RESULT = @RESULT 
		--V Inserimento nuovi flag
		+ @RETE
		--FINE INSERIMENTO NUOVI FLAG
		+ LEFT(isnull(C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Cognome,'COGNOME') + '                                                  ',50) -- NOMINATIVODESTINATARIO(50)
		+ LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Indirizzo,'') + '                                                  ',50) --VIA(50)
		+ LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.CAP,'') + '     ',5) --CAP(5)
		+ LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Citta,'') + '                                                  ',50) --LOCALITA(50)
		+ LEFT(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Prov,'') + '  ',2)--PROVINCIA(2)
		+ (CASE UPPER(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1)
		+ 'PE' --TIPOPOSTALIZZAZIONE(2)
    + LEFT (coalesce(@NomeFile, '') + '                                                  ', 50)
 		+ LEFT((CASE UPPER(isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Nazione,'') END) + '                               ',30) -- NAZIONEESTERA(30)
		+ right (' ' + COALESCE(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Rol, 'N'), 1) 
		+ right ('                ' + C6MartPeriodicoImmobiliare.CONTRATTOSEI.Cod_Fiscale, 16)
		+ left (coalesce(C6MartPeriodicoImmobiliare.CONTRATTOSEI.Email, '') + '                                                  ', 50)
    + @DataGenerazione
    + isnull(C6MartPeriodicoImmobiliare.CONTRATTOSEI.COD_AGENTE	, '')
    + C6MartPeriodicoImmobiliare.CONTRATTOSEI.CodiceContratto
	FROM C6MartPeriodicoImmobiliare.CONTRATTOSEI
  INNER JOIN C6MartPeriodicoImmobiliare.ANAG_CLIENTI 
    ON C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Rete = C6MartPeriodicoImmobiliare.CONTRATTOSEI.Rete
		AND C6MartPeriodicoImmobiliare.ANAG_CLIENTI.COD_FISCALE = C6MartPeriodicoImmobiliare.CONTRATTOSEI.Cod_Fiscale
    WHERE
		C6MartPeriodicoImmobiliare.ANAG_CLIENTI.Rete = @RETE
		AND C6MartPeriodicoImmobiliare.ANAG_CLIENTI.COD_FISCALE = @CF
	RETURN @RESULT
END