﻿-- =============================================  
-- Author:  Caruso Fabrizio  
-- Create date: 17/09/2014  
-- Description:   
-- Individuazione dei Clienti che presentano in Anagrafica caratteri anomali nei campi che formano l’indirizzo di   
-- domiciliazione del contratto di consulenza  
-- Impostazione Codice TIPO CONTROLLO per il controllo specifico   
-- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" )  
-- =============================================  
-- [C6MartPeriodico].[SP_DQ_CaratteriAnomali] 2  
CREATE procedure [C6MartPeriodico].[SP_DQ_CaratteriAnomali]   
@idFaseElaborazione int  
AS  
BEGIN  
drop table if exists C6MartPeriodico.TB_ClienticonCaratteriAnomali
--drop table #tab_temp  
--drop table #TbErrori  
Declare @idTipoControllo int  
set @idTipoControllo=7     
CREATE TABLE #tab_temp(  
 [Val_Ascii] [smallint] NOT NULL,  
 [Val_Char] [varchar](1) NOT NULL,  
 [Rete] [varchar](1) NOT NULL,  
 [Cod_Fiscale] [varchar](16) NOT NULL,  
 [Nome_Campo] [varchar](50) NOT NULL,  
 [Val_Campo] [varchar](150) NOT NULL)  
insert into #tab_temp  
exec [C6MartPeriodico].[CercaCaratteriAnomali]  
select val_Ascii,Val_Char,Rete,Cod_Fiscale,Nome_Campo,Val_Campo
into C6MartPeriodico.TB_ClienticonCaratteriAnomali
from #tab_temp
select *,@idTipoControllo idTipoControllo  
    into #TbErrori  
from #tab_temp  
declare @idElab  int  
select @idElab=max(id_elab) from  c6martperiodico.elaborazioni  
--select * from c6martperiodico.tb_tipocontrollo  
Insert into C6MartPeriodico.TB_SegnalazioniDataQuality  
(   
idTipoControllo,  
rete,  
codiceFiscale,  
descSegnalazione,  
idElaborazione,  
richiesta,  
idFaseElaborazione)  
select tbErr.idTipoControllo,rete,cod_fiscale,  
Replace(replace(DescSegnalazione,'campo$',tbErr.Nome_Campo),'carattere$',tbErr.Val_Char) ,@idelab,'',@idFaseElaborazione  
from #TbErrori tbErr  
inner join c6martperiodico.tb_tipocontrollo Tipo  
on tbErr.idtipocontrollo = tipo.idTipoControllo  
end