PDC_REPORT_CreazioneDB/sql/Testbes/procedure/C6MartPeriodico_DM_CAPPROT.sql
2025-06-10 15:29:00 +02:00

206 lines
6.6 KiB
Transact-SQL

-- =============================================
-- Author: <Federica Cianfa>
-- Create date: <18/11/2014, Pomezia>
-- Description: <La sp legge i dati, rispettivamente, dalle seguenti tb (scaricate da DB2):
-- C6StagingPeriodico.WSEIGP e C6StagingPeriodico.WSEIUL, e con tali dati popola la tb dbo.C6MartPeriodico.CAPPROT
--N.B.: Le tb sono in join con la tb c6stagingperiodico.rp_catalogoprodotti, ciò è dettato dalla necessità di reperire il nome del fondo>
-- =============================================
-- =============================================
--
-- MOd: <26/11/2015, Pomezia>
-- Description: Aggiunto il campo 'des_prod_tit' per modifiche E-FOI80
-- =============================================
--[C6MartPeriodico].[DM_CAPPROT]
CREATE procedure [C6MartPeriodico].[DM_CAPPROT]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Par_percentuale INT
SET @Par_percentuale = 80
DECLARE @DataFineTrim VARCHAR(8)
SET @DataFineTrim = c6martperiodico.getTrimestre2(getDate(),0)
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE_PERIODICO
(Nome, Inizio, Nota)
VALUES (
'DM_CAPPROT',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE C6MartPeriodico.CAPPROT
INSERT INTO C6MartPeriodico.CAPPROT
([RETE]
,[CODFIS]
,[DES_PROD]
,[COD_CONF]
,[QUOTA]
,[NUMEROQUOTE]
,[CONTROVALORE]
,[DATARIF]
,[DES_MAX]
,[QUOTA_MAX]
,[QUOTA_MAX_PERC]
,[DATARIF_MAX]
,[DES_PROT]
,[QUOTA_PROT]
,[NUMEROQUOTE_PROT]
,[CONTROVALORE_PROT]
,[DES_PROD_TIT]
)
select --top 10
RETE AS RETE,
CODFIS AS CODFIS,
CAT.NOMEPRODOTTO as DES_PROD,
CODCONF AS COD_CONF,
PREZZO AS QUOTA,
-- CTV/ PREZZO AS NUMEROQUOTE,
QUOTE AS NUMEROQUOTE,
CTV AS CONTROVALORE,
@DataFineTrim AS DATARIF,
'Quota massima' AS DES_MAX,
PREZZOMAX AS QUOTA_MAX,
@Par_percentuale AS QUOTA_MAX_PERC,
CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX,
-- E-FOI80
--'Quota e controvalore protetti' AS DES_PROT,
'Quota e controvalore protetti *' AS DES_PROT,
-- fine E-FOI80
PREZZOPROT AS QUOTA_PROT,
-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
QUOTE AS NUMEROQUOTE_PROT,
CTRVIMPPROT AS CONTROVALORE_PROT,
-- Campo aggiunto per E-FOI80
'Interfund Crescita Protetta 80' AS DES_PROD_TIT
FROM C6StagingPeriodico.WSEIUL UL
LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT
on UL.codint=CAT.codinterno
and UL.subprod=CAT.codsottoprodotto
and UL.isin=ISNULL(CAT.codisin,'')
and CAT.visibilita = 1
WHERE UL.DTTRIM = @DataFineTrim
and PREZZOMAX <> 0.000
AND UL.isin <> ''
union
select --top 10
RETE AS RETE,
CODFIS AS CODFIS,
CAT.NOMEPRODOTTO as DES_PROD,
CODCONF AS COD_CONF,
PREZZO AS QUOTA,
-- CTV/ PREZZO AS NUMEROQUOTE,
QUOTE AS NUMEROQUOTE,
CTV AS CONTROVALORE,
@DataFineTrim AS DATARIF,
'Quota massima' AS DES_MAX,
PREZZOMAX AS QUOTA_MAX,
@Par_percentuale AS QUOTA_MAX_PERC,
CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX,
-- E-FOI80
--'Quota e controvalore protetti' AS DES_PROT,
'Quota e controvalore protetti *' AS DES_PROT,
-- fine E-FOI80
PREZZOPROT AS QUOTA_PROT,
-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
QUOTE AS NUMEROQUOTE_PROT,
CTRVIMPPROT AS CONTROVALORE_PROT,
-- Campo aggiunto per E-FOI80
'Interfund Crescita Protetta 80' AS DES_PROD_TIT
FROM C6StagingPeriodico.WSEIUL UL
LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT
on UL.codint=CAT.codinterno
and UL.subprod=CAT.codsottoprodotto
and UL.isinFIT=ISNULL(CAT.codisin,'')
and CAT.visibilita = 1
WHERE UL.DTTRIM = @DataFineTrim
and PREZZOMAX <> 0.000
AND UL.isinFIT <> ''
union
select --top 10
RETE AS RETE,
CODFIS AS CODFIS,
CAT.NOMEPRODOTTO as DES_PROD,
CODCONF AS COD_CONF,
PREZZO AS QUOTA,
-- CTV/ PREZZO AS NUMEROQUOTE,
QUOTE AS NUMEROQUOTE,
CTV AS CONTROVALORE,
@DataFineTrim AS DATARIF,
'Quota massima' AS DES_MAX,
PREZZOMAX AS QUOTA_MAX,
@Par_percentuale AS QUOTA_MAX_PERC,
CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX,
-- E-FOI80
--'Quota e controvalore protetti' AS DES_PROT,
'Quota e controvalore protetti *' AS DES_PROT,
-- fine E-FOI80
PREZZOPROT AS QUOTA_PROT,
-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
QUOTE AS NUMEROQUOTE_PROT,
CTRVIMPPROT AS CONTROVALORE_PROT,
-- Campo aggiunto per E-FOI80
'Interfund Crescita Protetta 80' AS DES_PROD_TIT
FROM C6StagingPeriodico.WSEIUL UL
LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT
on UL.codint=CAT.codinterno
and UL.subprod=CAT.codsottoprodotto
and CAT.visibilita = 1
WHERE UL.DTTRIM = @DataFineTrim
and PREZZOMAX <> 0.000
AND UL.isin = ''
AND UL.isinFIT = ''
union
select --top 10
RETE AS RETE,
CODFIS AS CODFIS,
CAT.NOMEPRODOTTO as DES_PROD,
CODCONF AS COD_CONF,
PREZZO AS QUOTA,
-- CTV/ PREZZO AS NUMEROQUOTE,
QUOTE AS NUMEROQUOTE,
CTV AS CONTROVALORE,
@DataFineTrim AS DATARIF,
'Quota massima' AS DES_MAX,
PREZZOMAX AS QUOTA_MAX,
@Par_percentuale AS QUOTA_MAX_PERC,
CONVERT(datetime, CONVERT(varchar,CONVERT(int,DTPREZZOMAX)), 0) AS DATARIF_MAX,
-- E-FOI80
--'Quota e controvalore protetti' AS DES_PROT,
'Quota e controvalore protetti *' AS DES_PROT,
-- fine E-FOI80
PREZZOPROT AS QUOTA_PROT,
-- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
QUOTE AS NUMEROQUOTE_PROT,
CTRVIMPPROT AS CONTROVALORE_PROT,
-- Campo aggiunto per E-FOI80
'Interfund Crescita Protetta 80' AS DES_PROD_TIT
FROM C6StagingPeriodico.WSEIGP GP
LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT
on GP.isin=ISNULL(CAT.codisin,'')
and CAT.tipoprodotto = 'GP'
and CAT.visibilita = 1
WHERE GP.DTTRIM = @DataFineTrim
and PREZZOMAX <> 0.000
-- lancio il caricamento delle nuove tabelle per la gestione del capitale protetto (My Blue 'CS80',
-- My White 'CT80', Linea Protetta 'RF/FP' ----
-- Dicembre 2017
exec [C6MartPeriodico].[DM_CAPPROT_FVI]
exec [C6MartPeriodico].[DM_STORICO_CAPPROT_FVI]
---------------------------------------------------------------------------------------------------
-- Log esecuzione
UPDATE
LOG_ESECUZIONE_PERIODICO
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_CAPPROT' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE_PERIODICO
WHERE
Nome = 'DM_CAPPROT'
)
END