DBA Data[Home] [Help]

PACKAGE: APPS.XTR_MM_COVERS

Source


1 PACKAGE XTR_MM_COVERS AS
2 /* $Header: xtrmmcvs.pls 120.8 2005/06/29 11:03:02 csutaria ship $ */
3 
4 
5 /*----------------------------------------------------------------------------
6  Calculates the future value given either the yield or discount rate as
7  the input.
8 
9  IMPORTANT: There are two ways to use this API, the first one is passing in
10 	the p_DAY_COUNT and p_ANNUAL_BASIS, the second one is passing in the
11 	Present Value date (p_PV_DATE), Future Value date (p_FV_DATE),
12 	p_DAY_COUNT_BASIS, p_RATE_TYPE, and p_COMPOUND_FREQ.
13 	The second method is the one that should be used due to some
14 	complications in determining whether a period is less or greater
15 	than a year (refer to Bug 2295869) and whether a rate should be a
16 	simple rate (period is less than a year) or annually compounding rate
17 	(period is greater than or equal to a year).
18 
19  RECORD Data Type:
20    IN:    P_INDICATOR varchar2
21           P_PRESENT_VALUE num
22           P_RATE num
23           P_DAY_COUNT num
24           P_ANNUAL_BASIS num
25           P_PV_DATE date
26           P_FV_DATE date
27           P_DAY_COUNT_BASIS varchar2
28  	  P_RATE_TYPE varchar2
29 	  P_COMPOUND_FREQ number
30    OUT:   P_FUTURE_VAL num
31 
32  * P_INDICATOR is to differentiate whether the rate is a discount rate or a
33    yield rate.(Y=Yield Rate, DR=Discount Rate).
34  * P_FUTURE_VAL = the amount at maturity .
35  * P_PRESENT_VAL  = the fair value of the discounted security.
36  * P_RATE = Yield Rate or Discount Rate (annualized)
37  * P_DAY_COUNT = number of days between the PRESENT_VALUE date and
38    FUTURE_VALUE date. This parameter must be NULL if want
39    (For example: DAY_COUNT = Maturity Date -
40    Settlement Date in Discounted Securities Calculator HLD).
41  * P_ANNUAL_BASIS = number of days in a year where the RATE and the
42    DAY_COUNT are based on.
43  * P_PV_DATE = the PRESENT_VALUE date (For example: p_PV_DATE =  Settlement
44 	Date in Discounted Securities Calculator HLD).
45  * P_FV_DATE = the FUTURE_VALUE date (For example: p_FV_DATE =  Maturity
46 	Date in Discounted Securities Calculator HLD).
47  * P_DAY_COUNT_BASIS = the day count basis of p_RATE.
48  * P_RATE_TYPE = the rate type of p_RATE. Possible values are: (S)imple,
49 	com(P)ounded, and (C)ontinuous.
50  * P_COMPOUND_FREQ = the compounding frequency of P_RATE, only necessary if
51 	p_RATE_TYPE='P'.
52 ----------------------------------------------------------------------------*/
53 TYPE futureValue_out_rec_type is record (p_future_val NUMBER);
54 TYPE futureValue_in_rec_type is record  (p_indicator    VARCHAR2(2),
55 				  	 p_present_val  NUMBER,
56 				  	 p_rate         NUMBER,
57 				  	 p_day_count    NUMBER,
58 				  	 p_annual_basis NUMBER,
59 					  p_pv_date 	 DATE,
60 					  p_fv_date	 DATE,
61 					  p_day_count_basis VARCHAR2(20),
62 					  p_rate_type 	 VARCHAR2(1),
63 					  p_compound_freq NUMBER);
64 
65 /*----------------------------------------------------------------------------
66  Calculates the present value given either the yield rate, discount rate,
67  or discount factor as the input.
68 
69  IMPORTANT: There are two ways to use this API, the first one is passing in
70 	the p_DAY_COUNT and p_ANNUAL_BASIS, the second one is passing in the
71 	Present Value date (p_PV_DATE), Future Value date (p_FV_DATE),
72 	p_DAY_COUNT_BASIS, p_RATE_TYPE, and p_COMPOUND_FREQ.
73 	The second method is the one that should be used due to some
74 	complications in determining whether a period is less or greater
75 	than a year (refer to Bug 2295869) and whether a rate should be a
76 	simple rate (period is less than a year) or annually compounding rate
77 	(period is greater than or equal to a year).
78 
79  RECORD Data Type:
80     IN:     P_INDICATOR char
81             P_FUTURE_VALUE num
82             P_RATE nu
83             P_DAY_COUNT date default
84             P_ANNUAL_BASIS num default
85     OUT:    P_PRESENT_VALUE num
86 
87  * P_INDICATOR is to differentiate whether the rate is a discount rate,
88    a yield rate, or a disocunt factor.(Y=Yield Rate, DR=Discount Rate,
89    D=Disount Factor).
90  * P_FUTURE_VAL = the amount at maturity .
91  * P_PRESENT_VAL  = the fair value of the discounted security.
92  * P_RATE = Yield Rate, Discount Rate, or Discount Factor (annualized)
93  * P_DAY_COUNT = number of days between the PRESENT_VALUE date and
94    FUTURE_VALUE date. (For example: DAY_COUNT = Maturity Date -
95    Settlement Date in Discounted Securities Calculator HLD).
96  * P_ANNUAL_BASIS = number of days in a year where the RATE and the
97    DAY_COUNT are based on.
98  * P_PV_DATE = the PRESENT_VALUE date (For example: p_PV_DATE =  Settlement
99 	Date in Discounted Securities Calculator HLD).
100  * P_FV_DATE = the FUTURE_VALUE date (For example: p_FV_DATE =  Maturity
101 	Date in Discounted Securities Calculator HLD).
102  * P_DAY_COUNT_BASIS = the day count basis of p_RATE.
103  * P_RATE_TYPE = the rate type of p_RATE. Possible values are: (S)imple,
104 	com(P)ounded, and (C)ontinuous.
105  * P_COMPOUND_FREQ = the compounding frequency of P_RATE, only necessary if
106 	p_RATE_TYPE='P'.
107 ----------------------------------------------------------------------------*/
108 TYPE PresentValue_out_rec_type is record (p_present_val NUMBER);
109 TYPE PresentValue_in_rec_type is record  (p_indicator    VARCHAR2(2),
110 				  	  p_future_val   NUMBER,
111 				  	  p_rate         NUMBER,
112 				  	  p_day_count    NUMBER,
113 				  	  p_annual_basis NUMBER,
114 					  p_pv_date 	 DATE,
115 					  p_fv_date	 DATE,
116 					  p_day_count_basis VARCHAR2(20),
117 					  p_rate_type 	 VARCHAR2(1),
118 					  p_compound_freq NUMBER);
119 
120 
121 
122 --
123 -- Calculates the FRA Settlement Amount in FRA Calculator when the input
124 -- parameter is set to 'Yield'.
125 --
126 -- RECORD Data Type:
127 --    IN:     P_INDICATOR char
128 --            P_FRA_PRICE num
129 --            P_SETTLEMENT_RATE num
130 --            P_FACE_VALUE num
131 --            P_DAY_COUNT num
132 --            P_ANNUAL_BASIS num
133 --    OUT:    P_SETTLEMENT_AMOUNT num
134 --
135 -- * P_INDICATOR is to differentiate whether the settlement rate parameter
136 --   is a discount rate or a yield rate.(Y=Yield Rate, DR=Discount Rate).
137 -- * P_A_PRICE = fra_rate = fair contract rate of FRA (forward interest
138 --   rate covering from the Start Date to the Maturity Date of the contract).
139 -- * P_SETTLEMENT_RATE = current market annual interest rate.
140 -- * P_FACE_VALUE  = notional principal amount of FRA.
141 -- * P_DAY_COUNT = number of days between the Settlement Date to Maturity Date.
142 -- * P_ANNUAL_BASIS = number of days in a year the SETTLEMENT_RATE and
143 --   DAY_COUNT are based on.
144 -- * P_SETTLEMENT_AMOUNT = absolute profit or loss amount
145 -- * p_DEAL_TYPE = an indicator whether the deal subtype is fund ('FUND') or
146 --   invest ('INVEST'). This affects whether one pay/loss (-) or receive/gain (+)
147 --   in the settlement.
148 --
149 TYPE fra_settlement_out_rec_type is record (p_settlement_amount NUMBER);
150 TYPE fra_settlement_in_rec_type is record  (p_indicator       VARCHAR2(2),
151 			    		    p_fra_price       NUMBER,
152 			    		    p_settlement_rate NUMBER,
153 			    		    p_face_value      NUMBER,
154 			    		    p_day_count       NUMBER,
155 			    		    p_annual_basis    NUMBER,
156 					    p_deal_subtype    VARCHAR2(7));
157 
158 /*----------------------------------------------------------------------------
159 INTEREST_FORWARD_RATE
160 
161 Calculates the FRA Price (Interest Forward Rate) given either yield rates or
162 discount factors as input.
163 
164 INT_FORW_RATE_IN_REC_TYPE
165 IN:     p_indicator
166 	p_t num
167 	p_T1 num
168 	p_Rt num
169 	p_RT1 num
170 	p_year_basis num
171 INT_FORW_RATE_OUT_REC_TYPE
172 OUT: 	p_fra_rate num
173 
174 Assumption:  all interest rates (p_Rt and p_Rt1)  have the same day count
175 basis.
176 p_t = number of days from today to start date
177 p_T1 = number of days from today to maturity date
178 p_Rt = if p_indicator = 'Y' : annualized interest rate for maturity in
179   p_t days, if p_indicator = 'D': discount factor for maturity in p_t days.
180 p_RT1 = if p_indicator = 'Y' : annualized interest rate for maturity in p_T1
181   days, if p_indicator = 'D': discount factor for maturity in p_T1 days.
182 p_year_basis = number of days in a year the interest rate is based on.
183 p_fra_rate = fair contract rate of FRA (forward interest rate covering from
184   the Start Date to the Maturity Date).
185 p_indicator = an indicator whether the input rates are yield rates ('Y') or
186   discount factors ('D').
187 ----------------------------------------------------------------------------*/
188 TYPE int_forw_rate_out_rec_type is record (p_fra_rate 	NUMBER);
189 TYPE int_forw_rate_in_rec_type is record  (p_indicator	VARCHAR2(1),
190 			    		   p_t       	NUMBER,
191 			    		   p_T1 	NUMBER,
192 			    		   p_Rt      	NUMBER,
193 			    		   p_RT1       	NUMBER,
194 			    		   p_year_basis	NUMBER);
195 
196 /*----------------------------------------------------------------------------
197 BLACK_OPTION_PRICE_CV
198 
199 Calculates the price of the interest rate option price using Black's Formula.
200 Record Data Type
201 BLACK_OPT_CV_IN_REC_TYPE
202 IN:
203 p_PRINCIPAL num
204 p_STRIKE_RATE num
205 p_IR_SHORT num
206 p_RATE_TYPE_SHORT varchar2 DEFAULT 'S'
207 p_COMPOUND_FREQ_SHORT num
208 p_DAY_COUNT_BASIS_SHORT varchar2
209 p_IR_LONG num
210 p_RATE_TYPE_LONG varchar2 DEFAULT 'S'
211 p_COMPOUND_FREQ_LONG num
212 p_DAY_COUNT_BASIS_LONG varchar2
213 p_SPOT_DATE date
214 p_START_DATE date
215 p_MATURITY_DATE date
216 p_VOLATILITY num
217 
218 BLACK_OPT_CV_OUT_REC_TYPE
219 OUT:
220 p_CAPLET_PRICE num
221 p_FLOORLET_PRICE num
222 p_Nd1 num
223 p_Nd2 num
224 p_Nd1_A num
225 p_Nd2_A num
226 
227 p_PRINCIPAL = the principal amount from which the interest rate is calculated
228 p_STRIKE_RATE = Rx = simple interest rate for the deal
229 p_IR_SHORT = market simple interest rate for the period between the spot date
230   and the start date
231 p_RATE_TYPE_SHORT = the p_IR_SHORT rate's type. 'S' for Simple Rate.
232   'C' for Continuous Rate, and 'P' for Compounding Rate.
233   Default value = 'S' (Simple IR).
234 p_DAY_COUNT_BASIS_SHORT = day count basis for p_IR_SHORT
235 p_IR_LONG = market simple interest rate for the period between the spot date and
236   the maturity date
237 p_RATE_TYPE_LONG = the p_IR_LONG rate's type. 'S' for Simple Rate. 'C' for
238   Continuous Rate, and 'P' for Compounding Rate. Default value = 'S' (Simple IR)
239 p_DAY_COUNT_BASIS_LONG = day count basis for p_IR_LONG
240 p_SPOT_DATE = the date when the evaluation/calculation is done
241 p_START_DATE = the date when the deal becomes effective.
242 p_END_DATE = the date when the deal matures.
243 p_VOLATILITY = volatility of interest rate per annum
244 p_CAPLET_PRICE = interest rate collars
245 p_FLOORLET_PRICE = interest rate floors (CAPLET_PRICE = FLOORLET_PRICE + SWAP_VALUE)
246 p_Nd1/2 = cumulative distribution value given limit probability values in
247   Black's formula = N(x) (refer to Hull's Fourth Edition p.252)
248 p_Nd1/2_A = N'(x) in Black's formula (refer to Hull's Fourth Edition p.252)
249 p_COMPOUND_FREQ_SHORT/LONG = frequencies of discretely compounded input/output rate.
250 This is only necessary if either p_RATE_TYPE_SHORT or p_RATE_TYPE_LONG is 'P'.
251 p_FORWARD_RATE = forward rate from start date to maturity date with compound frequency equivalent to the time span between start date and maturity date (=simple rate).
252 ----------------------------------------------------------------------------*/
253 TYPE black_opt_cv_in_rec_type IS RECORD (p_PRINCIPAL  NUMBER,
254 				p_STRIKE_RATE NUMBER,
255 				p_RATE_TYPE_STRIKE varchar2(1) DEFAULT  'S',
256 				p_COMPOUND_FREQ_STRIKE NUMBER,
257 				p_DAY_COUNT_BASIS_STRIKE varchar2(15),
258 				p_IR_SHORT NUMBER,
259 				p_RATE_TYPE_SHORT varchar2(1) DEFAULT  'S',
260 				p_COMPOUND_FREQ_SHORT NUMBER,
261 				p_DAY_COUNT_BASIS_SHORT varchar2(15),
262 				p_IR_LONG NUMBER,
263 				p_RATE_TYPE_LONG varchar2(1) DEFAULT  'S',
264 				p_COMPOUND_FREQ_LONG NUMBER,
265 				p_DAY_COUNT_BASIS_LONG varchar2(15),
266 				p_SPOT_DATE date,
267 				p_START_DATE date,
268 				p_MATURITY_DATE date,
269 				p_VOLATILITY NUMBER);
270 
271 TYPE black_opt_cv_out_rec_type IS RECORD (p_CAPLET_PRICE NUMBER,
272 				p_FLOORLET_PRICE NUMBER,
273 				p_FORWARD_FORWARD_RATE NUMBER,
274 				p_Nd1 NUMBER,
275 				p_Nd2 NUMBER,
276 				p_Nd1_A NUMBER,
277 				p_Nd2_A NUMBER);
278 
279 ----------------------------------------------------------------------------------------------------------------
280 -- This is just a cover function that determines whether CALC_DAYS_RUN or
281 -- CALC_DAYS_RUN_B should be called
282 -- use this procedure instead of CALC_DAYS_RUN if ACT/ACT-BOND day count basis
283 -- is used
284 -- When this procedure is called, and if the method is ACT/ACT-BOND,be aware of
285 -- the fact that year_basis will be
286 -- calculated incorrectly if start_date and end_date combined do not form a
287 -- coupon period. So, if year_basis are needed, make sure that, coupon periods
288 -- are sent in as parameters. num_days are calculated correctly all the time
289 PROCEDURE CALC_DAYS_RUN_C(start_date IN DATE,
290                           end_date   IN DATE,
291                           method     IN VARCHAR2,
292                           frequency  IN NUMBER,
293                           num_days   IN OUT NOCOPY NUMBER,
294                           year_basis IN OUT NOCOPY NUMBER,
295                           fwd_adjust IN NUMBER DEFAULT NULL,
296 			  day_count_type IN VARCHAR2 DEFAULT NULL,
297 			  first_trans_flag IN VARCHAR2 DEFAULT NULL);
298 
299 -- This calculates the number of days and year basis for bond only day count
300 -- basis(ACT/ACT-BOND)
301 -- For ACT/ACT-BOND day count basis, this procedure must be used or preferably
302 -- through CALC_DAYS_RUN_C. CALC_DAYS_RUN must not be used for the day count
303 -- basis
304 -- When this procedure is called, be aware of the fact that year_basis will be
305 -- calculated incorrectly if start_date and end_date combined do not form a
306 -- coupon period. So, if year_basis are needed, make sure that, coupon periods
307 -- are sent in as parameters. num_days are calculated correctly all the time
308 PROCEDURE CALC_DAYS_RUN_B(start_date IN DATE,
309                           end_date   IN DATE,
310                           method     IN VARCHAR2,
311                           frequency  IN NUMBER,
312                           num_days   IN OUT NOCOPY NUMBER,
313                           year_basis IN OUT NOCOPY NUMBER);
314 
315 -- Calculate over a Year Basis and Number of Days ased on different calc
316 -- methods.  Note that this procedure now supports ACTUAL/365L day count basis,
317 -- but it does not support ACT/ACT-BOND day count basis. In order to use the day
318 -- count basis, CALC_DAYS_RUN_C must be used
319 PROCEDURE CALC_DAYS_RUN(start_date IN DATE,
320                         end_date   IN DATE,
321                         method     IN VARCHAR2,
322                         num_days   IN OUT NOCOPY NUMBER,
323                         year_basis IN OUT NOCOPY NUMBER,
324                         fwd_adjust IN NUMBER DEFAULT NULL,
325 			day_count_type IN VARCHAR2 DEFAULT NULL,
326 			first_trans_flag IN VARCHAR2 DEFAULT NULL);
327 
328 
329 PROCEDURE future_value(p_in_rec  IN futureValue_in_rec_type,
330 		       p_out_rec IN OUT NOCOPY futureValue_out_rec_type);
331 
332 PROCEDURE present_value(p_in_rec  IN presentValue_in_rec_type,
333 		        p_out_rec IN OUT NOCOPY presentValue_out_rec_type);
334 
335 PROCEDURE fra_settlement_amount(p_in_rec  IN fra_settlement_in_rec_type,
336 			    	p_out_rec IN OUT NOCOPY fra_settlement_out_rec_type);
337 
338 PROCEDURE interest_forward_rate (p_in_rec IN int_forw_rate_in_rec_type,
339 				p_out_rec OUT NOCOPY int_forw_rate_out_rec_type);
340 
341 PROCEDURE black_option_price_cv (p_in_rec IN black_opt_cv_in_rec_type,
342 				p_out_rec OUT NOCOPY black_opt_cv_out_rec_type);
343 
344 
345 -- added fhu 5/3/02
346 -- bug 2358592 needed new fields when merged from xtr_calc_p
347 -- bug 2804548: p_yield can be used for discount margin for FLOATING BOND
348 TYPE bond_price_yield_in_rec_type is RECORD (
349 	p_bond_issue_code        	VARCHAR2(7),
353 	p_yield                  	NUMBER,
350 	p_settlement_date        	DATE,
351 	p_ex_cum_next_coupon    	VARCHAR2(3),-- EX,CUM
352 	p_calculate_yield_or_price	VARCHAR2(1),-- Y,P
354 	p_accrued_interest    		NUMBER,
355 	p_clean_price            	NUMBER,
356 	p_dirty_price           	NUMBER,
357 	p_input_or_calculator		VARCHAR2(1), -- C,I
358 	p_commence_date			DATE,
359 	p_maturity_date			DATE,
360 	p_prev_coupon_date        	DATE,
361 	p_next_coupon_date        	DATE,
362 	p_calc_type			VARCHAR2(15),
363 	p_year_calc_type		VARCHAR2(15),
364 	p_accrued_int_calc_basis	VARCHAR2(15),
365 	p_coupon_freq			NUMBER,
366         p_calc_rounding            	NUMBER,
367 	p_price_rounding           	NUMBER,
368         p_price_round_type         	VARCHAR2(2),
369 	p_yield_rounding		NUMBER,
370 	p_yield_round_type         	VARCHAR2(2),
371 	p_coupon_rate			NUMBER,
372 	p_num_coupons_remain		NUMBER,
373         p_day_count_type                VARCHAR2(1),
374         p_first_trans_flag              VARCHAR2(1),
375         p_currency                      VARCHAR2(15),  -- COMPOUND COUPON
376         p_face_value                    NUMBER,        -- COMPOUND COUPON
377         p_consideration                 NUMBER,        -- COMPOUND COUPON
378         p_rounding_type                 VARCHAR2(1),   -- COMPOUND COUPON
379         p_deal_subtype                  VARCHAR2(7));
380 
381 TYPE bond_price_yield_out_rec_type is RECORD (
382 	p_yield                  	NUMBER,
383 	p_accrued_interest    		NUMBER,
384 	p_clean_price            	NUMBER,
385 	p_dirty_price           	NUMBER,
386 	p_actual_ytm                    NUMBER); --bug 2804548
387 
388 -----------------------------------------------------------------------------
389 -- COMPOUND COUPON: to return start date or maturity date of the first coupon
390 -----------------------------------------------------------------------------
391 FUNCTION  ODD_COUPON_DATE  (p_commence_date IN  DATE,
392                             p_maturity_date IN  DATE,
393                             p_frequency     IN  NUMBER,
394                             p_odd_date_ind  IN  VARCHAR2) return DATE;
395 
396 -----------------------------------------------------------------------------
397 -- COMPOUND COUPON: to return total full coupons
398 -----------------------------------------------------------------------------
399 FUNCTION  FULL_COUPONS (p_commence_date IN  DATE,
400                         p_maturity_date IN  DATE,
401                         p_frequency     IN  NUMBER) return NUMBER;
402 
403 -----------------------------------------------------------------------------
404 -- COMPOUND COUPON: to return total full coupons
405 -----------------------------------------------------------------------------
406 FUNCTION  PREVIOUS_FULL_COUPONS (p_commence_date   IN  DATE,
407                                  p_maturity_date   IN  DATE,
408                                  p_settlement_date IN  DATE,
409                                  p_frequency       IN  NUMBER) return NUMBER;
410 
411 ----------------------------------------------------------------
412 -- COMPOUND COUPON: to return coupon amount or redemption value
413 ----------------------------------------------------------------
414 TYPE COMPOUND_CPN_REC_TYPE is RECORD (
415         p_bond_start_date       DATE,
416         p_odd_coupon_start      DATE,
417         p_odd_coupon_maturity   DATE,
418         p_full_coupon           NUMBER,
419         p_coupon_rate           NUMBER,
420         p_maturity_amount       NUMBER,
421         p_precision             NUMBER,
422         p_rounding_type         VARCHAR2(1),
423         p_year_calc_type        VARCHAR2(15),
424         p_frequency             NUMBER,
425         p_day_count_type        VARCHAR2(10),
426         p_amount_redemption_ind VARCHAR2(1));
427 
428 FUNCTION  CALC_COMPOUND_COUPON_AMT(p_compound_rec    IN  COMPOUND_CPN_REC_TYPE) return NUMBER;
429 
430 ----------------------------------------------------------------
431 -- COMPOUND COUPON: to return total previous quasi coupon
432 ----------------------------------------------------------------
433 TYPE BOND_INFO_REC_TYPE is RECORD (
434         p_bond_commence         DATE,
435         p_odd_coupon_start      DATE,
436         p_odd_coupon_maturity   DATE,
437         p_calc_date             DATE,        -- either Settlement Date or Accrual Date
438         p_yr_calc_type          VARCHAR2(15),
439         p_frequency             NUMBER,
440         p_curr_coupon           NUMBER,      -- ratio of <Prv_Cpn to p_calc_date> to <Prv_Cpn to Nxt_Cpn>
441         p_prv_full_coupon       NUMBER,      -- number of FULL Coupons before p_calc_date
442         p_day_count_type        VARCHAR2(10));
443 FUNCTION  CALC_TOTAL_PREVIOUS_COUPON(p_bond_rec     IN   BOND_INFO_REC_TYPE) return number;
444 
445 
446 PROCEDURE CALCULATE_BOND_PRICE_YIELD ( p_py_in	IN	BOND_PRICE_YIELD_IN_REC_TYPE,
447 	                               p_py_out	IN OUT NOCOPY	BOND_PRICE_YIELD_OUT_REC_TYPE);
448 
449 --Start Bug 2804548
450 TYPE BndRateFixDate_out_rec is record (rate_fixing_date DATE);
451 TYPE BndRateFixDate_in_rec is record  (date_in DATE,
452 		rate_fixing_day NUMBER,
453 		ccy xtr_bond_issues.currency%TYPE);
454 PROCEDURE bond_rate_fixing_date_calc(p_in_rec IN BndRateFixDate_in_rec,
455 				 p_out_rec IN OUT NOCOPY BndRateFixDate_out_rec);
456 
460 		transaction_no NUMBER);
457 TYPE CalcBondCpnAmt_out_rec is record (coupon_amt NUMBER,
458 					coupon_tax_amt NUMBER);
459 TYPE CalcBondCpnAmt_in_rec is record  (deal_no NUMBER,
461 PROCEDURE calc_bond_coupon_amt(p_in_rec IN CalcBondCpnAmt_in_rec,
462 				 p_out_rec IN OUT NOCOPY CalcBondCpnAmt_out_rec);
463 
464 TYPE ChkCpnRateReset_out_rec is record (yes BOOLEAN,
465 		deal_no NUMBER);
466 TYPE ChkCpnRateReset_in_rec is record (deal_type xtr_deal_types.deal_type%TYPE,
467 		deal_no NUMBER,
468 		transaction_no NUMBER);
469 PROCEDURE check_coupon_rate_reset(p_in_rec IN ChkCpnRateReset_in_rec,
470 				 p_out_rec IN OUT NOCOPY ChkCpnRateReset_out_rec);
471 --End Bug 2804548
472 
473 END;
474