-- Schema: C6MartPeriodico -- Stored Procedure: SP_DQ_PosizioniDuplicate -- ============================================= -- Author: Caruso Fabrizio -- Create date: 17/09/2014 -- Description: -- Individuazione dei Clienti che presentano una o pił posizioni duplicate -- nel proprio patrimonio finanziario -- Impostazione Codice TIPO CONTROLLO per il controllo specifico -- ( per riferimenti al tipo controllo verificare tabella "tb_tipocontrollo" ) -- ============================================= -- ATTENZIONE !!! -- La SP che carica la Patrimonio BF effettua un controllo dopo una prima elaborazione e scarta -- i record "duplicati". Riporto la query di INPUT per poter effetturare il test e lo scarto CREATE procedure [C6MartPeriodico].[SP_DQ_PosizioniDuplicate] @idFaseElaborazione int AS BEGIN Declare @idTipoControllo int set @idTipoControllo=4 -- Selezione in Tabella Temporanea Verifica_CAMPIONE dei record "doppi" SELECT -- PER DIVERSI DA CC ************************ SPB.RETE AS RETE, SPB.CODFIS AS COD_FISCALE, SPB.POSITIONID AS POSITIONID, SUBSTRING(SPB.POSITIONID,1,57) AS COD_PRODOTTO, SPB.CODCONF AS ID_CONTRATTO, CASE WHEN ISDATE(SPB.DTSOTTOS) = 0 THEN NULL ELSE CAST(CAST(SPB.DTSOTTOS AS VARCHAR(8)) AS DATETIME) END AS DATA_SOTTOSCRIZIONE, null AS COD_STATO, SPB.NUMPOL AS NUM_POLIZZA, SPB.MAF AS COD_MAF, SPB.CODINT AS COD_INTERNO, SPB.SUBPROD AS COD_SOTTOPRODOTTO, SPB.TIPPROD AS TIPO_PRODOTTO, CASE WHEN CON.area = 'Inv' AND CON.tipoProgetto = 0 THEN 'Prodotti non associati a progetti' ELSE LTRIM(RTRIM(CON.nomeProgetto)) END AS NOME_PROGETTO, case when isnull(CON.tipoProgetto, '') = '' then 'Default' when CON.tipoProgetto = 0 then 'Default' else 'ProgettoInvestimento' end as TIPO_PROGETTO, CON.area AS ID_AREA, CASE WHEN ISDATE(SPB.DTRIFE) = 0 THEN NULL ELSE CAST(CAST(SPB.DTRIFE AS VARCHAR(8)) AS DATETIME) END AS DATA_OPERAZIONE, NULL AS DATA_VALUTA, NULL AS DATA_REGOLAMENTO, SPB.QUOTE AS QUANTITA, NULL AS PREZZO, SPB.CTV AS CTV, SPB.VALORE AS CTV_NOMINALE, CASE WHEN (SPB.TIPPROD = 'GE' OR SPB.TIPPROD = 'GES') AND SPB.DTSOTTOS < 20070101 THEN NULL WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') THEN NULL WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') THEN NULL WHEN SPB.CVN = 0 THEN NULL ELSE SPB.CVN END AS VERSATO_NETTO, SPB.PARTVIA AS PARTVIA_DISINV, CASE WHEN ISDATE(SPB.PARTVIAAL) = 0 THEN NULL ELSE CAST(CAST(SPB.PARTVIAAL AS VARCHAR(8)) AS DATETIME) END AS DATA_PARTVIA_DISINV, NULL AS PARTVIA_INV, CASE WHEN (SPB.TIPPROD = 'GE' OR SPB.TIPPROD = 'GES') AND SPB.DTSOTTOS < 20070101 THEN NULL WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') THEN NULL WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') THEN NULL ELSE SPB.RENDINIZ END AS REND_SOTTOSCRIZIONE, null AS REND_TRIMESTRE, CASE WHEN (SPB.TIPPROD = 'GE' OR SPB.TIPPROD = 'GES') AND SPB.DTSOTTOS < 20070101 THEN NULL WHEN SPB.TIPPROD IN ( 'ASVI','ASU1') THEN NULL WHEN SPB.TIPPROD = 'ASUL' AND SPB.CODINT NOT IN ('18','19','35','PR','PX') THEN NULL ELSE SPB.RENDANNO END AS REND_ANNO, CON.StrType, CON.Complessita AS COMPLEX, CON.DescrizioneEmittente AS EMITTENTE, SPB.ISIN, CON.chiaveClientePB, --nuovo 0 AS REND_NON_RAPPR, CON.ChiaveProgetto AS ORDINAMENTO_PROGETTO, CASE WHEN CON.orizzonteTemporale = 0 THEN NULL ELSE CON.orizzonteTemporale END AS ORIZZ_TEMP_NUM, CASE WHEN ISNULL(ORIZZONTETEMPORALE, 0) = 0 THEN NULL ELSE LTRIM(RTRIM(ORIZZONTETEMPORALE)) + ' anni' END AS ORIZZONTETEMPORALE, CON.CHIAVEPROGETTO AS CHIAVEPROGETTO -- fine nuovo --*************************************** INTO #Verifica_CAMPIONE --*************************