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

87 lines
2.7 KiB
Transact-SQL

CREATE procedure [C6MartPeriodico].[DM_SCADENZE]
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ID_ELAB INT
DECLARE @TIPO_ELAB VARCHAR(1)
DECLARE @DTMAX INT
SET @ID_ELAB = C6MartPeriodico.GETIDELAB()
SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()
SELECT @DTMAX = ISNULL(MAX(DTTRIM),0) FROM c6StagingPeriodico.WSEISC
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE_PERIODICO
(Nome, Inizio, Nota)
VALUES (
'DM_SCADENZE',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].[SCADENZE]
--select * from [C6MartPeriodico].[[SCADENZE]]
INSERT INTO [C6MartPeriodico].[SCADENZE] (
WSEIPR.RETE,
DTTRIM,
COD_FISCALE,
COD_INTERNO ,
COD_SOTTOPRODOTTO,
DESPROD,
DTSCAD,
TIPMOV
)
SELECT
WSEISC.RETE,
convert(datetime,convert(varchar,WSEISC.[DTTRIM]),100) as [DT_TRIM],
WSEISC.CODFIS,
COD_INTERNO = CASE
-- WHEN WSEISC.FAMPROD <> 'DT' THEN WSEISC.CODPROD
-- ELSE WSEISC.CODABI
WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD
ELSE LTRIM(RTRIM(WSEISC.CODABI))
END,
COD_SOTTOPRODOTTO = CASE
WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN ''
ELSE LTRIM(RTRIM(WSEISC.SUBPROD))
END,
-- [C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD ,
[C6MartPeriodico].[getDESPRODCAT]
(CASE
WHEN LTRIM(RTRIM(isnull(WSEISC.CODABI,''))) = '' THEN WSEISC.CODPROD
ELSE LTRIM(RTRIM(WSEISC.CODABI))
END,
CASE
WHEN LTRIM(RTRIM(isnull(WSEISC.SUBPROD,''))) = '' THEN NULL
ELSE LTRIM(RTRIM(WSEISC.SUBPROD))
END) as DESPROD ,
convert(datetime,convert(varchar,WSEISC.DTSCAD),100) as DTSCAD,
WSEISC.TIPMOV
FROM c6StagingPeriodico.WSEISC WSEISC
-- modifica del 28/4/2017 per s&m selective
inner join c6StagingPeriodico.appo_contratti_v appo
on wseisc.rete = appo.rete and
wseisc.codfis = appo.cod_fiscale
--fine modifica del 28/4/2017 per s&m selective
WHERE
WSEISC.[DTTRIM] = @DTMAX
-- Log esecuzione
UPDATE
LOG_ESECUZIONE_PERIODICO
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_SCADENZE' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE_PERIODICO
WHERE
Nome = 'DM_SCADENZE'
)
-- FC 22/01/2014
-- Verifica e scarto prodotti
INSERT INTO C6MARTPERIODICO.TEST_QUALITY
SELECT RETE, COD_FISCALE, 'SCADENZE.DESPROD IS NULL'
FROM [C6MartPeriodico].[SCADENZE] WHERE ISNULL(DesProd,'') =''
END