[Home] [Help]
PACKAGE: APPS.XTR_REVAL_PROCESS_P
Source
1 PACKAGE XTR_REVAL_PROCESS_P as
2 /* $Header: xtrrevls.pls 120.7 2005/06/29 10:24:37 rjose ship $ */
3 -----------------------------------------------------------------------------------------------------------------
4 -- Global variable to hold status
5 G_STATUS NUMBER := null;
6
7 -- constant for PARAMETER_CODE in xtr_company_parameters
8 C_FRA_DISCOUNT_METHOD constant VARCHAR2(30) := 'REVAL_FRADM';
9 C_FX_DISCOUNT_METHOD constant VARCHAR2(30) := 'REVAL_FXDSM';
10 C_FUTURE_DATE_NI constant VARCHAR2(30) := 'REVAL_FDNDR';
11 C_INCOST constant VARCHAR2(20) := 'REVAL_INCTC';
12 C_EXCHANGE_RATE_TYPE constant VARCHAR2(30) := 'ACCNT_EXRTP';
13 C_DEAL_SETTLE_ACCOUNTING constant VARCHAR2(30) := 'ACCNT_TSDTM';
14 C_MARKET_DATA_SET constant VARCHAR2(30) := 'REVAL_DFMDS';
15 C_BEGIN_FV constant VARCHAR2(30) := 'REVAL_FABEV';
16 C_BTEST constant VARCHAR2(30) := 'ACCNT_BTEST';
17
18 -- constant for xtr_deals.CALC_BASIS
19 C_CALC_BASIS_Y constant VARCHAR2(10) := 'YIELD';
20 C_CALC_BASIS_D constant VARCHAR2(10) := 'DISCOUNT';
21 C_CALC_BASIS_I constant VARCHAR2(10) := 'INT';
22
23 -- constant for market data set and etc.
24 C_SOURCE constant VARCHAR2(2) := 'R';
25 C_HIST_SOURCE constant VARCHAR2(2) := 'C';
26 C_INTERPOL_LINER constant VARCHAR2(2) := 'D';
27 C_YEAR_RATE constant VARCHAR2(1) := 'Y';
28
29 -- indicator for XTR_MARKET_DATA_P.get_md_from_set()
30 C_YIELD_IND constant VARCHAR2(1) := 'Y';
31 C_DISCOUNT_IND constant VARCHAR2(2) := 'DR';
32 C_DISCOUNT_FAC constant VARCHAR2(2) := 'D';
33 C_VOLATILITY_IND constant VARCHAR2(1) := 'V';
34 C_SPOT_RATE_IND constant VARCHAR2(1) := 'S';
35 --C_FORWARD_RATE_IND constant VARCHAR2(1) := 'F';
36 C_BOND_IND constant VARCHAR2(1) := 'B';
37 C_STOCK_IND constant VARCHAR2(1) := 'T';
38
39 -- pricing model, value from xtr_price_models
40 C_P_MODEL_DIS constant VARCHAR2(30) := 'DISC_METHOD';
41 C_P_MODEL_GARMAN constant VARCHAR2(30) := 'GARMAN_KOHL';
42 C_P_MODEL_FXO constant VARCHAR2(30) := 'FX_FORWARD';
43 C_P_MODEL_BLACK constant VARCHAR2(30) := 'BLACK';
44 C_P_MODEL_FRA_Y constant VARCHAR2(30) := 'FRA_YIELD';
45 C_P_MODEL_FRA_D constant VARCHAR2(30) := 'FRA_DISC';
46 C_P_MODEL_MARKET constant VARCHAR2(30) := 'MARKET';
47 C_P_MODEL_FACE constant VARCHAR2(30) := 'FACE_VALUE';
48 C_P_MODEL_TMM_DIS constant VARCHAR2(30) := 'DISC_CASHFLOW';
49
50 -- Bond amount type
51 C_REALMTM constant VARCHAR2(7) := 'REALMTM';
52 C_REALAMC constant VARCHAR2(7) := 'REALAMC';
53 C_UNREAL constant VARCHAR2(7) := 'UNREAL';
54
55 -- define some exception
56 e_no_pre_batch EXCEPTION;
57 e_batch_been_run EXCEPTION;
58 e_invalid_dealno EXCEPTION;
59 e_invalid_dealtype EXCEPTION;
60 e_invalid_transno EXCEPTION;
61 e_invalid_price_model EXCEPTION;
62 e_invalid_deal_subtype EXCEPTION;
63 e_invalid_code EXCEPTION;
64 e_date_order_error EXCEPTION;
65
66 -- reset the g_call_by_form variable, must call before
67 -- running the concurrent program
68 g_call_by_form BOOLEAN := TRUE;
69 PROCEDURE set_call_by_curr;
70 PROCEDURE set_call_by_form;
71
72 TYPE xtr_revl_rec is record
73 (company_code VARCHAR2(7),
74 deal_no NUMBER,
75 deal_type VARCHAR2(7),
76 deal_subtype VARCHAR2(30),
77 product_type VARCHAR2(10),
78 batch_id NUMBER,
79 period_start DATE,
80 period_end DATE,
81 batch_start DATE,
82 revldate DATE, -- Batch end date
83 fair_value NUMBER,
84 init_fv NUMBER,
85 reval_rate NUMBER,
86 deal_ex_rate_one NUMBER,
87 deal_ex_rate_two NUMBER,
88 reval_ex_rate_one NUMBER,
89 reval_ex_rate_two NUMBER,
90 reval_fx_fwd_rate NUMBER,
91 trans_no NUMBER,
92 ow_type VARCHAR2(15),
93 ow_value NUMBER,
94 year_calc_type VARCHAR2(15),
95 year_basis NUMBER,
96 discount_yield VARCHAR2(1),
97 deal_date DATE,
98 start_date DATE,
99 maturity_date DATE,
100 expiry_date DATE,
101 settle_action VARCHAR2(7),
102 settle_date DATE,
103 settle_amount NUMBER,
104 premium_action VARCHAR2(7),
105 premium_amount NUMBER,
106 market_data_set VARCHAR2(30),
107 pricing_model VARCHAR2(30),
108 brokerage_amount NUMBER,
109 portfolio_code VARCHAR2(30),
110 transaction_rate NUMBER,
111 currencya VARCHAR2(15),
112 currencyb VARCHAR2(15),
113 effective_date DATE,
114 contract_code VARCHAR2(30),
115 face_value NUMBER,
116 fxo_sell_ref_amount NUMBER,
117 reval_ccy VARCHAR2(15),
118 cap_or_floor VARCHAR2(7),
119 account_no VARCHAR2(20),
120 swap_ref VARCHAR2(10),
121 sob_ccy VARCHAR2(15),
122 ex_rate_type VARCHAR2(30),
123 eligible_date DATE,
124 ni_disc_amount NUMBER,
125 status_code VARCHAR2(30),
126 quantity NUMBER,
127 remaining_quantity NUMBER
128 );
129
130 TYPE xtr_eligible_rec is record(
131 ACCOUNT_NO VARCHAR2(20),
132 BROKERAGE_AMOUNT NUMBER,
133 CAP_OR_FLOOR VARCHAR2(7),
134 COMPANY_CODE VARCHAR2(7),
135 CONTRACT_CODE VARCHAR2(30),
136 CURRENCYA VARCHAR2(15),
137 CURRENCYB VARCHAR2(15),
138 DEAL_DATE DATE,
139 DEAL_NO NUMBER,
140 DEAL_SUBTYPE VARCHAR2(30),
141 DEAL_TYPE VARCHAR2(7),
142 DISCOUNT_YIELD VARCHAR2(1),
143 EFFECTIVE_DATE DATE,
144 ELIGIBLE_DATE DATE,
145 EXPIRY_DATE DATE,
146 FACE_VALUE NUMBER,
147 FX_REVAL_PRINCIPAL_BAL NUMBER,
148 FXO_SELL_REF_AMOUNT NUMBER,
149 MARKET_DATA_SET VARCHAR2(30),
150 MATURITY_DATE DATE,
151 PORTFOLIO_CODE VARCHAR2(30),
152 PREMIUM_ACTION VARCHAR2(7),
153 PREMIUM_AMOUNT NUMBER,
154 PREMIUM_CCY VARCHAR2(15),
155 PRICING_MODEL VARCHAR2(30),
156 PRODUCT_TYPE VARCHAR2(10),
157 SETTLE_ACTIOn VARCHAR2(7),
158 SETTLE_AMOUNT NUMBER,
159 SETTLE_DATE DATE,
160 START_DATE DATE,
161 STATUS_CODE VARCHAR2(30),
162 SWAP_REF VARCHAR2(10),
163 TRANSACTION_NO NUMBER,
164 TRANSACTION_RATE NUMBER,
165 YEAR_BASIS NUMBER,
166 YEAR_CALC_TYPE VARCHAR2(15));
167
168 TYPE xtr_bond_rec is record
169 (batch_id NUMBER,
170 deal_no NUMBER,
171 cross_ref_no NUMBER,
172 face_value NUMBER,
173 init_fv NUMBER,
174 amc_real NUMBER,
175 mtm_real NUMBER,
176 resale_rec_date DATE,
177 clean_px NUMBER,
178 maturity_face_value NUMBER,
179 start_face_value NUMBER,
180 start_fair_value NUMBER,
181 cum_unrel_gl NUMBER,
182 cum_unrel_gl_bal NUMBER,
183 pre_gl_rate NUMBER);
184
185 TYPE xtr_stock_rec is record
186 (batch_id NUMBER,
187 deal_no NUMBER,
188 cross_ref_no NUMBER,
189 fair_value NUMBER,
190 init_cons NUMBER,
191 quantity NUMBER,
192 init_quantity NUMBER,
193 remaining_quantity NUMBER,
194 price_per_share NUMBER,
195 prev_price NUMBER,
196 real_gl NUMBER,
197 resale_rec_date DATE,
198 cum_unrel_gl NUMBER,
199 pre_gl_rate NUMBER);
200
201 TYPE xtr_revl_fx_rate is record(
202 num_days NUMBER,
203 year_basis NUMBER,
204 spot_rate NUMBER,
205 base_yield_rate NUMBER,
206 contra_yield_rate NUMBER,
207 fx_forward_rate NUMBER);
208
209 TYPE xtr_prev_hedge is record(
210 fair_value NUMBER,
211 rate NUMBER,
212 sob_rate NUMBER,
213 cum_pl NUMBER);
214
215
216 TYPE err_log is record(
217 line_num NUMBER,
218 deal_id NUMBER,
219 trans_no NUMBER,
220 deal_type VARCHAR2(7),
221 err_warn NUMBER, -- new column to specify whether it's an error (1) or warning (0)
222 log VARCHAR2(200));
223
224 TYPE t_errlog is table of err_log index by binary_integer;
225
226 /* the t_log is a global array to hold error and exception
227 information, the t_log.line_num should start with 1 and
228 increment by 1 as array grows, the whole array should
229 dump to output log when concurrent program exit
230 */
231 t_log t_errlog;
232
233 -- insert to array
234 /* t_log_insert commented by Ilavenil for 2566462*/
235 --PROCEDURE t_log_insert(rlog IN err_log);
236 -- write to output file
237 PROCEDURE t_log_dump;
238 -- array initialization
239 PROCEDURE t_log_init;
240 -- return the size of t_log
241 FUNCTION t_log_count return NUMBER;
242
243 PROCEDURE GET_ALL_REVAL_RATES (l_company IN VARCHAR2,
244 l_start_date IN DATE,
245 l_end_date IN DATE,
246 l_upgrade_batch IN VARCHAR2,
247 l_batch_id IN OUT NOCOPY NUMBER);
248
249 PROCEDURE CALC_REVALS(
250 errbuf OUT NOCOPY VARCHAR2,
251 retcode OUT NOCOPY NUMBER,
252 p_company IN VARCHAR2,
253 p_batch_id IN NUMBER);
254
255 PROCEDURE xtr_revl_main(
256 p_batch_id IN NUMBER,
257 rec IN OUT NOCOPY xtr_revl_rec,
258 r_rd IN OUT NOCOPY XTR_REVALUATION_DETAILS%rowtype,
259 retcode OUT NOCOPY NUMBER);
260
261 PROCEDURE xtr_get_deal_value(
262 l_tmp IN xtr_eligible_rec,
263 rec IN OUT NOCOPY xtr_revl_rec,
264 r_rd OUT NOCOPY XTR_REVALUATION_DETAILS%rowtype);
265
266 PROCEDURE xtr_revl_get_fairvalue(
267 rec IN OUT NOCOPY xtr_revl_rec,
268 fair_value OUT NOCOPY NUMBER,
269 retcode OUT NOCOPY NUMBER);
270
271 PROCEDURE xtr_revl_get_unrel_pl(
272 rec IN OUT NOCOPY xtr_revl_rec,
273 unrel_pl_value OUT NOCOPY NUMBER,
274 cum_pl_value OUT NOCOPY NUMBER,
275 retcode OUT NOCOPY NUMBER);
276
277 PROCEDURE xtr_revl_exchange_rate(
278 rec IN OUT NOCOPY xtr_revl_rec,
279 retcode OUT NOCOPY NUMBER);
280
281 PROCEDURE xtr_revl_get_curr_gl(
282 rec IN OUT NOCOPY xtr_revl_rec,
283 unrel_pl_value IN NUMBER,
284 rel_pl_value IN NUMBER,
285 fv_sob_amt OUT NOCOPY NUMBER,
286 rel_sob_gl OUT NOCOPY NUMBER,
287 unrel_sob_gl OUT NOCOPY NUMBER,
288 currency_gl OUT NOCOPY NUMBER);
289
290 PROCEDURE xtr_revl_tmm_curr_gl(
291 rec IN OUT NOCOPY xtr_revl_rec,
292 rel_currency_gl OUT NOCOPY NUMBER,
293 unrel_currency_gl OUT NOCOPY NUMBER);
294
295 PROCEDURE xtr_revl_ca_curr_gl(
296 rec IN OUT NOCOPY xtr_revl_rec,
297 retcode OUT NOCOPY NUMBER);
298
299 PROCEDURE xtr_revl_ig_curr_gl(
300 rec IN OUT NOCOPY xtr_revl_rec,
301 retcode OUT NOCOPY NUMBER);
302
303 PROCEDURE xtr_revl_onc_curr_gl(
304 rec IN OUT NOCOPY xtr_revl_rec,
305 retcode OUT NOCOPY NUMBER);
306
307 PROCEDURE xtr_revl_unreal_log(
308 rec IN xtr_revl_rec,
309 unrel_pl_value IN NUMBER,
310 cum_pl_value IN NUMBER,
311 fv_sob_amt IN NUMBER,
312 unrel_sob_gl IN NUMBER,
313 currency_gl IN NUMBER,
314 r in XTR_REVALUATION_DETAILS%rowtype,
315 retcode OUT NOCOPY NUMBER,
316 p_hedge_flag IN VARCHAR2 DEFAULT NULL);
317
318 PROCEDURE xtr_revl_real_log (
319 rec IN xtr_revl_rec,
320 rel_pl_value IN NUMBER,
321 fv_sob_amt IN NUMBER,
322 rel_sob_gl IN NUMBER,
323 currency_gl IN NUMBER,
324 r in XTR_REVALUATION_DETAILS%rowtype,
325 retcode OUT NOCOPY NUMBER);
326
327 PROCEDURE xtr_insert_event(
328 p_batch_id IN NUMBER);
329
330 PROCEDURE xtr_get_fv_from_batch(
331 rec IN xtr_revl_rec,
332 p_fair_value OUT NOCOPY NUMBER,
333 p_ni_disc_amt OUT NOCOPY NUMBER,
334 p_cumm_unrel_gl OUT NOCOPY NUMBER,
335 p_reval_rate OUT NOCOPY NUMBER);
336
337 FUNCTION xtr_get_pre_batchid(
338 rec IN xtr_revl_rec) return NUMBER;
339
340 FUNCTION xtr_calc_interest(
341 p_principle IN NUMBER,
342 p_start_date IN DATE,
343 p_end_date IN DATE,
344 p_rate IN NUMBER,
345 p_day_count_basis IN VARCHAR2,
346 p_day_count_type IN VARCHAR2 DEFAULT NULL,
347 p_first_trans_flag IN VARCHAR2 DEFAULT NULL) return NUMBER;
348
349 PROCEDURE xtr_revl_getrate_fx(
350 rec IN xtr_revl_rec,
351 p_hedge_flag IN varchar2,
352 r_fx_rate OUT NOCOPY xtr_revl_fx_rate);
353
354 PROCEDURE xtr_revl_fv_fx(
355 rec IN xtr_revl_rec,
356 r_fx_rate IN xtr_revl_fx_rate,
357 p_hedge_flag IN varchar2,
358 fair_value OUT NOCOPY NUMBER,
359 p_sob_curr_rate OUT NOCOPY NUMBER);
360
361 PROCEDURE xtr_revl_fx_curr_gl(
362 rec IN OUT NOCOPY xtr_revl_rec,
363 p_hedge_flag IN VARCHAR2,
367 PROCEDURE xtr_revl_fv_fxh (rec IN OUT NOCOPY xtr_revl_rec,
364 p_realized IN BOOLEAN,
365 currency_gl OUT NOCOPY NUMBER);
366
368 r_rd IN OUT NOCOPY XTR_REVALUATION_DETAILS%rowtype);
369
370 PROCEDURE xtr_revl_fv_hedge (rec IN OUT NOCOPY xtr_revl_rec);
371
372 PROCEDURE xtr_hedge_gl_rate (rec IN OUT NOCOPY xtr_revl_rec,
373 p_start_date IN DATE,
374 p_end_date IN DATE,
375 p_complete_flag IN VARCHAR2);
376
377 PROCEDURE xtr_hedge_fwd_rate(rec IN OUT NOCOPY xtr_revl_rec,
378 p_start_date IN DATE,
379 p_end_date IN DATE,
380 p_complete_flag IN VARCHAR2);
381
382 PROCEDURE xtr_get_prev_fv_rate(rec IN OUT NOCOPY xtr_revl_rec,
383 r_prev_hedge OUT NOCOPY xtr_prev_hedge);
384
385 PROCEDURE xtr_revl_getprice_fxo(
386 rec IN OUT NOCOPY xtr_revl_rec,
387 p_spot_rate IN OUT NOCOPY NUMBER,
388 p_put_price IN OUT NOCOPY NUMBER,
389 p_call_price IN OUT NOCOPY NUMBER);
390
391 PROCEDURE xtr_revl_fv_fxo(
392 rec IN xtr_revl_rec,
393 p_spot_rate IN NUMBER,
394 p_put_price IN NUMBER,
395 p_call_price IN NUMBER,
396 fair_value OUT NOCOPY NUMBER);
397
398 PROCEDURE xtr_revl_getprice_fwd(
399 rec IN xtr_revl_rec, has_transno IN BOOLEAN,
400 fwd_rate OUT NOCOPY NUMBER);
401
402 PROCEDURE xtr_revl_fv_fra(
403 rec IN OUT NOCOPY xtr_revl_rec,
404 p_fra_price IN NUMBER,
405 fair_value OUT NOCOPY NUMBER);
406
407 PROCEDURE xtr_get_base_contra(
408 p_base IN OUT NOCOPY VARCHAR2,
409 p_contra IN OUT NOCOPY VARCHAR2,
410 p_reverse OUT NOCOPY BOOLEAN);
411
412 PROCEDURE xtr_ni_eff_interest(
413 rec IN xtr_revl_rec,
414 pre_disc_amt IN NUMBER,
415 disc_amount OUT NOCOPY NUMBER,
416 eff_interest OUT NOCOPY NUMBER);
417
418 PROCEDURE xtr_revl_mds_init(
419 rec OUT NOCOPY XTR_MARKET_DATA_P.md_from_set_in_rec_type,
420 p_md_set_code VARCHAR2,
421 p_source VARCHAR2,
422 p_indicator VARCHAR2,
423 p_spot_date DATE,
424 p_future_date DATE,
425 p_ccy VARCHAR2,
426 p_contra_ccy VARCHAR2,
427 p_day_count_basis_out VARCHAR2,
428 p_interpolation_method VARCHAR2,
429 p_side VARCHAR2,
430 p_batch_id NUMBER,
431 p_bond_code VARCHAR2);
432
433 PROCEDURE set_err_log(retcode OUT NOCOPY NUMBER);
434
435 PROCEDURE xtr_revl_fv_ni(
436 rec IN xtr_revl_rec,
437 fair_value IN OUT NOCOPY NUMBER,
438 p_revl_rate IN OUT NOCOPY NUMBER);
439
440 PROCEDURE xtr_revl_getrate_ni(
441 rec IN xtr_revl_rec,
442 p_rate_type IN VARCHAR2,
443 p_market_set IN VARCHAR2,
444 p_batch_id IN NUMBER,
445 p_ccy IN VARCHAR2,
446 p_spot_date IN DATE,
447 p_start_date IN DATE,
448 p_end_date IN DATE,
449 p_day_count IN VARCHAR2,
450 p_side IN VARCHAR2,
451 p_deal_basis IN VARCHAR2,
452 p_int_rate OUT NOCOPY NUMBER,
453 p_day OUT NOCOPY NUMBER,
454 p_year OUT NOCOPY NUMBER);
455
456 PROCEDURE xtr_revl_getprice_bond(
457 rec IN xtr_revl_rec,
458 p_bond_clean_price OUT NOCOPY NUMBER);
459
460 PROCEDURE xtr_revl_fv_bond(
461 rec IN OUT NOCOPY xtr_revl_rec,
462 p_clean_price IN NUMBER,
463 fair_value OUT NOCOPY NUMBER);
464
465 PROCEDURE xtr_revl_bond_realamc(rec IN OUT NOCOPY xtr_revl_rec,
466 bo_rec IN xtr_bond_rec);
467
468 PROCEDURE xtr_revl_bond_realmtm(rec IN OUT NOCOPY xtr_revl_rec,
469 bo_rec IN xtr_bond_rec,
470 p_resale IN BOOLEAN);
471
472 PROCEDURE xtr_revl_bond_unreal(rec IN OUT NOCOPY xtr_revl_rec,
473 bo_rec IN OUT NOCOPY xtr_bond_rec,
474 p_resale IN BOOLEAN,
475 p_overwrite IN BOOLEAN);
476
477 PROCEDURE xtr_revl_fv_iro(
478 rec IN OUT NOCOPY xtr_revl_rec,
479 fair_value IN OUT NOCOPY NUMBER);
480
481 PROCEDURE xtr_revl_fv_tmm(
482 rec IN OUT NOCOPY xtr_revl_rec,
483 fair_value IN OUT NOCOPY NUMBER,
484 p_accum_int_sum IN OUT NOCOPY NUMBER,
485 p_fwd_rate IN NUMBER);
486
487 PROCEDURE xtr_revl_present_value_tmm(
488 rec IN xtr_revl_rec,
489 p_batch_id IN NUMBER,
490 p_day_count IN VARCHAR2,
491 p_revl_date IN DATE,
492 p_start_date IN DATE,
493 p_future_val IN NUMBER,
494 p_ccy IN VARCHAR2,
495 p_market_set IN VARCHAR2,
496 p_side IN VARCHAR2,
497 p_present_value OUT NOCOPY NUMBER);
498
499 PROCEDURE xtr_revl_fv_stock(rec in OUT NOCOPY xtr_revl_rec,
500 p_price IN NUMBER,
501 fair_value OUT NOCOPY NUMBER);
502
506 PROCEDURE xtr_revl_stock_unreal(rec IN OUT NOCOPY xtr_revl_rec,
503 PROCEDURE xtr_revl_stock_real(rec IN OUT NOCOPY xtr_revl_rec,
504 st_rec IN xtr_stock_rec);
505
507 st_rec IN xtr_stock_rec,
508 p_resale IN BOOLEAN,
509 p_overwrite IN BOOLEAN,
510 unrel_pl_value IN OUT NOCOPY NUMBER,
511 cum_pl_value IN OUT NOCOPY NUMBER,
512 currency_gl IN OUT NOCOPY NUMBER);
513
514 PROCEDURE xtr_revl_getprice_stock(
515 rec IN xtr_revl_rec,
516 p_stock_price OUT NOCOPY NUMBER);
517
518
519 /* for debug */
520 PROCEDURE dump_xtr_revl_rec(
521 p_name IN VARCHAR2,
522 rec IN xtr_revl_rec);
523
524 PROCEDURE dump_xtr_mds_rec(
525 p_name IN VARCHAR2,
526 rec in XTR_MARKET_DATA_P.md_from_set_in_rec_type);
527
528 FUNCTION xtr_init_fv(
529 rec IN xtr_revl_rec
530 ) return NUMBER;
531
532 Procedure xtr_ins_init_fv
533 (p_company_code in XTR_PARTY_INFO.PARTY_CODE%TYPE,
534 p_deal_no in XTR_DEALS.DEAL_NO%TYPE,
535 p_deal_type in XTR_DEALS.DEAL_TYPE%TYPE,
536 p_transaction_no in XTR_DEALS.TRANSACTION_NO%TYPE,
537 p_day_count_type in XTR_DEALS.DAY_COUNT_TYPE%TYPE DEFAULT NULL
538 );
539
540 PROCEDURE xtr_end_fv(
541 rec IN OUT NOCOPY xtr_revl_rec,
542 end_fv OUT NOCOPY NUMBER);
543
544 PROCEDURE xtr_revl_fv_irs(
545 rec IN OUT NOCOPY xtr_revl_rec,
549 p_mds IN OUT NOCOPY VARCHAR2,
546 fair_value IN OUT NOCOPY NUMBER);
547
548 PROCEDURE xtr_revl_get_mds(
550 rec IN xtr_revl_rec);
551
552 PROCEDURE xtr_first_reval(
553 rec IN xtr_revl_rec,
554 p_out OUT NOCOPY BOOLEAN);
555
556
557 PROCEDURE LOG_MSG
558 (P_TEXT IN VARCHAR2 DEFAULT NULL,
559 P_VALUE IN VARCHAR2 DEFAULT NULL);
560 ------------------------------------------------------------------------------
561
562 PROCEDURE UPDATE_FX_REVALS (l_deal_no IN NUMBER,
563 l_transaction_no IN NUMBER,
564 l_deal_type IN VARCHAR2);
565 end XTR_REVAL_PROCESS_P;