-- Schema: C6Mart -- Stored Procedure: DM_PopolaContratti_old240213 -- ============================================= -- Author: Luca -- Create date: 13/11/2008 -- Description: Aggiornamento tabella contratti -- ============================================= CREATE procedure [C6Mart].[DM_PopolaContratti_old240213] AS BEGIN DECLARE @ULTIMOPROGRINVIO int--SMALLINT DECLARE @ORDINEELAB int--SMALLINT DECLARE @inizio DATETIME DECLARE @fine DATETIME DECLARE @righeUpdate INT DECLARE @righeInsert INT SET @inizio = GETDATE() SET @righeUpdate = 0 SET @righeInsert = 0 -- Log esecuzione INSERT INTO LOG_ESECUZIONE (Nome, Inizio, Nota) VALUES ( 'DM_PopolaContratti', @inizio, 'Elaborazione giornaliera' ) --AGGIORNAMENTO CONTRATTI --I RECORD PRESENTI NELLA VARIAZIONE_CONTRSEI POTREBBERO ESSERE --POPOLATI IN ELABORAZIONI DIFFERENTI. VANNO ESEGUITI IN ORDINE --DICHIARAZIONE CURSORE PER ESTRARRE LE ELABORAZIONI DECLARE ELABORAZIONI CURSOR LOCAL FORWARD_ONLY FOR SELECT ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA FROM C6STAGING.VARIAZIONE_CONTRSEI --where ORDINE_DI_ELABORAZIONE_RIGA < 10000 and ULTIMO_PROGRESSIVO_INVIO > 1000 ORDER BY ULTIMO_PROGRESSIVO_INVIO, ORDINE_DI_ELABORAZIONE_RIGA --APERTURA CURSORE OPEN ELABORAZIONI FETCH NEXT FROM ELABORAZIONI INTO @ULTIMOPROGRINVIO, @ORDINEELAB WHILE @@FETCH_STATUS = 0 BEGIN --AGGIORNAMENTO CONTRATTI ESISTENTI UPDATE C6Mart.CONTRATTOSEI SET --Rete = VARC6.RETE_PB Cod_Fiscale = VARC6.CODICE_FISCALE ,Data_Sott = VARC6.DATA_SOTTOSCRIZIONE_C6 --,CodiceContratto = ,Cod_Agente = VARC6.PB ,Data_Perf_Base = VARC6.DATA_PERFEZIONAMENTO_BASE ,Data_Perf = VARC6.DATA_PERFEZIONAMENTO_C6 ,Fascia_CPP = VARC6.CPP ,Email = VARC6.EMAIL ,Indirizzo = VARC6.INDIRIZZO ,CAP = VARC6.CAP ,Citta = VARC6.CITTA ,Prov = VARC6.PROVINCIA ,Nazione = VARC6.NAZIONE ,Presso = VARC6.PRESSO --,Data_Inizio = ,Freq_Diagnosi = VARC6.FREQUENZA_DIAGNOSI ,Freq_Monitor = ISNULL(VARC6.FREQUENZA_MONITORAGGIO,'T') --,Freq_DiagnosiPrec = --,Freq_MonitorPrec = --,Data_InizioConsInv = ,Data_InizioBase = VARC6.DATA_SOTTOSCRIZIONE_BASE ,Data_FineBase = VARC6.DATA_CHIUSURA_BASE --,Data_InizioAvanzato = ,Data_FineAvanzato = VARC6.DATA_CHIUSURA_C6 ,ProgressivoInvio = VARC6.ULTIMO_PROGRESSIVO_INVIO ,GenerazioneReport = VARC6.FLAG_STAMPA_REPORT --,InvioBenvenuto = --,DataUltimoInvio = --,ClienteMigrato = ISNULL(LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1),'N') --,RisorseNA = ,NumSolleciti = CASE WHEN (C6.Rete <> VARC6.Rete_PB OR C6.Cod_Agente <> VARC6.PB) THEN 0 --WHEN (LEFT(MIGR.FLAG_CLIENTE_MIGRATO,1)='S' AND ISNULL(C6.RisorseNA,'N')='N') THEN 0 ELSE NumSolleciti END --,Data_UltimoSollecito = --,Note = ,Rol = isnull(VARC6.Flag_Rol,'N') ,tip_Contratto = CASE WHEN VARC6.tip_Contratto = 'A' THEN 1 WHEN VARC6.tip_Contratto = 'P' THEN 2 ELSE 0 END FROM C6MART.CONTRATTOSEI C6 INNER JOIN C6STAGING.VARIAZIONE_CONTRSEI VARC6 ON -- no join sul codice fiscale poiché, in caso di sua variazione, verrebbe trattato come nuovo contratto C6.RETE = VARC6.RETE_PB --AND C6.COD_FISCALE = VARC6.CODICE_FISCALE AND C6.CODICECONTRATTO = VARC6.CODICE_CONTRATTO AND VARC6.ULTIMO_PROGRESSIVO_INVIO = @ULTIMOPROGRINVIO AND VARC6.ORDINE_DI_ELABORAZIONE_RIGA = @ORDINEELAB SET @righeUpdate = @righeUpdate + @@ROWCOUNT --INSERIMENTO NUOVI CONTRATTI INSERT INTO C6Mart.CONTRATTOSEI (Rete ,Cod_Fiscale ,Piva_Fiduciaria ,Data_Sott ,