88 lines
2.2 KiB
Transact-SQL
88 lines
2.2 KiB
Transact-SQL
-- =============================================
|
|
-- Author: <Author,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
CREATE procedure [C6Mart].[DM_ANAG_PRODOTTI]
|
|
AS
|
|
BEGIN
|
|
SET NOCOUNT ON;
|
|
DECLARE @ID_ELAB INT
|
|
DECLARE @TIPO_ELAB VARCHAR(1)
|
|
SET @ID_ELAB = C6MART.GETIDELAB()
|
|
SET @TIPO_ELAB = C6MART.GETTIPOELAB()
|
|
-- Log esecuzione
|
|
INSERT INTO LOG_ESECUZIONE
|
|
(Nome, Inizio, Nota)
|
|
VALUES (
|
|
'DM_ANAG_PRODOTTI',
|
|
GETDATE(),
|
|
'Elaborazione giornaliera'
|
|
)
|
|
TRUNCATE TABLE C6MART.ANAG_PRODOTTI
|
|
INSERT INTO [C6Mart].[ANAG_PRODOTTI]
|
|
([COD_PRODOTTO]
|
|
,[COD_ISIN]
|
|
,[PAESE]
|
|
,[ID_AREA]
|
|
,[CAT_PRODOTTO]
|
|
,[TIPO_PRODOTTO]
|
|
,[DESCR_PRODOTTO]
|
|
,[DIV_QUOTAZIONE]
|
|
,[DIV_REGOLAMENTO]
|
|
,[ID_EMITTENTE]
|
|
,[MERCATO_CONTRATT]
|
|
,[COD_MAF]
|
|
,[RATING]
|
|
,[COD_ADEGUATEZZA]
|
|
,[COD_SOTTOPRODOTTO]
|
|
,[COD_INTERNO]
|
|
,[ID_ELAB]
|
|
,[TIPO_ELAB])
|
|
SELECT
|
|
CATITEMREF.CATALOGUEID AS COD_PRODOTTO,
|
|
CATITEMREF.COD_ISIN AS COD_ISIN,
|
|
CATITEMREF.COUNTRY AS PAESE,
|
|
'' AS ID_AREA,
|
|
(SELECT CASE SUBSTRING(CATITEMREF.TYPE$_BCATAL_FC317,64,3)
|
|
WHEN 'Ges' THEN 'Gestito Finanziario'
|
|
WHEN 'Amm' THEN 'Amministrato'
|
|
WHEN 'Ass' THEN 'Assicurativo'
|
|
END) AS CAT_PRODOTTO,
|
|
CATITEMREF.TIPOPRODOTTO AS TIPO_PRODOTTO,
|
|
CATITEMREF.CATALOGUENAME AS DESCR_PRODOTTO,
|
|
CATITEMREF.PRODUCTCURRENCY AS DIV_QUOTAZIONE,
|
|
NULL AS DIV_REGOLAMENTO,
|
|
NULL AS ID_EMITTENTE,
|
|
CATITEMREF.PIAZZA AS MERCATO_CONTRATT,
|
|
CATITEMREF.COD_MAF AS COD_MAF,
|
|
CATITEMREF.RATOBBLIG AS RATING,
|
|
CATITEMREF.COD_ADEGUATEZZA AS COD_ADEGUATEZZA,
|
|
CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO,
|
|
CATITEMREF.COD_INTERNO AS COD_INTERNO,
|
|
@ID_ELAB AS ID_ELAB,
|
|
@TIPO_ELAB AS TIPO_ELAB
|
|
FROM C6STAGING.CATITEMREF
|
|
INNER JOIN (
|
|
SELECT CATITEMREF.CATALOGUEID, MAX(OID$) AS OID
|
|
FROM C6STAGING.CATITEMREF
|
|
GROUP BY CATITEMREF.CATALOGUEID
|
|
) DOPPICATITEMREF ON CATITEMREF.OID$ = DOPPICATITEMREF.OID
|
|
-- Log esecuzione
|
|
UPDATE
|
|
LOG_ESECUZIONE
|
|
SET
|
|
Fine = GETDATE(),
|
|
Tipo = 'INSERT',
|
|
Righe = @@ROWCOUNT
|
|
WHERE
|
|
Nome = 'DM_ANAG_PRODOTTI' AND
|
|
Inizio = (
|
|
SELECT
|
|
MAX(Inizio)
|
|
FROM
|
|
LOG_ESECUZIONE
|
|
WHERE
|
|
Nome = 'DM_ANAG_PRODOTTI'
|
|
)
|
|
END |