PDC_REPORT_CreazioneDB/sql/storedProduzione/C6MartPeriodico_DM_PATRIMONIO_BF.sql
2025-06-06 19:02:52 +02:00

815 lines
26 KiB
Transact-SQL

CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF]
AS
BEGIN
-- riportare le logiche nelle rispettive sp di PL
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
DECLARE @TIPO_ELAB VARCHAR(1)
SET @ID_ELAB = C6MartPeriodico.GETIDELAB()
SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_PATRIMONIO_BF',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF
SELECT
CONTRATTOSINTESI.RETE AS RETE,
CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
CONTRATTOSINTESI.POSITIONID AS POSITIONID,
SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO,
CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
END AS DATA_SOTTOSCRIZIONE,
NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
CONTRATTOSINTESI.MAF AS COD_MAF,
CONTRATTOSINTESI.CODINT AS COD_INTERNO,
CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
CASE
WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti'
ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))
END AS NOME_PROGETTO,
PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,
CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,
CASE
WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
NULL AS DATA_REGOLAMENTO,
CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
CONTRATTOSINTESI.CTV AS CTV,
CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
NULL AS VERSATO_NETTO,
CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
CASE
WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
END AS DATA_PARTVIA_DISINV,
--PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,
NULL AS PARTVIA_INV,
--CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
CASE
WHEN (CONTRATTOSINTESI.TIPPROD = 'GE'
OR CONTRATTOSINTESI.TIPPROD = 'GES')
AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME)
THEN NULL
WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
THEN NULL
--Modifica Luca
WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
THEN NULL
--
ELSE CONTRATTOSINTESI.RENDINIZ
END AS REND_SOTTOSCRIZIONE,
NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
CASE
WHEN (CONTRATTOSINTESI.TIPPROD = 'GE'
OR CONTRATTOSINTESI.TIPPROD = 'GES')
AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME)
THEN NULL
WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')
THEN NULL
--Modifica Luca
WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')
THEN NULL
--
ELSE CONTRATTOSINTESI.RENDANNO
END AS REND_ANNO,
0 AS REND_NON_RAPPR,
PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,
C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,
C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,
CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA,
ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS,
PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF,
0 AS EXTRANAC,
KAT.STRTYPE,
KAT.COMPLEX,
MIT.DESCR AS EMITTENTE,
CONTRATTOSINTESI.ISIN,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB
INTO #PATRIMONIO
FROM
[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI
INNER JOIN
C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO
ON
ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE
AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS
AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale
INNER JOIN
C6STAGINGPERIODICO.POSITION AS POSITION
ON
POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID
INNER JOIN
C6STAGINGPERIODICO.CONSUL AS CONSUL
ON
CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23
AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata'
INNER JOIN
C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL
ON
PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629
INNER JOIN
C6STAGINGPERIODICO.CONSAREA AS CONSAREA
ON
CONSAREA.OID$ = PRCONSUL.F_PCONSULENZ_B69E4
INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
ON
KAT.oid$ = POSITION.f_oid$_posit_00526
left join
C6STAGINGPERIODICO.EMIT MIT
ON KAT.CODEMI= MIT.CODEMI
LEFT JOIN
C6STAGINGPERIODICO.C_BO_453FB
ON C_BO_453FB.PK_PRC = PRCONSUL.OID$
WHERE
CONTRATTOSINTESI.POSITIONID IS NOT NULL
and CONTRATTOSINTESI.tipprod <> 'CC' --TRINGALI
--da eliminare Trimestrale Ottobre 12
--and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--da eliminare Trimestrale Gen 2013
-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--(
--'F-DLMSFN62L10F464C',
--'S-FF@7888',
--'F-TRLGNI38T10D325V',
--'F-SRRGNE58T04H981R',
--'F-MGLNTN55C23L259M',
--'F-TRFRLM68H67F132X',
--'F-CNTLNE72B50H501I',
--'S-FRLFRC77A42H501Z'
--)
UNION ALL -- MODIFICA FATTA PER AVERE I CONTI CORRENTI 26 NOVEMBRE (MAURIZIO)
--aggiunta consulenza per recuperare il cod progetto
SELECT
CONTRATTOSINTESI.RETE AS RETE,
CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
CONTRATTOSINTESI.POSITIONID AS POSITIONID,
SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO,
CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
END AS DATA_SOTTOSCRIZIONE,
NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
CONTRATTOSINTESI.MAF AS COD_MAF,
CONTRATTOSINTESI.CODINT AS COD_INTERNO,
CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
NULL AS NOME_PROGETTO,
'' AS TIPO_PROGETTO,
CASE WHEN CONTRATTOSINTESI.CTV>0 THEN 'Liq' ELSE 'Cc' END AS ID_AREA,
CASE
WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
NULL AS DATA_REGOLAMENTO,
CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
CONTRATTOSINTESI.CTV AS CTV,
CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
NULL AS VERSATO_NETTO, --CONTRATTOSINTESI.CVN AS VERSATO_NETTO,
CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
CASE
WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
END AS DATA_PARTVIA_DISINV,
NULL AS PARTVIA_INV, --PARTITEVIAGGIANTI.IMPORTOVERSATO AS PARTVIA_INV,
CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
CONTRATTOSINTESI.RENDANNO AS REND_ANNO,
0 AS REND_NON_RAPPR,
PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,
null AS ORIZZ_TEMP_NUM,
NULL AS ORIZZ_TEMP,
NULL AS STATO_CONSULENZA,
NULL AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
NULL AS DATA_MIGR_CONS,
NULL AS DATA_PIANIF,
0 AS EXTRANAC,
KAT.STRTYPE,
KAT.COMPLEX,
MIT.DESCR AS EMITTENTE,
CONTRATTOSINTESI.ISIN,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB
FROM
[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI
INNER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID
LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT
ON MIT.CODEMI=KAT.CODEMI
INNER JOIN
C6STAGINGPERIODICO.ALL_CF_STATO AS ALL_CF_STATO
ON
ALL_CF_STATO.RETE = CONTRATTOSINTESI.RETE
AND ALL_CF_STATO.CF_CLIENTE = CONTRATTOSINTESI.CODFIS
AND ALL_CF_STATO.FLAG_UTILIZZO_STATO = 1 --Attuale
INNER JOIN
C6STAGINGPERIODICO.POSITION AS POSITION
ON
POSITION.POSITIONID = CONTRATTOSINTESI.POSITIONID
INNER JOIN
C6STAGINGPERIODICO.CONSUL AS CONSUL
ON
CONSUL.OID$ = POSITION.F_PCONSULENZ_56F23
AND CONSUL.TYPE$_TIPOCO_1EA7C = ALL_CF_STATO.STATO_CONSULENZA --'AttivaAggiornata'
INNER JOIN
C6STAGINGPERIODICO.PRCONSUL AS PRCONSUL
ON
PRCONSUL.OID$ = POSITION.F_PPROJECT_P_B5629
WHERE
TIPPROD = 'CC'
--and CONTRATTOSINTESI.CODFIS not in ('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PATRIMONIO_BF' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_PATRIMONIO_BF'
)
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_PATRIMONIO_BF2',
GETDATE(),
'Elaborazione trimestrale'
)
INSERT INTO C6MartPeriodico.[PATRIMONIO_BF]
([RETE]
,[COD_FISCALE]
,[POSITION_ID]
,[COD_PRODOTTO]
,[ID_CONTRATTO]
,[DATA_SOTTOSCRIZIONE]
,[COD_STATO]
,[NUM_POLIZZA]
,[COD_MAF]
,[COD_INTERNO]
,[COD_SOTTOPRODOTTO]
,[TIPO_PRODOTTO]
,[NOME_PROGETTO]
,[TIPO_PROGETTO]
,[ID_AREA]
,[DATA_OPERAZIONE]
,[DATA_VALUTA]
,[DATA_REGOLAMENTO]
,[QUANTITA]
,[PREZZO]
,[CTV]
,[CTV_NOMINALE]
,[VERSATO_NETTO]
,[PARTVIA_DISINV]
,[DATA_PARTVIA_DISINV]
,[PARTVIA_INV]
,[REND_SOTTOSCRIZIONE]
,[REND_TRIMESTRE]
,[REND_ANNO]
,[REND_NON_RAPPR]
,[ORDINAMENTO_PROGETTO]
,[ORIZZ_TEMP_NUM]
,[ORIZZ_TEMP]
,[STATO_CONSULENZA]
,[DATA_STATO_CONS]
,[DATA_MIGR_CONS]
, [DATA_PIANIF]
,[EXTRANAC]
,[STRTYPE]
,[COMPLEX]
,[EMITTENTE]
,[ISIN]
,[ID_ELAB]
,[TIPO_ELAB])
SELECT
RETE,
COD_FISCALE,
POSITIONID,
COD_PRODOTTO,
ID_CONTRATTO,
DATA_SOTTOSCRIZIONE,
COD_STATO,
NUM_POLIZZA,
COD_MAF,
COD_INTERNO,
COD_SOTTOPRODOTTO,
TIPO_PRODOTTO,
NOME_PROGETTO,
TIPO_PROGETTO,
ID_AREA,
DATA_OPERAZIONE,
DATA_VALUTA,
DATA_REGOLAMENTO,
QUANTITA,
PREZZO,
CTV,
CTV_NOMINALE,
VERSATO_NETTO,
PARTVIA_DISINV,
DATA_PARTVIA_DISINV,
PARTVIA_INV,
REND_SOTTOSCRIZIONE,
REND_TRIMESTRE,
REND_ANNO,
REND_NON_RAPPR,
ORDINAMENTO_PROGETTO,
ORIZZ_TEMP_NUM,
ORIZZ_TEMP,
STATO_CONSULENZA,
DATA_STATO_CONS,
DATA_MIGR_CONS,
DATA_PIANIF,
EXTRANAC,
STRTYPE,
COMPLEX,
EMITTENTE,
ISIN,
@ID_ELAB,
@TIPO_ELAB
FROM #PATRIMONIO
UNION ALL -- MODIFICA PER AVERE TUTTI I PRODOTTI NON ALLOCATI
SELECT
CONTRATTOSINTESI.RETE AS RETE,
CONTRATTOSINTESI.CODFIS AS COD_FISCALE,
CONTRATTOSINTESI.POSITIONID AS POSITIONID,
SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO,
CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,
CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)
END AS DATA_SOTTOSCRIZIONE,
NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,
CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,
CONTRATTOSINTESI.MAF AS COD_MAF,
CONTRATTOSINTESI.CODINT AS COD_INTERNO,
CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,
CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,
LTRIM(RTRIM(NEWPOSITION.NOME_PROGETTO)) AS NOME_PROGETTO,
'' AS TIPO_PROGETTO,
--V Modifica fatta per riallocare correttamente un cc che scende dallo scarico della wseics e non è presente in consulenza e in proposta,
--altrimenti verrebbe allocato a 'Na'
CASE
WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV < 0) THEN 'CC'
--------------------------------------------------------------------------------------------------
--modificato Emanuele
--WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'LIQ'
WHEN(CONTRATTOSINTESI.TIPPROD = 'CC' AND CONTRATTOSINTESI.CTV >= 0) THEN 'Liq'
--------------------------------------------------------------------------------------------------
ELSE ISNULL(NEWPOSITION.NEED_BREVE,'Na')
END AS ID_AREA,
CASE
WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)
END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,
NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY
NULL AS DATA_REGOLAMENTO,
CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,
NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,
CONTRATTOSINTESI.CTV AS CTV,
CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,
NULL AS VERSATO_NETTO,
CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,
CASE
WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL
ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)
END AS DATA_PARTVIA_DISINV,
--PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,
NULL AS PARTVIA_INV,
CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,
NULL AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,
CONTRATTOSINTESI.RENDANNO AS REND_ANNO,
0 AS REND_NON_RAPPR,
NULL AS ORDINAMENTO_PROGETTO,
ORIZZ_TEMP_NUM,
ORIZZ_TEMP,
STATO_CONSULENZA,
DATA_STATO_CONS,
DATA_MIGR_CONS,
DATA_PIANIF,
0 AS EXTRANAC,
KAT.STRTYPE,
KAT.COMPLEX,
MIT.DESCR AS EMITTENTE,
CONTRATTOSINTESI.ISIN,
@ID_ELAB,
@TIPO_ELAB
FROM
[C6StagingPeriodico].[SPB_CONTR_SINTESI] AS CONTRATTOSINTESI
LEFT JOIN
#PATRIMONIO AS PATR
ON
CONTRATTOSINTESI.RETE = PATR.RETE
AND CONTRATTOSINTESI.CODFIS = PATR.COD_FISCALE
AND CONTRATTOSINTESI.POSITIONID = PATR.POSITIONID
LEFT OUTER JOIN C6STAGINGPERIODICO.CATITEMREF KAT
ON SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57)=KAT.CATALOGUEID
LEFT OUTER JOIN C6STAGINGPERIODICO.EMIT MIT
ON MIT.CODEMI=KAT.CODEMI
LEFT JOIN C6STAGINGPERIODICO.vNewPositionProposta NEWPOSITION
ON
CONTRATTOSINTESI.RETE = NEWPOSITION.RETE
AND CONTRATTOSINTESI.CODFIS = NEWPOSITION.CODICEFISCALE
AND CONTRATTOSINTESI.POSITIONID = NEWPOSITION.positionIDProposta
WHERE
CONTRATTOSINTESI.POSITIONID IS NOT NULL
AND PATR.POSITIONID IS NULL
--da eliminare Trimestrale Gen 2013
-- and CONTRATTOSINTESI.RETE + '-' + CONTRATTOSINTESI.CODFIS not in --('CLNNNL71B67L259H', 'DNGFNC69C09E472H')
--(
--'F-DLMSFN62L10F464C',
--'S-FF@7888',
--'F-TRLGNI38T10D325V',
--'F-SRRGNE58T04H981R',
--'F-MGLNTN55C23L259M',
--'F-TRFRLM68H67F132X',
--'F-CNTLNE72B50H501I',
--'S-FRLFRC77A42H501Z'
--)
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PATRIMONIO_BF2' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_PATRIMONIO_BF2'
)
DROP TABLE #PATRIMONIO
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_PATRIMONIO_BF3',
GETDATE(),
'Elaborazione trimestrale'
)
-- AGGIORNAMENTO PRODOTTI EXTRA NAC
--
-- SELECT
-- MISS.POSITIONID,
-- MISS.CODFIS AS COD_FISCALE,
-- MISS.RETE,
-- C_NEEDAREA_V_46360 AS ID_AREA,
-- C_PROJECTNAM_11D1A AS NOME_PROGETTO,
-- C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
-- INTO #MISS_PAST
-- FROM
-- (
-- SELECT A.POSITIONID, CODFIS, RETE
-- FROM
-- C6STAGINGPERIODICO.SPB_CONTR_SINTESI A
-- LEFT OUTER JOIN
-- (
-- SELECT D.POSITIONID, A.ADBKID, A.INSTID
-- FROM
-- C6STAGINGPERIODICO.CONSUL A,
-- C6STAGINGPERIODICO.PRCONSUL B,
-- C6STAGINGPERIODICO.CONSAREA C,
-- C6STAGINGPERIODICO.POSITION D,
-- C6STAGINGPERIODICO.ALL_CF_STATO F
-- WHERE
-- 1=1
-- AND A.OID$ = C.F_PCONSULENZ_7FBE3
-- AND B.OID$ = D.F_PPROJECT_P_B5629
-- AND C.OID$ = B.F_PCONSULENZ_B69E4
-- AND F.RETE = A.INSTID
-- AND F.CF_CLIENTE = A.ADBKID
-- AND F.FLAG_UTILIZZO_STATO = 1
-- AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA
-- and C.C_NEEDAREA_V_46360 <> 'Cc'
-- ) B
-- ON
-- B.POSITIONID=A.POSITIONID
-- AND B.ADBKID=A.CODFIS
-- AND B.INSTID=A.RETE
-- WHERE
-- B.POSITIONID IS NULL
-- ) MISS,
-- (
-- SELECT D.POSITIONID,
-- A.ADBKID, A.INSTID,
-- C.C_NEEDAREA_V_46360,
-- TYPE$_PROJEC_14674,
-- C_PROJECTNAM_11D1A,
-- C_PROJECTIDM_1AF31
-- FROM
-- C6STAGINGPERIODICO.CONSUL A,
-- C6STAGINGPERIODICO.PRCONSUL B,
-- C6STAGINGPERIODICO.CONSAREA C,
-- C6STAGINGPERIODICO.POSITION D
-- WHERE
-- 1=1
-- AND A.OID$ = C.F_PCONSULENZ_7FBE3
-- AND B.OID$ = D.F_PPROJECT_P_B5629
-- AND C.OID$ = B.F_PCONSULENZ_B69E4
-- AND A.TYPE$_TIPOCO_1EA7C = 'Attiva'
-- and C.C_NEEDAREA_V_46360 <> 'Cc'
-- ) PAST
-- WHERE
-- MISS.POSITIONID=PAST.POSITIONID
-- AND MISS.CODFIS=PAST.ADBKID
--- MISS
SELECT A.POSITIONID, CODFIS, RETE
into #MISS
FROM
C6STAGINGPERIODICO.SPB_CONTR_SINTESI A
LEFT OUTER JOIN
(
SELECT D.POSITIONID, A.ADBKID, A.INSTID
FROM
C6STAGINGPERIODICO.CONSUL A,
C6STAGINGPERIODICO.PRCONSUL B,
C6STAGINGPERIODICO.CONSAREA C,
C6STAGINGPERIODICO.POSITION D,
C6STAGINGPERIODICO.ALL_CF_STATO F
WHERE
1=1
AND A.OID$ = C.F_PCONSULENZ_7FBE3
AND B.OID$ = D.F_PPROJECT_P_B5629
AND C.OID$ = B.F_PCONSULENZ_B69E4
AND F.RETE = A.INSTID
AND F.CF_CLIENTE = A.ADBKID
AND F.FLAG_UTILIZZO_STATO = 1
AND A.TYPE$_TIPOCO_1EA7C = F.STATO_CONSULENZA
--and C.C_NEEDAREA_V_46360 <> 'Cc'
and D.type$_catalo_35E2a <> 'ContiCorrenti'
) B
ON
B.POSITIONID=A.POSITIONID
AND B.ADBKID=A.CODFIS
AND B.INSTID=A.RETE
WHERE
B.POSITIONID IS NULL
-- PAST
SELECT D.POSITIONID,
A.ADBKID, A.INSTID,
C.C_NEEDAREA_V_46360,
TYPE$_PROJEC_14674,
C_PROJECTNAM_11D1A,
C_PROJECTIDM_1AF31
into #PAST
FROM
C6STAGINGPERIODICO.CONSUL A,
C6STAGINGPERIODICO.PRCONSUL B,
C6STAGINGPERIODICO.CONSAREA C,
C6STAGINGPERIODICO.POSITION D
WHERE
1=1
AND A.OID$ = C.F_PCONSULENZ_7FBE3
AND B.OID$ = D.F_PPROJECT_P_B5629
AND C.OID$ = B.F_PCONSULENZ_B69E4
AND A.TYPE$_TIPOCO_1EA7C = 'Attiva'
--and C.C_NEEDAREA_V_46360 <> 'Cc'
and D.type$_catalo_35E2a <> 'ContiCorrenti'
SELECT
MISS.POSITIONID,
MISS.CODFIS AS COD_FISCALE,
MISS.RETE,
C_NEEDAREA_V_46360 AS ID_AREA,
C_PROJECTNAM_11D1A AS NOME_PROGETTO,
C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
INTO #miss_PAST
FROM
#MISS miss,
#PAST past
WHERE
MISS.POSITIONID=PAST.POSITIONID
AND MISS.CODFIS=PAST.ADBKID
UPDATE
PATR_BF
SET
PATR_BF.ID_AREA = MISS_PAST.ID_AREA,
PATR_BF.NOME_PROGETTO = MISS_PAST.NOME_PROGETTO,
PATR_BF.ORDINAMENTO_PROGETTO = MISS_PAST.ORDINAMENTO_PROGETTO,
PATR_BF.EXTRANAC = 1
FROM
C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
INNER JOIN #MISS_PAST AS MISS_PAST
ON PATR_BF.RETE = MISS_PAST.RETE
AND PATR_BF.COD_FISCALE = MISS_PAST.COD_FISCALE
AND PATR_BF.POSITION_ID = MISS_PAST.POSITIONID
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'UPDATE',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PATRIMONIO_BF3' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_PATRIMONIO_BF3'
)
DROP TABLE #MISS_PAST
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_PATRIMONIO_BF4',
GETDATE(),
'Elaborazione trimestrale'
)
-- IMPOSTA IL FLAG DEI PRODOTTI CON RENDIMENTO NON RAPPRESENTABILE
UPDATE
PATR_BF
SET
PATR_BF.REND_NON_RAPPR = 1
FROM
(
SELECT
TSCA.RETE,
TSCA.CODFIS,
C6StagingPeriodico.RP_Info_DaProdottoCSaCatalogo(
TSCA.TIPPROD,
PRC.COD_INTERNO,
PRC.COD_MAF,
'',
TSCA.SUBPROD
)
+
dbo.Crea_positionID(
TSCA.TIPPROD,
PRC.COD_INTERNO,
PRC.COD_MAF,
'',
TSCA.SUBPROD,
TSCA.CODCONF,
PRC.NUMPOL,
TSCA.CONTO,
TSCA.RUBR,
TSCA.CUSTGAR,
TSCA.TERMID,
TSCA.ANNO,
TSCA.PROG
) AS POSITION_ID
FROM
C6StagingPeriodico.TSCABP AS TSCA
inner join
C6StagingPeriodico.tcptab as TCP
ON TCP.CODFIS=TSCA.CODFIS
AND TCP.RETE=TSCA.RETE
AND TCP.CODCONF=TSCA.CODCONF
AND TCP.CODPROG=TSCA.CODPROG
AND TCP.CODPROD=TSCA.CODPROD
AND TCP.CONTO=TSCA.CONTO
AND TCP.CUSTGAR=TSCA.CUSTGAR
AND TCP.CODABI=TSCA.CODABI
AND ISNULL(TCP.PROG,'XXX')=ISNULL(TSCA.PROG,'XXX')
AND ISNULL(TCP.TERMID,'XXX')=ISNULL(TSCA.TERMID,'XXX')
AND ISNULL(TCP.ANNO,'XXX')=ISNULL(TSCA.ANNO,'XXX')
INNER JOIN
C6StagingPeriodico.ALL_POS_CONS_CAT AS PRC ON
TSCA.CODPROG = PRC.ID_MONITORAGGIO
AND TSCA.CODCONF = PRC.CONTRATTO
AND REPLACE(TSCA.SUBPROD, ' ', '$') = PRC.COD_SOTTOPRODOTTO
AND TCP.CODINT = PRC.COD_INTERNO
WHERE
TSCA.DTRIF <> 0
) REND_NON_RAPPR
INNER JOIN C6MartPeriodico.PATRIMONIO_BF AS PATR_BF
ON PATR_BF.RETE = REND_NON_RAPPR.RETE
AND PATR_BF.COD_FISCALE = --V REND_NON_RAPPR.CODFIS --FF@4546 4546
CASE WHEN(SUBSTRING(PATR_BF.COD_FISCALE,1,3) = 'FF@') THEN 'FF@'+REND_NON_RAPPR.CODFIS
ELSE REND_NON_RAPPR.CODFIS
END
AND PATR_BF.POSITION_ID = REND_NON_RAPPR.POSITION_ID
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'UPDATE',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PATRIMONIO_BF4' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_PATRIMONIO_BF4'
)
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_PATRIMONIO_BF5',
GETDATE(),
'Elaborazione trimestrale'
)
SELECT
ALL_CF_PB.RETE_PB AS RETE,
ALL_CF_PB.CODICE_FISCALE AS COD_FISCALE,
CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,
PRCONSUL.C_PROJECTNAM_11D1A AS NOME_PROGETTO,
PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,
PRCONSUL.C_PERCENTUAL_69019 AS PERC_AREA,
PRCONSUL.C_PROJECTCTV_39520 AS CTV_PROGETTO,
CONSAREA.C_CTVNEEDARE_EA4FB AS CTV_AREA,
C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,
C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,
NULL AS CTV_TOTALE,
CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA,
ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_CONS, -- STRINGA IN FORMATO ISO
CONSUL.C_DATAMIGRAZ_BF705 AS DATA_MIGR_CONS,
PRCONSUL.C_LASTMODIFI_3BF4A AS DATA_PIANIF,
NULL AS ID_CONTRATTO,
PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO
into #AGG_PROG
FROM C6STAGINGPERIODICO.ALL_CF_PB
INNER JOIN C6STAGINGPERIODICO.CONSUL
ON CONSUL.INSTID = ALL_CF_PB.RETE_PB
AND CONSUL.ADBKID = ALL_CF_PB.CODICEFISCALE
AND CONSUL.TYPE$_TIPOCO_1EA7C = 'Bozza'
INNER JOIN C6STAGINGPERIODICO.CONSAREA
ON CONSAREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$
INNER JOIN C6STAGINGPERIODICO.PRCONSUL
ON PRCONSUL.F_PCONSULENZ_B69E4 = CONSAREA.OID$
LEFT JOIN C6STAGINGPERIODICO.C_BO_453FB
ON C_BO_453FB.PK_PRC = PRCONSUL.OID$
where CONSAREA.C_NEEDAREA_V_46360='Inv'
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
NOME_PROGETTO = L.NOME_PROGETTO
FROM
#AGG_PROG L
WHERE
C6MARTPERIODICO.PATRIMONIO_BF.COD_FISCALE=L.COD_FISCALE
AND C6MARTPERIODICO.PATRIMONIO_BF.RETE=L.RETE
AND C6MARTPERIODICO.PATRIMONIO_BF.ORDINAMENTO_PROGETTO=L.ORDINAMENTO_PROGETTO
AND C6MARTPERIODICO.PATRIMONIO_BF.NOME_PROGETTO <> L.NOME_PROGETTO
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
REND_NON_RAPPR=1
FROM
C6MARTPERIODICO.PATRIMONIO_BF
WHERE
TIPO_PRODOTTO='CC'
AND CTV > 0
AND ID_AREA='Liq'
--aggiunta Emanuele/Valerio
UPDATE
c6martperiodico.patrimonio_bf
SET Id_area = 'Liq'
WHERE TIPO_PRODOTTO='CC'
AND ID_AREA = 'na'
AND CTV > 0
--aggiunta Emanuele
UPDATE
c6martperiodico.patrimonio_bf
SET id_area = 'Liq'
WHERE id_area = 'LIQ'
---------------------------------------
UPDATE C6MARTPERIODICO.PATRIMONIO_BF
SET
NOME_PROGETTO = LTRIM(RTRIM(NOME_PROGETTO))
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'UPDATE',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PATRIMONIO_BF5' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_PATRIMONIO_BF5'
)
END