PDC_REPORT_CreazioneDB/sql/storedTestbes/C6Mart_DM_ASSET_PERC.sql
2025-06-06 19:02:52 +02:00

70 lines
1.7 KiB
Transact-SQL

-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE procedure [C6Mart].[DM_ASSET_PERC]
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_ASSET_PERC',
GETDATE(),
'Elaborazione giornaliera'
)
TRUNCATE TABLE C6MART.ASSET_PERC
INSERT INTO [C6Mart].[ASSET_PERC]
([COD_PRODOTTO]
,[ID_ASSETCLASS]
,[COD_ISIN]
,[COD_MAF]
,[COD_INTERNO]
,[COD_SOTTOPRODOTTO]
,[LIVELLO]
,[PERC]
,[ID_ELAB]
,[TIPO_ELAB])
SELECT DISTINCT
CATITEMREF.CATALOGUEID AS COD_PRODOTTO,
LTRIM(RTRIM(ACBDENTRY.F_OID__PASSE_B8A1E)) AS ID_ASSETCLASS,
CATITEMREF.COD_ISIN AS COD_ISIN,
CATITEMREF.COD_MAF AS COD_MAF,
CATITEMREF.COD_INTERNO AS COD_INTERNO,
CATITEMREF.COD_SOTTOPRODOTTO AS COD_SOTTOPRODOTTO,
LTRIM(RTRIM(ASSETCLASS.ASSETCLASSLEV)) AS LIVELLO,
LTRIM(RTRIM(ACBDENTRY.BDPERCENTAGE)) AS PERC,
@ID_ELAB AS ID_ELAB,
@TIPO_ELAB AS TIPO_ELAB
FROM
C6STAGING.CATITEMREF
INNER JOIN C6STAGING.INSTRBDS
ON INSTRBDS.F_OID__PCATA_5DDA6 = CATITEMREF.OID$
INNER JOIN C6STAGING.ACBDENTRY
ON ACBDENTRY.F_PINSTRUMEN_FBCDE = INSTRBDS.OID_
INNER JOIN C6STAGING.ASSETCLASS
ON ASSETCLASS.OID_ = ACBDENTRY.F_OID__PASSE_B8A1E
-- Log esecuzione
UPDATE
LOG_ESECUZIONE
SET
Fine = GETDATE(),
Tipo = 'INSERT',
Righe = @@ROWCOUNT
WHERE
Nome = 'DM_ASSET_PERC' AND
Inizio = (
SELECT
MAX(Inizio)
FROM
LOG_ESECUZIONE
WHERE
Nome = 'DM_ASSET_PERC'
)
END