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

87 lines
2.7 KiB
Transact-SQL

CREATE procedure [C6MartPeriodico].[DM_PROVENTI]
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.WSEIPR
-- Log esecuzione
INSERT INTO LOG_ESECUZIONE_PERIODICO
(Nome, Inizio, Nota)
VALUES (
'DM_PROVENTI',
GETDATE(),
'Elaborazione trimestrale'
)
TRUNCATE TABLE [C6MartPeriodico].[PROVENTI]
--select * from [C6MartPeriodico].[PROVENTI]
INSERT INTO [C6MartPeriodico].[PROVENTI] (
WSEIPR.RETE,
DTTRIM,
COD_FISCALE,
COD_INTERNO ,
COD_SOTTOPRODOTTO ,
DESPROD ,
DTRIFE,
TIPMOV,
IMPORTO
)
SELECT
WSEIPR.RETE,
convert(datetime,convert(varchar,WSEIPR.[DTTRIM]),100) as [DT_TRIM],
WSEIPR.CODFIS,
COD_INTERNO = CASE
-- WHEN WSEIPR.FAMPROD <> 'DT' THEN WSEIPR.CODPROD
-- ELSE WSEIPR.CODABI
WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD
ELSE LTRIM(RTRIM(WSEIPR.CODABI))
END,
COD_SOTTOPRODOTTO = CASE
WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN ''
ELSE LTRIM(RTRIM(WSEIPR.SUBPROD))
END,
--[C6MartPeriodico].[getDESPRODCAT](CODPROD,SUBPROD) as DESPROD ,
[C6MartPeriodico].[getDESPRODCAT]
(CASE
WHEN LTRIM(RTRIM(isnull(WSEIPR.CODABI,''))) = '' THEN WSEIPR.CODPROD
ELSE LTRIM(RTRIM(WSEIPR.CODABI))
END,
CASE
WHEN LTRIM(RTRIM(isnull(WSEIPR.SUBPROD,''))) = '' THEN NULL
ELSE LTRIM(RTRIM(WSEIPR.SUBPROD))
END) as DESPROD ,
convert(datetime,convert(varchar,WSEIPR.[DTRIFE]),100) as DTRIFE,
WSEIPR.TIPMOV,
WSEIPR.IMPORTO
FROM c6StagingPeriodico.WSEIPR WSEIPR
WHERE
WSEIPR.[DTTRIM] = @DTMAX
-- Log esecuzione
UPDATE
LOG_ESECUZIONE_PERIODICO
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_PROVENTI' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE_PERIODICO
WHERE
Nome = 'DM_PROVENTI'
)
-- FC 22/01/2014
-- Verifica e scarto prodotti
INSERT INTO C6MARTPERIODICO.TEST_QUALITY
SELECT a.RETE, a.COD_FISCALE, 'PROVENTI.DESPROD IS NULL'
FROM [C6MartPeriodico].[PROVENTI] a --WHERE ISNULL(DesProd,'') =''
INNER JOIN c6stagingperiodico.appo_contratti_v b
on a.rete=b.rete and a.cod_fiscale=b.cod_fiscale and b.tip_contratto=2
WHERE ISNULL(DesProd,'') =''
END