﻿-- Stored procedure
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 01/12/2014)
-- =============================================
CREATE procedure [C6Mart].[DM_ANAG_SELF]
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	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_SELF',
		GETDATE(),
		'Elaborazione giornaliera'
	)
	TRUNCATE TABLE [C6Mart].[ANAG_SELF]
	INSERT INTO [C6Mart].[ANAG_SELF]
		(RETE
		,CODFIS
		,CODCONF
		,NOMEPRODOTTO
		,CTV
		,DATASOTT
		,[ID_ELAB]
		,[TIPO_ELAB]
		,CodInterno
		,CodSottoprodotto)
	SELECT
		SPB.RETE
		,SPB.CODICEFISCALE
		,SPB.CODICECONTRATTO
		,CAT.NomeProdotto
		,SPB.CTV
		,SPB.DATADISOTTOSCRIZIONE
		,@ID_ELAB AS ID_ELAB
		,@TIPO_ELAB AS TIPO_ELAB
		,CodInterno
		,CodSottoprodotto
	FROM 
		C6Staging.SPB_CONTR_SINTESI SPB
	inner join C6Staging.RP_CatalogoProdotti CAT
	on SPB.isin = CAT.codisin and CAT.visibilita = 1
	-- aggiunta il 17/12/2018 per gestire l'ambiguità tra GP e FO a parità di Isin
	and SPB.CodiceInterno = CAT.CodInterno
	-- fine modifica
	WHERE isin in('EURO00000009', 'EURO10000007')
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'DM_ANAG_SELF' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'DM_ANAG_SELF'
		)
END