DBA Data[Home] [Help]

PACKAGE BODY: APPS.QRM_EQ_FORMULAS

Source


1 PACKAGE BODY QRM_EQ_FORMULAS AS
2 /* $Header: qrmeqflb.pls 115.5 2003/11/22 00:36:20 prafiuly noship $ */
3 
4 
5 
6 
7 PROCEDURE fv_stock(p_price_model	IN		VARCHAR2,
8 		   p_ccy		IN		VARCHAR2,
9 		   p_issue_code		IN		VARCHAR2,
10 		   p_market_set		IN		VARCHAR2,
11 		   p_share_price	IN		NUMBER,
12 		   p_shares_rem		IN		NUMBER,
13 		   p_date		IN		DATE,
14 		   p_fair_value		IN	OUT NOCOPY	NUMBER,
15 		   p_reval_rate		IN	OUT NOCOPY	NUMBER) IS
16 
17 	p_md_in       XTR_MARKET_DATA_P.md_from_set_in_rec_type;
18 	p_md_out      XTR_MARKET_DATA_P.md_from_set_out_rec_type;
19 	l_ric_code    XTR_STOCK_ISSUES.ric_code%TYPE;
20 BEGIN
21   IF (g_proc_level>=g_debug_level) THEN
22      XTR_RISK_DEBUG_PKG.dpush(null,'QRM_EQ_FORMULAS.fv_stock');
23   END IF;
24   IF (p_price_model = 'MARKET') THEN
25 
26     select RIC_CODE
27     into l_ric_code
28     from XTR_STOCK_ISSUES
29     where stock_issue_code = p_issue_code;
30 
31 
32     p_md_in.p_md_set_code := p_market_set;
33     p_md_in.p_source := 'C';
34     p_md_in.p_indicator := 'T';
35     p_md_in.p_spot_date := p_date;
36     p_md_in.p_future_date := p_date;
37     p_md_in.p_ccy := p_ccy;
38     p_md_in.p_contra_ccy := NULL;
39     p_md_in.p_day_count_basis_out := NULL;
40     p_md_in.p_interpolation_method := NULL;
41     p_md_in.p_side := 'B';			-- Always Buy deal, use bid
42     p_md_in.p_batch_id := NULL;
43     p_md_in.p_bond_code := l_ric_code;
44 
45     XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
46 
47     p_reval_rate    := p_md_out.p_md_out;
48     IF (g_proc_level>=g_debug_level) THEN
49        XTR_RISK_DEBUG_PKG.dlog('fv_stock: ' || 'Stock price: '||p_reval_rate);
50     END IF;
51 
52     p_fair_value := p_reval_rate * p_shares_rem;
53     IF (g_proc_level>=g_debug_level) THEN
54        XTR_RISK_DEBUG_PKG.dlog('fv_stock: ' || 'Fair value: '||p_fair_value);
55       XTR_RISK_DEBUG_PKG.dpop(null,'QRM_EQ_FORMULAS.fv_stock');
56    END IF;
57 
58   END IF;
59 END fv_stock;
60 
61 END;