PDC_REPORT_CreazioneDB/sql/Collaudo/funzioni/C6MartPeriodicoImmobiliare_CONCATENA.sql
2025-06-10 15:29:00 +02:00

55 lines
2.8 KiB
Transact-SQL

--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