-- Schema: C6StagingPeriodico
-- Stored Procedure: RP_ST_CREA_POSITIONID






--  
--select * from c6stagingperiodico.spb_contr_sintesi  
--where positionId is null  
  
-- =============================================  
-- Author:  <Author,,Name>  
-- Create date: <Create Date,,>  
-- Description: <Description,,>  
-- Aggiunta GESTIONE EligoTitoli L192 (FCianfa, 26/11/2014)  
-- =============================================  
CREATE procedure [C6StagingPeriodico].[RP_ST_CREA_POSITIONID]  
AS  
BEGIN  
  
 SET NOCOUNT ON;  
  
 -- Log esecuzione  
 INSERT INTO LOG_ESECUZIONE_PERIODICO  
  (Nome, Inizio, Nota)  
 VALUES (  
  'RP_ST_CREA_POSITIONID_1',  
  GETDATE(),  
  'Elaborazione trimestrale'  
 )  
   
 --********************************************************************************************  
--select * from c6stagingperiodico.rp_catalogoprodotti  
  
-- FC 05052014  
-- Interventi :  
    -- Eliminata ( commentata ) where condition spb.positionid is null  
    -- Eliminato ( commentato ) ciclo While @Visible   
  
update C6StagingPeriodico.SPB_CONTR_SINTESI  
set positionid = null  
  
 declare @visible int   
 set @visible = 1  
-- while @visible >= 0  
--  begin  
  
   update C6StagingPeriodico.SPB_CONTR_SINTESI  
   set positionid = catalogueid   
   FROM   
   C6StagingPeriodico.SPB_CONTR_SINTESI SPB inner join   
   (  
   select * from c6stagingperiodico.rp_catalogoprodotti where visibilita = @visible  
   )CAT  
   on    
   --caso 1  
   (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')  
   and SPB.subprod not in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302')  
--inizio intervento MIGRAZIONE ASU3   
--inizio INTERVENTO 'RE' - 20161213     
   --and spb.CODINT not in ('RS','RB','RM','RV')  
			--inizio INTERVENTO 'RF/MP' - 20171204
				--and spb.CODINT not in ('RS','RB','RM','RV','RE')  
				and spb.CODINT not in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L'
,'1M','2M','3M','4M','5M','6M','7M','8M','9M')
				--fine INTERVENTO 'RF/MP' - 20171204
--fine INTERVENTO 'RE' - 20161213     
  
--fine intervento MIGRAZIONE ASU3        
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')  
   and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,''))  
--inizio intervento MIGRAZIONE ASU3     
   or  
   --caso 1a  
--inizio INTERVENTO 'RE' - 20161213     
   --(spb.CODINT in ('RS','RB','RM','RV')  
		--inizio INTERVENTO 'RF/MP' - 20171204     
			-- (spb.CODINT in ('RS','RB','RM','RV','RE')  +
			(spb.CODINT in ('RS','RB','RM','RV','RE', 'RF','IE','XP','3A', '3L'
,'1M','2M','3M','4M','5M','6M','7M','8M','9M')
			--fine INTERVENTO 'RF/MP' - 20171204
--FINE INTERVENTO 'RE' - 20161213     
     
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')  
   and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,''))   
   and isnull(cat.codisin,'')  = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end  
--fine intervento MIGRAZIONE ASU3           
   or   
   --else caso 1b   
   (SPB.TipProd in ('FI', 'GE', 'ASUL', 'ASU1', 'ASVI', 'ASCM', 'AC','CC')  
   and SPB.subprod in ('LIQUI', 'VAR5', 'VAR10', 'VAR15', 'L191', 'L192','V301','V302')  
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')  
   and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')  
   and cat.TIPOPRODOTTO = SPB.TipProd   
   )  
   or  
   --caso 2  
--   (SPB.TipProd in ('ASU2')  
   (SPB.TipProd in ('ASU2','GP')  
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')  
   and isnull(cat.CODSOTTOPRODOTTO,'') = isnull(spb.SUBPROD,'')  
   and isnull(cat.codisin,'')  = case when isnull(spb.ISIN,'') = 'NA' then '' else isnull(spb.ISIN,'') end  
   )  
   or  
   --caso 3  
   (SPB.TipProd in ('DT','ASD')  
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')  
   )  
   or  
   --caso 4  
   (SPB.TipProd in ('GES')  
   and isnull(cat.CODINTERNO,'') = isnull(spb.CODINT,'')   
   and isnull(cat.CODMAF,'') = isnull(spb
