PDC_REPORT_CreazioneDB/sql/Produzione/procedure/C6MartPeriodico_DM_CONO_PIANIFICAZIONE.sql
2025-06-10 15:29:00 +02:00

86 lines
3.0 KiB
Transact-SQL

-- =============================================
-- Author: Paolo Giovanetti
-- Create date: 19 marzo 2009
-- Description:
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_CONO_PIANIFICAZIONE]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
SET @ID_ELAB = [C6MartPeriodico].GETIDELAB()
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE
(Nome, Inizio, Nota)
VALUES (
'DM_CONO_PIANIFICAZIONE',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].[CONO_PIANIFICAZIONE]
INSERT INTO [C6MartPeriodico].[CONO_PIANIFICAZIONE]
([RETE]
,[COD_FISCALE]
,[ID_AREA]
,[NOME_PROGETTO]
,[DATA_CONO]
,[SCENARIO_PESSIMISTICO]
,[SCENARIO_MEDIO]
,[SCENARIO_OTTIMISTICO]
,[ID_ELAB]
,ordinamento_progetto)
SELECT
CONSUL.INSTID AS RETE,
CONSUL.ADBKID AS COD_FISCALE,
AREA.C_NEEDAREA_v_46360 AS ID_AREA,
ISNULL(CASE
WHEN PROGETTO_BOZZA.C_PROJECTIDR_51E22 IS NULL THEN PRCONSUL.C_PROJECTNAM_11D1A
ELSE PROGETTO_BOZZA.NUOVO_NOME_PROGETTO
END, 'XXX') AS NOME_PROGETTO,
CONO.C_DATA_FD2A6 AS DATA_CONO,
CAST(CONO.C_QUANTILE5_BF710 AS DECIMAL(19,7)) * 100 AS SCENARIO_PESSIMISTICO,
CAST(CONO.C_QUANTILE50_C47E0 AS DECIMAL(19,7)) * 100 AS SCENARIO_MEDIO,
CAST(CONO.C_QUANTILE95_0D6CE AS DECIMAL(19,7)) * 100 AS SCENARIO_OTTIMISTICO,
@ID_ELAB,
wanab.codprog
FROM C6StagingPeriodico.TANAB AS WANAB
INNER JOIN C6StagingPeriodico.PRCONSUL AS PRCONSUL
ON WANAB.CODPROG = PRCONSUL.C_PROJECTIDM_1AF31
INNER JOIN C6StagingPeriodico.CONSAREA AS AREA
ON PRCONSUL.F_PCONSULENZ_B69E4 = AREA.OID$
INNER JOIN C6StagingPeriodico.CONSUL AS CONSUL
ON AREA.F_PCONSULENZ_7FBE3 = CONSUL.OID$
INNER JOIN C6StagingPeriodico.ALL_CF_STATO AS SCELTA_STATO
ON CONSUL.ADBKID = SCELTA_STATO.CF_CLIENTE
AND CONSUL.INSTID = SCELTA_STATO.RETE
AND CONSUL.TYPE$_TIPOCO_1EA7C = SCELTA_STATO.STATO_CONSULENZA
INNER JOIN C6StagingPeriodico.C_BO_453FB AS ORIZZ_TEMP
ON PRCONSUL.F_OID$_ORIZZ_4A868 = ORIZZ_TEMP.OID$
INNER JOIN C6StagingPeriodico.CONO AS CONO
ON PRCONSUL.OID$ = CONO.F_PPROJECT_P_46507
LEFT JOIN C6StagingPeriodico.NOME_PROGETTO_BOZZA AS PROGETTO_BOZZA
ON PRCONSUL.C_PROJECTIDR_51E22 = PROGETTO_BOZZA.C_PROJECTIDR_51E22
WHERE 1 = 1
AND WANAB.DTFINE = '99991231'
AND ((PRCONSUL.NEEDAREAID = 'Inv' AND PRCONSUL.TYPE$_PROJEC_14674 = 'ProgettoInvestimento')
OR PRCONSUL.NEEDAREAID = 'Ris')
AND SCELTA_STATO.FLAG_UTILIZZO_STATO = 1
--and wanab.codfis <> 'GRVMRZ63C14L566J'
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_CONO_PIANIFICAZIONE' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_CONO_PIANIFICAZIONE'
)
END