-- Schema: C6StagingPeriodico
-- Stored Procedure: RP_ST_SPB_CONTR_SINTESI_20190204_preMioFoglio




  
  
  
  
  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)  
-- =============================================  
--select count(*) from c6stagingperiodico.spb_contr_sintesi  
CREATE procedure [C6StagingPeriodico].[RP_ST_SPB_CONTR_SINTESI]  
AS  
BEGIN  
 SET NOCOUNT ON;  
  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'ST_SPB_CONTR_SINTESI',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
   
-- FC 18/03/2014 Ottimizzazione tempi di esecuzione  
-- Sostituzione in tutte le where condition     
-- condizione DTTRIM = c6martperiodico.gettrimestre2(getdate()  
-- con set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0))  
-- condizione DTTRIM = @dtTrime (set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0))  )  
  
 Declare @dtTrime as decimal;  
   
 Declare @dtTrimePrec as decimal;  
  
 set @dtTrime=convert(decimal,c6martperiodico.gettrimestre2(getdate(),0))  
   
 set @dtTrimePrec=convert(decimal,c6martperiodico.getprevioustrimestre(getdate(),0))  
  
 TRUNCATE TABLE [C6StagingPeriodico].[SPB_CONTR_SINTESI]  
  
 INSERT INTO [C6StagingPeriodico].[SPB_CONTR_SINTESI]  
      ([POSITIONID]  
     ,[DTTRIM]  
     ,[DTRIFE]  
     ,[RETE]  
     ,[CODFIS]  
     ,[CODCONF]  
     ,[NUMPOL]  
     ,[CONTO]  
     ,[RUBR]  
     ,[CUSTGAR]  
     ,[TIPPROD]  
     ,[CODINT]  
     ,[CODPROD]  
     ,[SUBPROD]  
     ,[MAF]  
     ,[CODABI]  
     ,[PCTKEY]  
     ,[DESTIT]  
     ,[CTV]  
     ,[PARTVIA]  
     ,[PARTVIAAL]  
     ,[DTSOTTOS]  
     ,[RENDINIZ]  
     ,[RENDANNO]  
     ,[VALORE]  
     ,[SUBSET]  
     ,[CVN]  
     ,[SALRISC]  
     ,[ISIN])  
  
 SELECT   
     NULL AS [POSITIONID]  
       ,[DTTRIM]  
    ,[DTRIFE]  
           ,[CS].[RETE]  
     ,CASE  
  WHEN CODMAN ='' THEN CODFIS  
  ELSE 'FF@'+CODMAN  
      END AS CODFIS  
    ,[CODCONF]  
    ,[NUMPOL]  
    ,[CONTO]  
    ,case when (tipprod = 'CC' and rubr =' ') then '000'  
   else RUBR end as RUBR  
    ,case when (tipprod = 'CC' and rubr =' ') then '0'  
   else CUSTGAR end as custgar  
    ,[TIPPROD]  
    ,[CODINT]  
    ,[CODPROD]  
    ,[SUBPROD]  
    ,[MAF]  
    ,[CODABI]  
    ,case when (tipprod = 'CC' and rubr =' ') then '0'  
   else PCTKEY end as pctkey  
    ,[DESTIT]  
    ,[CTV]  
    ,[PARTVIA]  
    ,[PARTVIAAL]  
    ,[DTSOTTOS]  
    ,[RENDINIZ]  
    ,[RENDANNO]  
    ,[VALORE]  
    ,[SUBSET]  
    ,[CVN]  
    ,[SALRISC]  
    ,'NA' as ISIN   
   FROM (select * from [C6StagingPeriodico].[WSEICS]   
where [DTTRIM] = @dtTrime) AS CS  
join  
(SELECT  
  Rete, Cod_Fiscale, Data_FineAvanzato, ROW_NUMBER() OVER(PARTITION BY Rete, Cod_Fiscale ORDER BY Data_FineAvanzato) AS UltimoAperto  
 FROM   
        C6MartPeriodico.RP_vContrattiPerGenerazioneReport) C6  
--INNER JOIN  
--   [C6Mart].[CONTRATTOSEI] AS C6  
ON  
   CS.RETE = C6.RETE AND  
-- TRINGALI 19022010  
 (case when cs.codman <> '' then 'FF@'+ ltrim(rtrim(cs.codman)) else cs.codfis end) = C6.COd_fiscale  
--      LEFT JOIN C6StagingPeriodico.WMANDATI AS MANDATI  
--      ON cs.codman = ltrim(rtrim(MANDATI.CODMAND))  
   WHERE [DTTRIM] =@dtTrime  
      AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') >convert(varchar(10),@dtTrimePrec,112) --c6martperiodico.getprevioustrimestre(getdate(),0)--c6martperiodico.gettrimestre2(c6martperiodico.gettrimestre2(getdate(),1),0)  
       -- Atringali C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0)  
       --     AND ISNULL(C6.DATA_FINEAVANZATO,'99991231') > C6MARTPERIODICO.GETTRIMESTRE(GETDATE(),0)  
  
   --V I KE, KS LI RECUPERO DALLA WSEIUL  
   --AND SUBPROD NOT IN ('KE','KS','KW','K1','K2','K3','K4','K5','K6','K7')  
  --modifica Emanuele 20131112  

