PDC_REPORT_CreazioneDB/sql/Collaudo/procedure/C6MartPeriodico_DM_COMPLESSITA.sql
2025-06-10 15:29:00 +02:00

84 lines
2.1 KiB
Transact-SQL

-- =============================================
-- Author: <Alessandro Tringali,,Name>
-- Create date: <12/05/2010>
-- Description: <Description,,>
-- =============================================
CREATE procedure [C6MartPeriodico].[DM_COMPLESSITA]
AS
BEGIN
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_COMPLESSITA',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].COMPLESSITA
INSERT INTO [C6MartPeriodico].[COMPLESSITA]
(
[RETE]
,[COD_FISCALE]
,[COMPLESSITA]
,[ID_ELAB]
,[TIPO_ELAB])
SELECT
[RETE],
[COD_FISCALE],
MAX([COMPLESSITA]) AS [COMPLESSITA],
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB
FROM
(
SELECT
[RETE],
[COD_FISCALE],
MAX([COMPLEx]) AS [COMPLESSITA]
FROM C6MARTPERIODICO.patrimonio_bf
where tipo_prodOTTO <>'ASUL'
GROUP BY
[RETE],
[COD_FISCALE]
union all
SELECT
m.[RETE],
m.[COD_FISCALE],
MAX(c.[COMPLEX]) AS [COMPLESSITA]
FROM C6MARTPERIODICO.patrimonio_bf m,
c6martperiodico.dettaglio_asul k,
c6stagingperiodico.catitemref c
where m.cod_fiscale= k.cod_fiscale
and m.rete=k.rete
and k.id_contratto=m.id_contratto
and k.cod_prodotto= c.catalogueid
and m.tipo_prodotto='ASUL'
group by
m.[RETE],
m.[COD_FISCALE]
) H
group by
[RETE],
[COD_FISCALE]
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_COMPLESSITA' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_COMPLESSITA'
)
END