PDC_REPORT_CreazioneDB/sql/storedCollaudo/C6MartPeriodico_Popolamento_RP_W6CLIREP.sql
2025-06-06 19:02:52 +02:00

149 lines
3.8 KiB
Transact-SQL

-- Schema: C6MartPeriodico
-- Stored Procedure: Popolamento_RP_W6CLIREP
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [C6MartPeriodico].[Popolamento_RP_W6CLIREP]
AS
BEGIN
SET NOCOUNT ON;
--dichiaro variabile data di trimestrale
DECLARE @dttrim int
--valorizzo la data di trimestrale al giorno del congelamento
set @dttrim = CAST(CONVERT(varchar, CAST(C6MartPeriodico.getDataCongelamento() as DATETIME),112) as int)
--print @dttrim
--Tronchiamo la tabella RP_vTuttiIPortafogli_Aladdin_tab e la ripopoliamo
--a partire dalla vista RP_vTuttiIPortafogli_Aladdin
Truncate table C6StampeCentralizzate.C6MartPeriodico.w6clirep
--
insert into C6StampeCentralizzate.C6MartPeriodico.w6clirep
select
'6' as FLGCLI ,
'M' as FLGBL ,
'A' as TIPOELA,
@dttrim as DTTRIM,
rete,
codfis,
piva,
codman,
'' as CODFID,
'' as CODAGE,
CASE
WHEN cod_interno not in ('SINT3MEUR','SINT6MEUR','09560690') and famprodt = 'DT' THEN isnull(cod_interno,'') --aggiunta SINT6MEUR 10/03/2023
ELSE ''
END as CODABI,
ISNULL(termid,00000000),
cast(annos as int) as anno ,
case when famprodt='GE' then 00000000 --aggiunta con else sotto
else cast(progs as int) end as prog ,
0 as quote,
cast(ctvreale as float) as CTV,
codconf, --17
rubr,
custgar,
ISNULL(cod_interno,''),
'' as codana,
CASE
WHEN cast(annos as int) <> 0 and cast(progs as int) <> 0 then 'S'
ELSE 'N'
END as FLAGPCT,
--CASE
-- WHEN famprodt <> 'DT' and famprodt <> 'CC' THEN isnull(cod_interno,'')
-- ELSE ''
--END
'' as codprod,
ISNULL(cod_sottoprodotto,''),
ISNULL(cod_isin,''),
'' as codlinea,
tipoptf,
area,
progetto,
codprj,
ISNULL(chiave_prodotto_terzi,''),
ISNULL(assetterzi,''),
ISNULL(famprodt,''),
ISNULL(intermediario,''),
ISNULL(codiceadeguatezza,''),
ISNULL(cod_maf,''),
conto,
numpolizza,
position_id,
--aggiunta 08/06/2022
'' as PREFSOST,
'' as FLAGAMB,
'' as FLAGSOC,
'' as FLAGGOV,
Prodotto_id
from [C6StampeCentralizzate].[C6MartPeriodico].[RP_vTuttiIPortafogli_Aladdin]
--aggiunta informazioni codabi per i prodotti PCT
SELECT [DTTRIM]
,[DTRIFE]
,ltrim(rtrim([RETE])) as rete
,ltrim(rtrim([CODFIS])) as codfis
,ltrim(rtrim([CODCONF])) as codconf
,[NUMPOL]
,ltrim(rtrim([CONTO])) as conto
,[RUBR]
,[CUSTGAR]
,ltrim(rtrim([TIPPROD])) as tipprod
,ltrim(rtrim([CODINT])) as codint
,[CODPROD]
,[SUBPROD]
,[MAF]
,[CODABI]
,[PCTKEY]
,[DESTIT]
,[CTV]
,[PARTVIA]
,[PARTVIAAL]
,[DTSOTTOS]
,[RENDINIZ]
,[RENDANNO]
,[VALORE]
,[SUBSET]
,[CVN]
,[QUOTE]
,ltrim(rtrim([CODMAN])) as codman
,[SALRISC]
,[ATTIVO]
into #PCT --selezioniamo dalla wseics i soli clienti possessori di un pct in portafoglio
FROM [C6StampeCentralizzate].[C6StagingPeriodico].[wseics] WHERE CODABI <> ''
and pctKey <> ''
and dttrim = (Select Max(dttrim) from [C6StampeCentralizzate].[C6StagingPeriodico].[wseics])
UPDATE [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep]
set codabi = pct.codabi
--select w6.rete,pct.rete,w6.codfis,w6.piva,pct.codfis,w6.codman,pct.codman,w6.conto,pct.conto,w6.codconf,pct.codconf,pct.codabi
--, pct.tipprod,w6.famprodt
from #PCT pct
left join [C6StampeCentralizzate].[C6MartPeriodico].[w6clirep] as w6
on w6.rete=pct.rete and w6.codfis+w6.piva+w6.codman = ltrim(rtrim(pct.codfis))+ltrim(rtrim(pct.codman))
and w6.codconf=ltrim(rtrim(pct.codconf)) and w6.conto=ltrim(rtrim(pct.conto)) and w6.famprodt = ltrim(rtrim(pct.tipprod))
where w6.flagpct = 'S'
-- Aggiungiamo le informazioni mancanti per il codman piva_fiduciaria
select b.cod_mandato