179 lines
7.8 KiB
Transact-SQL
179 lines
7.8 KiB
Transact-SQL
-- exec [C6MartPeriodico].[Segnala_ProdottiNonCensiti]
|
|
CREATE procedure [C6MartPeriodico].[Segnala_ProdottiNonCensiti_20190129]
|
|
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 cur cursor for
|
|
SELECT rete, codiceFiscale, idTipoControllo
|
|
FROM [C6StampeCentralizzate].[C6MartPeriodico].[tb_SegnalazioniDataQuality]
|
|
where idTipoControllo in (1, 2)
|
|
--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)
|
|
--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. SubProd
|
|
declare @CodSottoProdotto varchar(100)
|
|
select distinct @CodSottoProdotto = codsottoprodotto
|
|
from C6StagingPeriodico.RP_CatalogoProdotti
|
|
where
|
|
TipoProdotto = @tipprod
|
|
and
|
|
codinterno = @codint
|
|
and
|
|
codsottoprodotto = @subprod
|
|
--if @@rowcount = 0
|
|
if @CodSottoProdotto is null
|
|
begin
|
|
insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi)
|
|
--select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod --+ ', CodIsin = ' + @isin
|
|
end
|
|
else
|
|
begin
|
|
-- 4. Isin
|
|
declare @CodIsin varchar(100)
|
|
select distinct @CodIsin = codIsin
|
|
from C6StagingPeriodico.RP_CatalogoProdotti
|
|
where
|
|
TipoProdotto = @tipprod
|
|
and
|
|
codinterno = @codint
|
|
and
|
|
codsottoprodotto = @subprod
|
|
and
|
|
codIsin = @isin
|
|
--if @@rowcount = 0
|
|
if @CodIsin is null
|
|
begin
|
|
insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin)
|
|
--select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin
|
|
end
|
|
else
|
|
begin
|
|
-- 5. Maf
|
|
declare @CodMaf varchar(100)
|
|
select distinct codmaf
|
|
from C6StagingPeriodico.RP_CatalogoProdotti
|
|
where
|
|
TipoProdotto = @tipprod
|
|
and
|
|
codinterno = @codint
|
|
and
|
|
codsottoprodotto = @subprod
|
|
and
|
|
codIsin = @isin
|
|
and
|
|
CodMaf = @maf
|
|
--if @@rowcount = 0
|
|
if @CodMaf is null
|
|
begin
|
|
insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN) values (@dtTrim, @Rete, @CodFis, @tipprod, @codint, @codprod, @subprod, @maf, @codabi, @isin)
|
|
--select 'Rete = ' + @Rete + ' CodiceFiscale = ' + @CodFis + ' NON CENSITO ' + 'TipoProdotto = ' + @tipprod + ', CodInterno = ' + @codint + ', CodSottoProdotto = ' + @subprod + ', CodIsin = ' + @isin + ', CodMaf = ' + @maf
|
|
end
|
|
else
|
|
begin
|
|
insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale) values (@dtTrim, @Rete, @CodFis)
|
|
--select 'CENSITO'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
else
|
|
begin
|
|
declare @DesProd varchar(200)
|
|
declare @cod_interno varchar(100)
|
|
declare @cod_sottoprodotto varchar(100)
|
|
select @cod_interno = cod_interno, @cod_sottoprodotto = cod_sottoprodotto, @DesProd = DesProd from C6MartPeriodico.PROVENTI where rete = @Rete and cod_fiscale = @CodFis
|
|
if @DesProd is null
|
|
insert into C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result (dtTrim, rete, codiceFiscale, CODINT, SUBPROD) values (@dtTrim, @Rete, @CodFis, @cod_interno, @cod_sottoprodotto)
|
|
end
|
|
--*************************
|
|
set @TipoProdotto = null
|
|
set @CodInterno = null
|
|
set @CodSottoProdotto = null
|
|
set @CodMaf = null
|
|
set @CodIsin = null
|
|
fetch next from cur into @Rete, @CodFis, @idTipoControllo
|
|
end
|
|
close cur
|
|
deallocate cur
|
|
select
|
|
Rete,
|
|
CodiceFiscale,
|
|
isnull(TIPPROD, '') as TIPPROD,
|
|
isnull(CODINT, '') as CODINT,
|
|
isnull(CODPROD, '') as CODPROD,
|
|
isnull(SUBPROD, '') as SUBPROD,
|
|
isnull(MAF, '') as MAF,
|
|
isnull(CODABI, '') as CODABI,
|
|
isnull(ISIN, '') as ISIN
|
|
from C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result
|
|
order by TIPPROD, CODINT, CODPROD, SUBPROD, MAF, CODABI, ISIN
|
|
--drop table C6MartPeriodico.tSegnala_ProdottiNonCensiti_Result |