Oktober, 27 2007 21:10 SQL-Abfrage zur Konsistenzprüfung von Beständen und Investitionskosten. (siehe Beschreibung zu Fehler 306).
Eine Konsistenzprüfung von Beständen und Investitionskosten Zur Fehlersuche bei Fehler 306 oder als einfacher Konsistenzcheck Achtung: Kein Support, keine Funktionsgarantie, Nutzung auf eigene Gefahr (Siehe Text) Anmerkungen: Es handelt sich um zwei unabhängige Abfragen, die man auch einzeln nutzen kann. Die erste prüft den verbuchten (nicht bewerteten) Bestand und vergleicht Taxlots und Positionen. Dabei werden sowohl Nominale, als auch Investitionskosten verglichen. Alle Abweichungen, die über Rundungsfehler hinausgehen (hier > 0,1), werden angezeigt. Die zweite Abfrage macht einen ähnlichen Vergleich in den bewerteten Beständen, vergleicht dabei aber nur die Nominale.
-- Check der PO-Tabellen select pos_balance, txl_balance, pos_invcost, txl_invcost, * from ( select WPP_KDNR, WPP_SECURITY_NUMBER, WPP_SECURITY_CCY, WPP_PORTFOLIO, sum(WPP_CLOSING_BALANCE) as pos_balance, sum(WPP_COST_OF_INV_SEC_CCY_CURR) as pos_invcost from vw_ccy_powpp group by WPP_KDNR, WPP_SECURITY_NUMBER, WPP_SECURITY_CCY, WPP_PORTFOLIO ) positionsdaten inner join ( select WPT_PFNR, WPT_WKN, WPT_SECURITY_CCY, WPT_PF_CCY, sum(WPT_CLOSING_BALANCE) as txl_balance, sum(WPT_COST_OF_INV_SEC_CCY_CURR) as txl_invcost from vw_ccy_powpt where WPT_STATUS='' group by WPT_PFNR, WPT_WKN, WPT_SECURITY_CCY, WPT_PF_CCY ) taxlotdaten on WPP_KDNR= WPT_PFNR and WPP_SECURITY_NUMBER=WPT_WKN and WPP_SECURITY_CCY=WPT_SECURITY_CCY and WPP_PORTFOLIO=WPT_PF_CCY and ( abs( pos_invcost - txl_invcost) >0.1 or abs( pos_balance - txl_balance)>0.1 ) inner join kdpfs on PFS_PFNR= WPP_KDNR and PFS_ART_INTERN='P' --------------------------------------------------------------------------------
-- check der BDPOS vs BDTXL select sum_pos_balance, sum_txl_balance, * from (select pos_client, pos_wkn, pos_wp_whrg, pos_pf_ccy, sum(pos_record_balance) as sum_pos_balance from bdpos group by pos_client, pos_wkn, pos_wp_whrg, pos_pf_ccy) positions inner join (select TXL_CLIENT, TXL_WKN, TXL_WP_WHRG, TXL_PF_CCY, sum(TXL_RECORD_BALANCE) as sum_txl_balance from bdtxl group by TXL_CLIENT, TXL_WKN, TXL_WP_WHRG, TXL_PF_CCY) taxlots on POS_CLIENT = TXL_CLIENT and POS_WKN = TXL_WKN and POS_WP_WHRG = txl_WP_WHRG and POS_PF_CCY= TXL_PF_CCY and sum_pos_balance <> sum_txl_balance inner join kdpfs on PFS_PFNR= pos_client and PFS_ART_INTERN='P' ---------------------------------------------------------------------------------------------
K. Behrmann
|