-- Schema: C6MartPeriodico -- Stored Procedure: Segnala_ProdottiNonCensiti -- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti] CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti] as set nocount on declare @Rete varchar(1) declare @CodFis varchar(20) declare @idTipoControllo int declare @tipprod varchar(100) declare @codint varchar(100) declare @codprod varchar(100) declare @subprod varchar(100) declare @maf varchar(100) declare @codabi varchar(100) declare @isin varchar(100) --create table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim varchar(8), rete varchar(1), codiceFiscale varchar(20), TIPPROD varchar(100), CODINT varchar(100), CODPROD varchar(100), SUBPROD varchar(100), MAF varchar(100), CODABI varchar(100), ISIN varchar(100)) declare @dtTrim varchar(8) set @dtTrim = [C6MartPeriodico].[getTrimestre](getdate(),0) exec dbo.CreaTabellaBackUp 'tSegnala_ProdottiNonCensiti_Result', 'C6MartPeriodico' truncate table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result declare @contaLimiter int select @contaLimiter = count(*) from [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] if @contaLimiter = 0 begin declare cur cursor for SELECT rete, codiceFiscale, idTipoControllo FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] where idTipoControllo in (1, 2) end else begin declare cur cursor for SELECT a.rete, a.codiceFiscale, a.idTipoControllo FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality] a inner join [C6StagingPeriodico].[APPO_CONTRATTI_LIMITER] b on a.rete = b.rete and a.codiceFiscale = b.cod_fiscale where a.idTipoControllo in (1, 2) end --and codiceFiscale = 'VNTGNN63D16D704Q' open cur fetch next from cur into @Rete, @CodFis, @idTipoControllo while @@fetch_status = 0 begin select @tipprod = tipprod, @codint = codint, @codprod = codprod, @subprod = subprod, @maf = maf, @codabi = codabi, @isin = isin from C6StagingPeriodico.SPB_CONTR_SINTESI SPB where SPB.rete = @Rete and SPB.codfis = @CodFis and positionid is NULL order by tipprod, codint, subprod if @maf = '' set @maf = null if @idTipoControllo = 1 begin -- 1. TipProd declare @TipoProdotto varchar(100) select distinct @TipoProdotto = TipoProdotto from C6StagingPeriodico.RP_CatalogoProdotti where TipoProdotto = @tipprod -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' --if @@rowcount = 0 if @TipoProdotto is null begin insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODPROD, MAF, CODABI ) values (@dtTrim, @Rete, @CodFis, @tipprod, @codprod, @maf, @codabi) --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod --+ ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin end else begin -- 2. CodInt declare @CodInterno varchar(100) select distinct @CodInterno = codinterno from C6StagingPeriodico.RP_CatalogoProdotti where TipoProdotto = @tipprod and codinterno = @codint -- and codsottoprodotto = 'LSEL' and TipoProdotto = 'ASU2'-- AND CODMAF = '1499131' and codIsin = 'LU1829331989' --if @@rowcount = 0 if @CodInterno is null begin insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @maf, @codabi) --select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint --+ ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin end else begin -- 3