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

90 lines
3.5 KiB
Transact-SQL

CREATE FUNCTION [C6Mart].[CONCATENA_20181210_DoppioROL]
(
@RETE as varchar(1),
@CF as varchar(16)
)
RETURNS VARCHAR(MAX)
AS
BEGIN
-- Declare the return variable here
-- Declare the return variable here
DECLARE @RESULT AS VARCHAR(MAX)
DECLARE @FIDUCIARIA AS CHAR(1)
DECLARE @BROCHURE AS CHAR(1)
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)
-- FC 24/02/2014
-- MOdifica accesso tabella C6MART.ContrattoSei NON PIU GESTITA con tabella C6Mart.VContratti
-- Gestione Data FineAvanzato ( datat chiusura contratto ) con valore convenzionale 9999/12/31
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(v.Indirizzo + ' ',50) --VIA(50)
+ LEFT(ISNULL(v.CAP,'') + ' ',5) --CAP(5)
+ LEFT(v.Citta + ' ',50) --LOCALITA(50)
+ LEFT(ISNULL(v.Provincia,'') + ' ',2)--PROVINCIA(2)
+ (CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN 'I' ELSE 'E' END) -- IoE(1)
+ 'PE' --TIPOPOSTALIZZAZIONE(2)
+ LEFT(GESTIONE_PDF_FTP.NomeFile + CASE tiporeport WHEN 'D' THEN '_DW' ELSE '_' + tiporeport END + ' ',50)--NOMEFILE(50)
+ '0' --ALLEGATO1(1)
+ '0' --ALLEGATO2(1)
+ LEFT((CASE UPPER(v.Nazione) WHEN 'ITALIA' THEN '' ELSE v.Nazione END) + ' ',30)) -- NAZIONEESTERA(30)
--+ '>>>'
+ right (' ' + CASE WHEN ISNULL(ROL.STATOROL,'N') = 'S' THEN 'S' ELSE 'N' END, 1)
--+ right (' ' + v.flagRol, 1)
--+ '<<<'
+ right (' ' + v.Cod_Fiscale, 16)
+ left (coalesce(v.Email, '') + ' ', 50)
+ convert(char(8),GESTIONE_PDF_FTP.DataGenerazione, 112)
+ v.COD_AGENTE
FROM C6MART.GESTIONE_PDF_FTP
INNER JOIN C6MART.Vcontratti v
ON v.Rete = GESTIONE_PDF_FTP.Rete
AND v.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
AND v.Rete = @RETE
AND v.COD_FISCALE = @CF
INNER JOIN C6MART.ANAG_CLIENTI
ON ANAG_CLIENTI.Rete = GESTIONE_PDF_FTP.Rete
AND ANAG_CLIENTI.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
INNER JOIN C6Staging.WSROL ROL
ON ROL.CODFIS = GESTIONE_PDF_FTP.CodiceFiscale
AND ROL.RETE = GESTIONE_PDF_FTP.RETE
LEFT JOIN C6MART.CLIENTI_BROCHURE CB
ON CB.Rete = GESTIONE_PDF_FTP.Rete
AND CB.COD_FISCALE = GESTIONE_PDF_FTP.CodiceFiscale
WHERE (DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvio,GETDATE()) = 0
OR DATEDIFF(DAY,GESTIONE_PDF_FTP.DataInvioRistampa,GETDATE()) = 0)
AND convert(varchar(10),v.data_fineAvanzato,112) = '99991231'
--order by tiporeport desc
RETURN @RESULT
END