-- Schema: C6MartPeriodico
-- Stored Procedure: DM_PATRIMONIO_BF

  
  
CREATE procedure [C6MartPeriodico].[DM_PATRIMONIO_BF]  
AS  
BEGIN  
 -- riportare le logiche nelle rispettive sp di PL  
 SET NOCOUNT ON;  
  
 DECLARE @ID_ELAB INT  
 DECLARE @TIPO_ELAB VARCHAR(1)  
  
 SET @ID_ELAB = C6MartPeriodico.GETIDELAB()  
 SET @TIPO_ELAB = C6MartPeriodico.GETTIPOELAB()  
  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE  
  (Nome, Inizio, Nota)  
 VALUES (  
  'DM_PATRIMONIO_BF',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
   
 TRUNCATE TABLE C6MartPeriodico.PATRIMONIO_BF  
      
 SELECT   
  CONTRATTOSINTESI.RETE AS RETE,  
  CONTRATTOSINTESI.CODFIS AS COD_FISCALE,  
  CONTRATTOSINTESI.POSITIONID AS POSITIONID,  
  SUBSTRING(CONTRATTOSINTESI.POSITIONID,1,57) AS COD_PRODOTTO,   
  CONTRATTOSINTESI.CODCONF AS ID_CONTRATTO,  
  CASE WHEN ISDATE(CONTRATTOSINTESI.DTSOTTOS) = 0 THEN NULL  
    ELSE CAST(CAST(CONTRATTOSINTESI.DTSOTTOS AS VARCHAR(8)) AS DATETIME)  
  END AS DATA_SOTTOSCRIZIONE,  
  NULL AS COD_STATO, --CONTRATTOSINTESI.CODICESTATO AS COD_STATO,  
  CONTRATTOSINTESI.NUMPOL AS NUM_POLIZZA,  
  CONTRATTOSINTESI.MAF AS COD_MAF,  
  CONTRATTOSINTESI.CODINT AS COD_INTERNO,  
  CONTRATTOSINTESI.SUBPROD AS COD_SOTTOPRODOTTO,  
  CONTRATTOSINTESI.TIPPROD AS TIPO_PRODOTTO,  
  CASE  
   WHEN CONSAREA.C_NEEDAREA_V_46360 = 'Inv' AND PRCONSUL.C_PROJECTNAM_11D1A IS NULL THEN 'Prodotti non associati a progetti'  
   ELSE LTRIM(RTRIM(PRCONSUL.C_PROJECTNAM_11D1A))  
  END AS NOME_PROGETTO,  
        PRCONSUL.TYPE$_PROJEC_14674 AS TIPO_PROGETTO,  
  CONSAREA.C_NEEDAREA_V_46360 AS ID_AREA,  
  CASE  
   WHEN ISDATE(CONTRATTOSINTESI.DTRIFE) = 0 THEN NULL  
   ELSE CAST(CAST(CONTRATTOSINTESI.DTRIFE AS VARCHAR(8)) AS DATETIME)  
  END AS DATA_OPERAZIONE, --CONTRATTOSINTESI.DATADIRIFERIMENTO AS DATA_OPERAZIONE,  
  NULL AS DATA_VALUTA, --CONVERT(DATETIME, CONTRATTOSINTESI.DATAVALNAVAL, 105) AS DATA_VALUTA, -- 105 PER FORMAT DD/MM/YYYY  
  NULL AS DATA_REGOLAMENTO,  
  CONTRATTOSINTESI.QUOTE AS QUANTITA, --CONTRATTOSINTESI.QUOTE AS QUANTITA,  
  NULL AS PREZZO, --CONTRATTOSINTESI.PREZZO AS PREZZO,  
  CONTRATTOSINTESI.CTV AS CTV,  
  CONTRATTOSINTESI.VALORE AS CTV_NOMINALE,  
  NULL AS VERSATO_NETTO,  
  CONTRATTOSINTESI.PARTVIA AS PARTVIA_DISINV,  
  CASE  
   WHEN ISDATE(CONTRATTOSINTESI.PARTVIAAL) = 0 THEN NULL  
   ELSE CAST(CAST(CONTRATTOSINTESI.PARTVIAAL AS VARCHAR(8)) AS DATETIME)  
  END AS DATA_PARTVIA_DISINV,  
  --PARTITEVIAGGIANTI.IMPVER AS PARTVIA_INV,  
  NULL AS PARTVIA_INV,  
  --CONTRATTOSINTESI.RENDINIZ AS REND_SOTTOSCRIZIONE,  
  CASE   
   WHEN (CONTRATTOSINTESI.TIPPROD = 'GE'   
    OR CONTRATTOSINTESI.TIPPROD = 'GES')  
    AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME)   
    THEN NULL   
   WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')  
    THEN NULL  
   --Modifica Luca  
   WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')  
    THEN NULL  
   --  
   ELSE CONTRATTOSINTESI.RENDINIZ  
  END AS REND_SOTTOSCRIZIONE,   
  NULL  AS REND_TRIMESTRE, --CONTRATTOSINTESI.RENDIMENTODAINIZIOTRIMESTRE AS REND_TRIMESTRE,  
  CASE   
   WHEN (CONTRATTOSINTESI.TIPPROD = 'GE'   
    OR CONTRATTOSINTESI.TIPPROD = 'GES')  
    AND CONTRATTOSINTESI.DTSOTTOS < 20070101 --cast('2007-01-01' AS DATETIME)   
    THEN NULL   
   WHEN CONTRATTOSINTESI.TIPPROD IN ( 'ASVI','ASU1')  
    THEN NULL  
   --Modifica Luca  
   WHEN CONTRATTOSINTESI.TIPPROD = 'ASUL' AND CONTRATTOSINTESI.CODINT NOT IN ('18','19','35','PR','PX')  
    THEN NULL  
   --  
   ELSE CONTRATTOSINTESI.RENDANNO  
  END AS REND_ANNO,   
  0 AS REND_NON_RAPPR,  
  PRCONSUL.C_PROJECTIDM_1AF31 AS ORDINAMENTO_PROGETTO,  
        C_BO_453FB.C_VALUE_7BD3C AS ORIZZ_TEMP_NUM,  
  C_BO_453FB.C_DESCRIZION_93ABE AS ORIZZ_TEMP,  
        CONSUL.TYPE$_TIPOCO_1EA7C AS STATO_CONSULENZA,  
        ISNULL(CONVERT(DATETIME, CONSUL.C_DATAINIZIO_35C15),NULL) AS DATA_STATO_C
