-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE procedure [C6Mart].[RP_DM_ANAG_CC_TERZI]
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 (
		'RP_DM_ANAG_CC_TERZI',
		GETDATE(),
		'Elaborazione giornaliera'
	)
	TRUNCATE TABLE C6MART.ANAG_CC_TERZI
	INSERT INTO [C6Mart].[ANAG_CC_TERZI]
			(
--      chiaveClientePB
--			,
             [RETE]
			,[COD_FISCALE]
			,[INTERMEDIARIO]
			,[COINTEST]
			,[COD_CC]
			,[FASCIA_CPP]
			,[SALDO]
			,[DATA_APERTURA]
			,[DATA_CHIUSURA]
			,[ID_ELAB])
      --conticorrenti.Saldo,
      --conticorrenti.Contocorrente,
      --sum (conticorrenti.Saldo) over (partition by conticorrenti.chiaveclientepb) as totalesaldo,
      --conticorrenti.Intermediario
	--Tutti i ContiCorrenti Terzi non a catalogo 
	SELECT
--		VCONTRATTI.chiaveclientepb,
		VCONTRATTI.rete AS RETE,
		VCONTRATTI.COD_FISCALE AS COD_FISCALE,
		dettProdT.nomeIntermediario AS INTERMEDIARIO,
		NULL AS COINTEST,
		patrT.nomeProdotto AS COD_CC,
		NULL AS FASCIA_CPP,
		patrT.ctv AS SALDO,
		NULL AS DATA_APERTURA,
		NULL AS DATA_CHIUSURA,
		@ID_ELAB AS ID_ELAB
	--INTO C6MART.ANAG_CC_TERZI
	FROM
		C6Staging.RP_PatrimonioTerzi patrT,
		C6Staging.RP_DettProdottiTerzi dettProdT,
		c6staging.RP_AnAlberatura alber,
		C6Mart.VCONTRATTI
	WHERE
		dettProdT.Alberatura = alber.Alberatura
		AND dettProdT.chiaveProdotto IS NULL
		AND patrT.chiaveProdottoTerzi = dettProdT.chiaveProdottoTerzi
		AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB
		AND alber.Livello3= 'Conti correnti' 
		AND patrT.tipoProd= 'Assets.FinancialAssets.CurrentAccount'
	UNION ALL
	--'Conti Correnti Terzi in catalogo'
	SELECT
--		VCONTRATTI.chiaveclientepb,
		VCONTRATTI.rete AS RETE,
		VCONTRATTI.COD_FISCALE AS COD_FISCALE,
		dettProdT.nomeIntermediario AS INTERMEDIARIO,
		NULL AS COINTEST,
		patrT.nomeProdotto AS COD_CC,
		NULL AS FASCIA_CPP,
		patrT.ctv AS SALDO,
		NULL AS DATA_APERTURA,
		NULL AS DATA_CHIUSURA,
		@ID_ELAB AS ID_ELAB
	FROM
		C6Staging.RP_PatrimonioTerzi patrT,
		C6Staging.RP_DettProdottiTerzi dettProdT,
		C6Staging.RP_CatalogoProdotti catprod,
		C6Mart.VCONTRATTI
	WHERE
		patrT.chiaveProdottoTerzi = dettprodT.chiaveProdottoTerzi
		AND patrT.chiaveClientePB = VCONTRATTI.chiaveClientePB
		AND dettprodT.ChiaveProdotto IS NOT NULL
		AND catprod.ChiaveProdotto = dettprodT.ChiaveProdotto
		AND catprod.TipoProdotto = 'CC'
	-- Log esecuzione
	UPDATE
		LOG_ESECUZIONE
	SET
		Fine = GETDATE(),
		Tipo = 'INSERT',
		Righe = @@ROWCOUNT
	WHERE
		Nome = 'RP_DM_ANAG_CC_TERZI' AND
		Inizio = (
			SELECT
				MAX(Inizio)
			FROM
				LOG_ESECUZIONE
			WHERE
				Nome = 'RP_DM_ANAG_CC_TERZI'
		)
END