74 lines
3.1 KiB
SQL
74 lines
3.1 KiB
SQL
-- Schema: C6MartPeriodico
|
|
-- Stored Procedure: PL_S50FondiAltriIstituti
|
|
|
|
-- =============================================
|
|
-- Author: <Gentilezza,,Name>
|
|
-- Create date: <Create Date,,>
|
|
-- Description: <Description,,>
|
|
-- =============================================
|
|
-- [C6MartPeriodico].[PL_S50FondiAltriIstituti] 'S', 'MRTRRT57T17E758I'
|
|
CREATE procedure [C6MartPeriodico].[PL_S50FondiAltriIstituti]
|
|
-- Add the parameters for the stored procedure here
|
|
@Rete char(1),
|
|
@CodiceFiscale varchar(16)
|
|
AS
|
|
BEGIN
|
|
|
|
SELECT
|
|
PATRTERZI.INTERMEDIARIO AS Intermediario,
|
|
ANAGPRODTERZI.NOME_PRODOTTO AS descrizione_prodotto,
|
|
dbo.ToShortDateString(PATRTERZI.DATA_SOTTOSCRIZIONE) AS DataSottoscrizione,
|
|
PATRTERZI.FREQ_RATA as tipo_versamento,
|
|
PATRTERZI.CTV as controvalore,
|
|
PATRTERZI.VERSATO_NETTO as ammontare,
|
|
SUM(PATRTERZI.CTV) OVER (PARTITION BY 'TOTALE') as somma_controval,
|
|
RISCHIOPROD.VAR_PERC_PTF as Var_Prodotto,
|
|
CASE WHEN RISCHIOPROD.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOPROD.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_ProdottoString,
|
|
RISCHIOAGGR.VAR_PERC_PTF as Var_Totale,
|
|
CASE WHEN RISCHIOAGGR.VAR_PERC_PTF IS NULL OR ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.' ELSE NULL END as Var_TotaleString,
|
|
--CASE WHEN (ISNULL(RISCHIOAGGR.COPERTURA,100) < 100) THEN '(*) Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%' ELSE '' END AS copertura_totale,
|
|
CASE
|
|
WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100
|
|
THEN 'Grado di copertura: ' + REPLACE(CAST(CAST(RISCHIOAGGR.COPERTURA AS decimal (5,2)) AS varchar),'.',',') + '%'
|
|
ELSE '' -- CASI 0, 100, NULL
|
|
END AS copertura_totale,
|
|
CASE WHEN RISCHIOAGGR.COPERTURA > 0 AND RISCHIOAGGR.COPERTURA < 100 THEN '*' ELSE '' END as Nota,
|
|
CASE WHEN PATRTERZI.COD_PRODOTTO = 'PRODOTTO NON IN CATALOGO' THEN 1 ELSE 0 END AS ProdNonInCatalogo,
|
|
RISCHIOAGGR.CREDITRISK as creditrisk,
|
|
CASE
|
|
WHEN ISNULL(RISCHIOAGGR.COPERTURA,0.00) = 0.00 THEN 'n.c.'
|
|
WHEN RISCHIOAGGR.CREDITRISK IS NULL THEN 'n.a.'
|
|
ELSE NULL
|
|
END as creditriskstring
|
|
|
|
FROM
|
|
C6MartPeriodico.PATRIMONIO_TERZI AS PATRTERZI
|
|
INNER JOIN
|
|
C6MartPeriodico.ANAG_PRODOTTI_TERZI AS ANAGPRODTERZI
|
|
ON
|
|
PATRTERZI.COD_PRODOTTO_TERZI = ANAGPRODTERZI.COD_PRODOTTO_TERZI
|
|
--AND ANAGPRODTERZI.ALBERO_PRODOTTI = 'Ass.Prev'
|
|
AND ANAGPRODTERZI.DESCR_PRODOTTO='Assets.FinancialAssets.ProdottiPrevidenziali'
|
|
LEFT OUTER JOIN
|
|
C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOPROD
|
|
ON
|
|
PATRTERZI.RETE = RISCHIOPROD.RETE
|
|
AND PATRTERZI.COD_FISCALE = RISCHIOPROD.COD_FISCALE
|
|
AND RISCHIOPROD.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO) + '|' + PATRTERZI.cod_prodotto_terzi
|
|
LEFT OUTER JOIN
|
|
C6MartPeriodico.RISCHIO_AGGREGATO AS RISCHIOAGGR
|
|
ON
|
|
PATRTERZI.RETE = RISCHIOAGGR.RETE
|
|
AND PATRTERZI.COD_FISCALE = RISCHIOAGGR.COD_FISCALE
|
|
AND RISCHIOAGGR.COD_AGGREG = 'TIPOPRODTERZI|TERZI|' + ISNULL(DESCR_GRUPPO_PRODOTTO,PATRTERZI.TIPO_PRODOTTO)
|
|
WHERE
|
|
PATRTERZI.rete = @Rete
|
|
and PATRTERZI.cod_fiscale = @CodiceFiscale
|
|
--AND PATRTERZI.TIPO_PRODOTTO = 'Fondi pensione'
|
|
|
|
|
|
|
|
END
|
|
|
|
|