DBA Data[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;