PDC_REPORT_CreazioneDB/sql/storedTestbes/C6MartPeriodico_DM_FOI80.sql
2025-06-06 19:02:52 +02:00

180 lines
5.6 KiB
Transact-SQL

-- =============================================
-- Description: <La sp legge i dati, rispettivamente, dalle seguenti tb (scaricate da DB2):
-- C6StagingPeriodico.WSEIFP e con tali dati popola la tb dbo.C6MartPeriodico.FOI80
--N.B.: Le tb sono in join con la tb c6stagingperiodico.rp_catalogoprodotti, ciò è dettato dalla necessità di reperire il nome del fondo>
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_FOI80]
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_FOI80',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE C6MartPeriodico.FOI80
INSERT INTO C6MartPeriodico.FOI80
([DTTRIM]
,[DTRIFE]
,[RETE]
,[CODFIS]
,[DESPROD]
,[CODMAN]
,[CODCONF]
,[CODPROD]
,[SUBPROD]
,[ISIN]
,[CTV]
,[PREZZO]
,[QUOTE]
,[PREZZOMAX]
,[DTPREZZOMAX]
,[DESMAX]
,[PREZZOPROT]
,[CTRVIMPPROT]
,[DESPROT]
,[DESPRODTIT]
,[QUOTA_MAX_PERC]
)
select --top 10
@DataFineTrim AS DTTRIM,
DTRIFE AS DTRIFE,
RETE AS RETE,
CODFIS AS CODFIS,
--ISNULL(CAT.NOMEPRODOTTO,'Da SP - Fonditalia Crescita Protetta 80 Cap EUR') as DESPROD,
CAT.NOMEPRODOTTO as DESPROD,
ISNULL(CODMAN,'') AS CODMAN,
CODCONF AS COD_CONF,
CODPROD AS CODPROD,
SUBPROD AS SUBPROD,
ISIN AS ISIN,
CTV AS CTV,
PREZZO AS PREZZO,
QUOTE AS QUOTE,
PREZZOMAX AS PREZZOMAX,
DTPREZZOMAX AS DTPREZZOMAX,
'Quota massima' AS DESMAX,
PREZZOPROT AS PREZZOPROT,
CTRVIMPPROT AS CTRVIMPPROT,
'Quota e controvalore protetti *' AS DESPROT,
'Fonditalia Crescita Protetta 80' AS [DESPRODTIT],
@Par_percentuale AS QUOTA_MAX_PERC
FROM C6StagingPeriodico.WSEIFP FP
LEFT OUTER join c6stagingperiodico.rp_catalogoprodotti CAT
on --UL.codint=CAT.codinterno and
FP.subprod=CAT.codsottoprodotto
--and FP.isin=ISNULL(CAT.codisin,'')
and CAT.visibilita = 1
WHERE FP.DTTRIM = @DataFineTrim
and PREZZOMAX <> 0.000
--AND FP.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,
-- 'Quota e controvalore protetti' AS DES_PROT,
-- PREZZOPROT AS QUOTA_PROT,
---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
-- QUOTE AS NUMEROQUOTE_PROT,
-- CTRVIMPPROT AS CONTROVALORE_PROT
-- 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,
-- 'Quota e controvalore protetti' AS DES_PROT,
-- PREZZOPROT AS QUOTA_PROT,
---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
-- QUOTE AS NUMEROQUOTE_PROT,
-- CTRVIMPPROT AS CONTROVALORE_PROT
-- 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,
-- 'Quota e controvalore protetti' AS DES_PROT,
-- PREZZOPROT AS QUOTA_PROT,
---- CTRVIMPPROT/ PREZZOPROT AS NUMEROQUOTE_PROT,
-- QUOTE AS NUMEROQUOTE_PROT,
-- CTRVIMPPROT AS CONTROVALORE_PROT
-- 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
-- Log esecuzione
UPDATE
LOG_ESECUZIONE_PERIODICO
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_FOI80' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE_PERIODICO
WHERE
Nome = 'DM_FOI80'
)
END