--select [C6MartPeriodico].[CONCATENA] ( 'F', 'FF@83493 ') CREATE FUNCTION [C6MartPeriodico].[CONCATENA_20240225] ( @RETE as varchar(1), @CF as varchar(16) ) RETURNS VARCHAR(MAX) AS BEGIN -- Declare the return variable here DECLARE @RESULT AS VARCHAR(MAX) DECLARE @FIDUCIARIA AS CHAR(1) DECLARE @BROCHURE AS CHAR(1) declare @idFkzip int select @idFkzip=max(id_fk_zip) from c6martperiodico.gestione_pdf_ftp SET @RESULT ='' IF CHARINDEX('@', @CF) > 0 SET @FIDUCIARIA = 'S' ELSE SET @FIDUCIARIA = 'N' -- ***** LISTA DEI CAMPI E DELLE LUNGHEZZE ***** -- FlagFiduciaria (1) -- Rete (1) -- Brochure (1) -- Facciate(6) -- CppBollettini(2) -- IDENTIFICATIVODOCUMENTO(50) -- NOMINATIVODESTINATARIO(50) -- VIA(50) -- CAP(5) -- LOCALITA(50) -- PROVINCIA(2) -- NAZIONE(1) -- TIPOPOSTALIZZAZIONE(2) -- FILESPOOL(50) -- ALLEGATO1(1) -- ALLEGATO2(1) -- NAZIONEESTERA(30) SET @CF = REPLACE(@CF,'$$','@') SELECT @RESULT = @RESULT --V Inserimento nuovi flag + @FIDUCIARIA + @RETE + CASE WHEN CB.COD_FISCALE IS NULL THEN 'N' ELSE 'S' END --FINE INSERIMENTO NUOVI FLAG + + (right('000000' + cast(isnull(GESTIONE_PDF_FTP.numeroPagine,0) as varchar(6)),6) -- Facciate(6) + '00' --CppBollettini(2) + ' ' --IDENTIFICATIVODOCUMENTO(50) + LEFT(isnull(ANAG_CLIENTI.Nome,'NOME') + ' ' + ISNULL(ANAG_CLIENTI.Cognome,'COGNOME') + ' ',50) -- NOMINATIVODESTINATARIO(50) + LEFT(isnull(CONTRATTOSEI.Indirizzo,'') + ' ',50) --VIA(50) + LEFT(isnull(CONTRATTOSEI.CAP,'') + ' ',5) --CAP(5) + LEFT(isnull(CONTRATTOSEI.Citta,'') + ' ',50) --LOCALITA(50) + LEFT(isnull(CONTRATTOSEI.Prov,'') + ' ',2)--PROVINCIA(2) + (CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1) + 'PE' --TIPOPOSTALIZZAZIONE(2) -- + LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN '_MP' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50) + ISNULL( LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DP' WHEN 'M' THEN (CASE TIP_CONTRATTO WHEN 2 THEN '_PP' ELSE '_MP' END ) ELSE '_' + tiporeport END + ' ',50), '')--NOMEFILE(50) + case when CONTRATTOSEI.TIP_CONTRATTO<>'3' then '1' else '2' end -- case when len(isnull(cb.cod_fiscale,''))<=11 then '1' else '2' end --'0' --ALLEGATO1(1) + '1' --ALLEGATO2(1) se c'è piu di un allegato allora metti a 1 + LEFT((CASE UPPER(isnull(CONTRATTOSEI.Nazione,'')) WHEN 'ITALIA' THEN '' ELSE isnull(CONTRATTOSEI.Nazione,'') END) + ' ',30)) -- NAZIONEESTERA(30) -- EN20170406 -- + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Rol, 1) + right (' ' + COALESCE(C6MARTPERIODICO.CONTRATTOSEI.Rol, 'N'), 1) + right (' ' + C6MARTPERIODICO.CONTRATTOSEI.Cod_Fiscale, 16) + left (coalesce(C6MARTPERIODICO.CONTRATTOSEI.Email, '') + ' ', 50) + isnull( convert(char(8), [C6MartPeriodico].GESTIONE_PDF_FTP.DataGenerazione, 112) , '') + isnull(CONTRATTOSEI.COD_AGENTE , '') FROM [C6MartPeriodico].GESTIONE_PDF_FTP INNER JOIN C6MARTPERIODICO.CONTRATTOSEI ON CONTRATTOSEI.Rete = GESTIONE_PDF_FTP.Rete AND CONTRATTOSEI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale AND CONTRATTOSEI.Rete = @RETE AND CONTRATTOSEI.COD_FISCALE = @CF INNER JOIN [C6MartPeriodico].ANAG_CLIENTI ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale --V INSERIMENTO CLIENTI CON BROCHURE O ALLEGATO LEFT JOIN C6MARTPERIODICO.CLIENTI_BROCHURE CB ON CB.Rete = GESTIONE_PDF_FTP.Rete AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale left join C6MartPeriodico.wseian2 an on an.rete= GESTIONE_PDF_FTP.Rete AND an.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale -- WHERE --DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0 -- OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0) --Anche se un contratto è revocato ma abbiamo stampato il report questo va inviato --AND --c6mart.contrattosei.cod_fiscale like '%@%' isnull(data_Fineavanzato,cast('99991231' as datetime)) > c6martperiodico.getTrimestre(c6martperiodico.getTrimestre(getdate(),0),0) --356 EN20160212: 1264 e 1270 --(select max(id_fk_zip) -- from c6martperiodico.gestione_pdf_ftp --) order by tiporeport desc RETURN @RESULT END