1 PACKAGE pn_index_amount_pkg AS
2 -- $Header: PNINAMTS.pls 120.5 2007/01/30 09:40:09 hrodda ship $
3
4 -- +===========================================================================+
5 -- | Copyright (c) 2001 Oracle Corporation
6 -- | Redwood Shores, California, USA
7 -- | All rights reserved.
8 -- +===========================================================================+
9 -- | Name
10 -- | pn_index_amount_pkg
11 -- |
12 -- | Description
13 -- | This package contains procedures used to calculate index amounts.
14 -- |
15 -- |
16 -- | History
17 -- | 27-MAR-01 jreyes Created
18 -- | 19-JUN-01 jreyes Adding call to create schedules and items..
19 -- | 21-JUN-01 jreyes Adding call to get amount precision from fnd_currency.
20 -- | get_info...
21 -- | 24-JUN-01 jreyes Opened increase on types to all payment term types
22 -- | (LOOKUP Code: PN_PAYMENT_TERM_TYPE)
23 -- | 25-JUl-01 jreyes Added NVL clause to all cursors that use increase_on
24 -- | of pn_index_leases.
25 -- | 26-JUl-01 jreyes Removed CCID parm of PNT_PAYMENT_TERMS_PKG.
26 -- | 03-AUG-01 jreyes Incorporated payment aggregation.
27 -- | 20-SEP-01 psidhu Added param p_called_from to CREATE_PAYMENT_TERM_RECORD
28 -- | 05-dec-01 achauhan In create_payment_term_record added out NOCOPY param
29 -- | op_payment_term_id.
30 -- | 15-JAN-02 Mrinal Added dbdrv command.
31 -- | 01-FEB-02 Mrinal Added checkfile command.
32 -- | 06-May-02 psidhu bug 2356045 - Added parameter p_negative_rent_type to
33 -- | procedure create_payment_terms.
34 -- | 19-Jul-02 psidhu bug 2452909. Added procedure process_currency_code.
35 -- | 01-Aug-02 psidhu Changes for carry forward funtionality. Added param
36 -- | p_index_period_id, p_carry_forward_flag,
37 -- | op_constraint_applied_amount,op_carry_forward_amount
38 -- | to derive_constrained_rent. Added functions
39 -- | derive_carry_forward_amount, derive_prev_negative_rent,
40 -- | get_increase_over_constraint and get_max_assessment_dt.
41 -- | Added procedure calculate_subsequent_periods.
42 -- | 17-Oct-02 psidhu Changes for carry forward funtionality.Removed function
43 -- | derive_carry_forward_amount. Added function
44 -- | derive_cum_carry_forward.Added param
45 -- | op_carry_forward_percent and
46 -- | op_constraint_applied_percent to derive_constrained_rent
47 -- | Added param op_constraint_applied_percent and
48 -- | op_carry_forward_percent to calculate_period.
49 -- | 06-AUG-04 ftanudja o add parameter ip_auto_find_sch_day in
50 -- | approve_index_pay_term_batch. #3701195.
51 -- | 08-OCT-04 stripath o BUG 3961117, added new param p_calculate_date to
52 -- | create_payment_terms, create_payment_term_record.
53 -- | 19-OCT-04 stripath o Added function Get_Calculate_Date.
54 -- | 19-SEP-05 piagrawa o Overload Get_Calculate_Date for R12 - use ORG_ID
55 -- | 05-MAY-06 Hareesha o Bug # 5115291 Added paramater p_norm_st_date to
56 -- | procedure create_payment_term_record.
57 -- | 01-Nov-06 Prabhakar o Added parameter p_end_date to create_payment_term_record.
58 -- | 12-DEC-06 Prabhakar o Added p_prorate_factor parameter to derive_constrined_rent and
59 -- | create_payemnt_terms procedures.
60 -- +===========================================================================+
61
62
63 g_currency_code pn_index_leases.currency_code%TYPE;
64 g_calculate_date DATE := TO_DATE('01/01/0001', 'MM/DD/YYYY');
65 --
66 -- These are constants used throught this package.
67 --
68 -- BASIS TYPES
69 c_basis_type_fixed CONSTANT CHAR (5) := 'FIXED';
70 c_basis_type_rolling CONSTANT CHAR (7) := 'ROLLING';
71 c_basis_type_compound CONSTANT CHAR (8) := 'COMPOUND';
72 -- INCREASE ON
73 c_increase_on_base_rent CONSTANT CHAR (9) := 'BASE_RENT';
74 c_increase_on_oper_expenses CONSTANT CHAR (12) := 'OPER_EXPENSE';
75 c_increase_on_gross CONSTANT CHAR (5) := 'GROSS';
76 -- RELATION TYPES
77 c_relation_basis_only CONSTANT CHAR (10) := 'BASIS_ONLY';
78 c_relation_greater_of CONSTANT CHAR (10) := 'GREATER_OF';
79 c_relation_index_only CONSTANT CHAR (10) := 'INDEX_ONLY';
80 c_relation_lesser_of CONSTANT CHAR (9) := 'LESSER_OF';
81 -- RELATION TYPES
82 c_constraint_period_to_period CONSTANT CHAR (16) := 'PERIOD_TO_PERIOD';
83 c_constraint_rent_due CONSTANT CHAR (8) := 'RENT_DUE';
84 -- INDEX FINDER TYPES
85 c_index_finder_backbill CONSTANT CHAR (8) := 'BACKBILL';
86 c_index_finder_finder_date CONSTANT CHAR (11) := 'FINDER_DATE';
87 c_index_finder_most_recent CONSTANT CHAR (11) := 'MOST_RECENT';
88 -- REFERENCE TYPES
89 c_ref_period_base_year CONSTANT CHAR (9) := 'BASE_YEAR';
90 c_ref_period_prev_year_asmt_dt CONSTANT CHAR (24) := 'PREV_YEAR_ASSMT_DATE_DUR';
91 c_ref_period_prev_year_prv_cpi CONSTANT CHAR (26) := 'PREV_YEAR_PREV_CURRENT_CPI';
92 -- INVOICE SPREAD TYPES
93 c_spread_frequency_monthly CONSTANT CHAR (3) := 'MON';
94 c_spread_frequency_one_time CONSTANT CHAR (2) := 'OT';
95 c_spread_frequency_quarterly CONSTANT CHAR (3) := 'QTR';
96 c_spread_frequency_semiannual CONSTANT CHAR (2) := 'SA';
97 c_spread_frequency_annually CONSTANT CHAR (2) := 'YR';
98 -- NEGATIVE RENT TYPES
99 c_negative_rent_this_period CONSTANT CHAR (11) := 'THIS_PERIOD';
100 c_negative_rent_ignore CONSTANT CHAR (6) := 'IGNORE';
101 c_negative_rent_next_period CONSTANT CHAR (11) := 'NEXT_PERIOD';
102 -- LEASE CLASS
103 c_lease_class_direct CONSTANT CHAR (6) := 'DIRECT';
104 -- PAYMENT TERM
105 c_payment_term_type_index CONSTANT CHAR (4) := 'INDX';
106 -- PAYMENT TERM STATUS
107 c_payment_term_status_draft CONSTANT CHAR (5) := 'DRAFT';
108 c_payment_term_status_approved CONSTANT CHAR (8) := 'APPROVED';
109 --ACCOUNT CLASS
110 c_account_class_liability CONSTANT CHAR (3) := 'LIA';
111 c_account_class_receivable CONSTANT CHAR (3) := 'REC';
112 c_account_class_expenses CONSTANT CHAR (3) := 'EXP';
113 c_account_class_revenue CONSTANT CHAR (3) := 'REV';
114 c_account_class_accurual CONSTANT CHAR (3) := 'ACC';
115 c_account_class_unearn CONSTANT CHAR (6) := 'UNEARN';
116 --INDEX PAYMENT TERM TYPE
117 c_index_pay_term_type_atlst CONSTANT CHAR (7) := 'ATLEAST';
118 c_index_pay_term_type_atlst_bb CONSTANT CHAR (16) := 'ATLEAST-BACKBILL';
119 c_index_pay_term_type_recur CONSTANT CHAR (9) := 'RECURRING';
120 c_index_pay_term_type_backbill CONSTANT CHAR (8) := 'BACKBILL';
121 g_include_in_var_rent VARCHAR2(30) := NULL;
122 g_include_in_var_check VARCHAR2(1) := NULL;
123 g_create_terms_ext_period VARCHAR2(1) := NULL;
124
125 TYPE item_rec IS RECORD (payment_term_id NUMBER, amount NUMBER);
126
127 item_sum_rec item_rec;
128
129 TYPE item_sum IS TABLE OF item_sum_rec%TYPE
130 INDEX BY BINARY_INTEGER;
131
132 item_amt_tab item_sum;
133
134 ------------------------------------------------------------------------
135 -- PROCEDURE : calculate
136 -- DESCRIPTION: This procedure will perform the following calculations
137 --
138 ------------------------------------------------------------------------
139 PROCEDURE calculate (
140 ip_index_lease_id IN NUMBER
141 ,ip_index_lease_period_id IN NUMBER
142 ,ip_recalculate IN VARCHAR2
143 ,ip_commit IN VARCHAR2 DEFAULT 'N'
144 ,op_msg OUT NOCOPY VARCHAR2
145 );
146
147
148 ------------------------------------------------------------------------
149 -- PROCEDURE : calculate_period
150 -- DESCRIPTION: This procedure will calculate the index amount for a period
151 --
152 -- - Calculate Basis Amount
153 -- - Calculate Index Percentage Change (if necessary)
154 -- asdasdfas
155 --
156 ------------------------------------------------------------------------
157 PROCEDURE calculate_period (
158 ip_index_lease_id IN NUMBER
159 ,ip_index_lease_period_id IN NUMBER
160 ,ip_recalculate IN VARCHAR2
161 ,op_current_basis OUT NOCOPY NUMBER
162 ,op_unconstraint_rent_due OUT NOCOPY NUMBER
163 ,op_constraint_rent_due OUT NOCOPY NUMBER
164 ,op_index_percent_change OUT NOCOPY NUMBER
165 ,op_current_index_line_id OUT NOCOPY NUMBER
166 ,op_current_index_line_value OUT NOCOPY NUMBER
167 ,op_previous_index_line_id OUT NOCOPY NUMBER
168 ,op_previous_index_line_value OUT NOCOPY NUMBER
169 ,op_previous_index_amount IN OUT NOCOPY NUMBER
170 ,op_previous_asmt_date IN OUT NOCOPY DATE
171 ,op_constraint_applied_amount OUT NOCOPY NUMBER
172 ,op_carry_forward_amount OUT NOCOPY NUMBER
173 ,op_constraint_applied_percent OUT NOCOPY NUMBER
174 ,op_carry_forward_percent OUT NOCOPY NUMBER
175 ,op_msg OUT NOCOPY VARCHAR2
176 );
177
178
179 ------------------------------------------------------------------------
180 -- PROCEDURE : calculate_initial_basis
181 -- DESCRIPTION: This procedure will derive the initial basis;
182 --
183 ------------------------------------------------------------------------
184
185 PROCEDURE calculate_initial_basis (
186 p_index_lease_id IN NUMBER
187 ,op_basis_amount OUT NOCOPY NUMBER
188 ,op_msg OUT NOCOPY VARCHAR2
189 );
190
191
192 ------------------------------------------------------------------------
193 -- PROCEDURE : calculate_basis_amount
194 -- DESCRIPTION: This procedure will calculate the basis amount for a given index rent period
195 --
196 ------------------------------------------------------------------------
197 PROCEDURE calculate_basis_amount (
198 p_index_lease_id IN NUMBER
199 ,p_basis_start_date IN DATE
200 ,p_basis_end_date IN DATE
201 ,p_assessment_date IN DATE
202 ,p_initial_basis IN NUMBER
203 ,p_line_number IN NUMBER
204 ,p_increase_on IN VARCHAR2
205 ,p_basis_type IN VARCHAR2
206 ,p_prev_index_amount IN NUMBER DEFAULT NULL
207 ,p_recalculate IN VARCHAR2
208 ,op_basis_amount OUT NOCOPY NUMBER
209 ,op_msg OUT NOCOPY VARCHAR2
210 );
211
212
213 ------------------------------------------------------------------------
214 -- PROCEDURE : calculate_index_amount
215 -- DESCRIPTION: This procedure will calculate the UNCONSTRAINED index amount for
216 -- a given index rent period
217 --
218 ------------------------------------------------------------------------
219 PROCEDURE calculate_index_amount (
220 p_relationship IN VARCHAR2
221 ,p_basis_percent_change IN NUMBER
222 ,p_adj_index_percent_change IN NUMBER
223 ,p_current_basis IN NUMBER
224 ,op_index_amount OUT NOCOPY NUMBER
225 ,op_msg OUT NOCOPY VARCHAR2
226 );
227
228
229 ------------------------------------------------------------------------
230 -- PROCEDURE : derive_constrained_rent
231 -- DESCRIPTION: This procedure will apply all constraints that have been defined
232 -- for a given index rent
233 --
234 ------------------------------------------------------------------------
235 PROCEDURE derive_constrained_rent (
236 p_index_lease_id IN NUMBER
237 ,p_current_basis IN NUMBER
238 ,p_index_period_id IN NUMBER
239 ,p_assessment_date IN DATE
240 ,p_negative_rent_type IN VARCHAR2
241 ,p_unconstrained_rent_amount IN NUMBER
242 ,p_prev_index_amount IN NUMBER DEFAULT NULL
243 ,p_carry_forward_flag IN VARCHAR2
244 ,p_prorate_factor IN NUMBER
245 ,op_constrained_rent_amount OUT NOCOPY NUMBER
246 ,op_constraint_applied_amount OUT NOCOPY NUMBER
247 ,op_constraint_applied_percent OUT NOCOPY NUMBER
248 ,op_carry_forward_amount OUT NOCOPY NUMBER
249 ,op_carry_forward_percent OUT NOCOPY NUMBER
250 ,op_msg OUT NOCOPY VARCHAR2
251 );
252
253
254 ------------------------------------------------------------------------
255 -- PROCEDURE : sum_payment_items
256 -- DESCRIPTION: This procedure will sum all the CASH payment items that is
257 -- within the date range specified of the type specified.
258 --
259 ------------------------------------------------------------------------
260 PROCEDURE sum_payment_items (
261 p_index_lease_id IN NUMBER
262 ,p_basis_start_date IN DATE
263 ,p_basis_end_date IN DATE
264 ,p_type_code IN VARCHAR2
265 ,p_include_index_items in VARCHAR2 DEFAULT 'Y'
266 ,op_sum_amount OUT NOCOPY NUMBER
267 );
268
269
270 ------------------------------------------------------------------------
271 -- PROCEDURE : calculate_index_percentage
272 -- DESCRIPTION: This procedure will derive the current and previous CPI for a given index period.
273 -- It will also calculate the index change percentage
274 --
275 ------------------------------------------------------------------------
276 PROCEDURE calculate_index_percentage (
277 p_index_finder_type IN VARCHAR2
278 ,p_reference_period_type IN VARCHAR2
279 ,p_index_finder_date IN DATE
280 ,p_index_history_id IN NUMBER
281 ,p_base_index IN NUMBER
282 ,p_base_index_line_id IN NUMBER
283 ,p_index_lease_id IN NUMBER
284 ,p_assessment_date IN DATE
285 ,p_prev_assessment_date IN DATE
286 ,op_current_cpi_value IN OUT NOCOPY NUMBER
287 ,op_current_cpi_id IN OUT NOCOPY NUMBER
288 ,op_previous_cpi_value IN OUT NOCOPY NUMBER
289 ,op_previous_cpi_id IN OUT NOCOPY NUMBER
290 ,op_index_percent_change OUT NOCOPY NUMBER
291 ,op_msg OUT NOCOPY VARCHAR2
292 );
293
294
295 ------------------------------------------------------------------------
296 -- PROCEDURE : lookup_index_history
297 -- DESCRIPTION: This procedure will derive the cpi value and index history id using
298 -- finder date provided. This procedure
299 --
300 ------------------------------------------------------------------------
301 PROCEDURE lookup_index_history (
302 p_index_history_id IN NUMBER
303 ,p_index_finder_date IN DATE
304 ,op_cpi_value OUT NOCOPY NUMBER
305 ,op_cpi_id OUT NOCOPY NUMBER
306 ,op_msg OUT NOCOPY VARCHAR2
307 );
308
309
313 -- period id.
310 ------------------------------------------------------------------------
311 -- PROCEDURE : create_payment_terms
312 -- DESCRIPTION: This procedure will create payment terms for a particular index
314 --
315 ------------------------------------------------------------------------
316 PROCEDURE create_payment_terms (
317 p_lease_id IN NUMBER
318 ,p_index_lease_id IN NUMBER
319 ,p_location_id IN NUMBER
320 ,p_purpose_code IN VARCHAR2
321 ,p_index_period_id IN NUMBER
322 ,p_term_template_id IN NUMBER
323 ,p_relationship IN VARCHAR2
324 ,p_assessment_date IN DATE
325 ,p_basis_amount IN NUMBER
326 ,p_basis_percent_change IN NUMBER
327 ,p_spread_frequency IN VARCHAR2
328 ,p_rounding_flag IN VARCHAR2
329 ,p_index_amount IN NUMBER
330 ,p_index_finder_type IN VARCHAR2
331 ,p_basis_type IN VARCHAR2
332 ,p_basis_start_date IN DATE
333 ,p_basis_end_date IN DATE
334 ,p_increase_on IN VARCHAR2
335 ,p_negative_rent_type IN VARCHAR2
336 ,p_carry_forward_flag IN VARCHAR2
337 ,p_calculate_date IN DATE DEFAULT g_calculate_date
338 ,p_prorate_factor IN NUMBER
339 ,op_msg OUT NOCOPY VARCHAR2
340 );
341
342
343 ------------------------------------------------------------------------
344 -- PROCEDURE : create_payment_term_record
345 -- DESCRIPTION: This procedure will insert records to the following tables \
346 -- necessary to create a complete index rent payment record.
347 -- 05-MAY-06 Hareesha o Bug#5115291 Added parameter p_norm_st_date
348 -- 10-AUG-06 Pikhar 0 Codev. Added include_in_var_rent
349 -- 01-NOV-06 Prabhakar o Added p_end_date parameter.
350 -- 02-JAN-07 Hareesha o M28#16 Added p_recur_bb_calc_date
351 ------------------------------------------------------------------------
352 PROCEDURE create_payment_term_record (
353 p_lease_id IN NUMBER
354 ,p_location_id IN NUMBER
355 ,p_purpose_code IN VARCHAR2
356 ,p_index_period_id IN NUMBER
357 ,p_term_template_id IN NUMBER
358 ,p_spread_frequency IN VARCHAR2
359 ,p_rounding_flag IN VARCHAR2
360 ,p_payment_amount IN NUMBER
361 ,p_normalized IN VARCHAR2
362 ,p_start_date IN DATE
363 ,p_index_term_indicator IN VARCHAR2
364 ,p_payment_term_id IN NUMBER
365 ,p_basis_relationship IN VARCHAR2
366 ,p_called_from IN VARCHAR2
367 ,p_calculate_date IN DATE DEFAULT g_calculate_date
368 ,p_norm_st_date IN DATE DEFAULT NULL
369 ,p_end_date IN DATE
370 ,p_recur_bb_calc_date IN DATE DEFAULT NULL
371 ,op_payment_term_id OUT NOCOPY NUMBER
372 ,op_msg OUT NOCOPY VARCHAR2
373 ,p_include_in_var_rent IN VARCHAR2 DEFAULT NULL
374 );
375
376
377 ------------------------------------------------------------------------
378 -- PROCEDURE : print_basis_periods
379 -- DESCRIPTION: This procedure is will print basis information for a given
380 -- index lease.
381 --
382 ------------------------------------------------------------------------
383 PROCEDURE print_basis_periods (
384 p_index_lease_id IN NUMBER
385 ,p_index_period_id IN NUMBER
386 );
387
388
389 ------------------------------------------------------------------------
390 -- PROCEDURE : calculate_batch
391 -- DESCRIPTION: This procedure is used by concurrent process that will
392 -- allow user to choose on or more index leases to process
393 --
394 ------------------------------------------------------------------------
395 PROCEDURE calculate_batch (
396 errbuf OUT NOCOPY VARCHAR2
397 ,retcode OUT NOCOPY VARCHAR2
398 ,ip_index_lease_number_lower IN VARCHAR2
399 ,ip_index_lease_number_upper IN VARCHAR2
400 ,ip_assessment_date_lower IN VARCHAR2
401 ,ip_assessment_date_upper IN VARCHAR2
402 ,ip_lease_class IN VARCHAR2
403 ,ip_main_lease_number IN VARCHAR2
404 ,ip_location_code IN VARCHAR2
405 ,ip_user_responsible IN VARCHAR2
406 ,ip_recalculate IN VARCHAR2
407 );
408
409
410 ------------------------------------------------------------------------
411 -- PROCEDURE : update_index_hist_line
412 -- DESCRIPTION: This procedure is by the index history window u
413 --
414 ------------------------------------------------------------------------
415 PROCEDURE update_index_hist_line (
416 ip_index_history_line_id IN NUMBER
417 ,ip_recalculate IN VARCHAR2
418 ,op_msg OUT NOCOPY VARCHAR2
419 );
420
421
422 ------------------------------------------------------------------------
426 -- by the form.
423 -- PROCEDURE : update_index_hist_line_batch
424 -- DESCRIPTION: This procedure is used by the index history window any time index
425 -- history line is updated. It will be submitted as a batch program
427 --
428 ------------------------------------------------------------------------
429 PROCEDURE update_index_hist_line_batch (
430 errbuf OUT NOCOPY VARCHAR2
431 ,retcode OUT NOCOPY VARCHAR2
432 ,ip_index_history_id IN NUMBER
433 ,ip_recalculate IN VARCHAR2
434 );
435
436
437 ------------------------------------------------------------------------
438 -- PROCEDURE : approve_index_pay_term
439 -- DESCRIPTION: This procedure is called every time a index rent payment is term
440 -- is approved.
441 --
442 ------------------------------------------------------------------------
443
444 PROCEDURE approve_index_pay_term (
445 ip_lease_id IN NUMBER
446 ,ip_index_pay_term_id IN NUMBER
447 ,op_msg OUT NOCOPY VARCHAR2
448 );
449
450
451 ------------------------------------------------------------------------
452 -- PROCEDURE : approve_index_pay_term_batch
453 -- DESCRIPTION: This procedure is called every time a index rent payment is term
454 -- is approved.
455 -- HISTORY
456 -- 06-AUG-04 ftanudja o add parameter ip_auto_find_sch_day. #3701195.
457 ------------------------------------------------------------------------
458
459 PROCEDURE approve_index_pay_term_batch (
460 errbuf OUT NOCOPY VARCHAR2
461 ,retcode OUT NOCOPY VARCHAR2
462 ,ip_index_lease_number_lower IN VARCHAR2
463 ,ip_index_lease_number_upper IN VARCHAR2
464 ,ip_assessment_date_lower IN VARCHAR2
465 ,ip_assessment_date_upper IN VARCHAR2
466 ,ip_lease_class IN VARCHAR2
467 ,ip_main_lease_number_lower IN VARCHAR2
468 ,ip_main_lease_number_upper IN VARCHAR2
469 ,ip_location_code IN VARCHAR2
470 ,ip_user_responsible IN VARCHAR2
471 ,ip_payment_start_date_lower IN VARCHAR2
472 ,ip_payment_start_date_upper IN VARCHAR2
473 ,ip_approve_normalize_only IN VARCHAR2
474 ,ip_index_period_id IN VARCHAR2
475 ,ip_payment_status IN VARCHAR2
476 ,ip_auto_find_sch_day IN VARCHAR2
477 );
478
479
480
481 FUNCTION build_distributions_string (
482 ip_payment_term_id IN NUMBER
483 ) RETURN VARCHAR2 ;
484
485
486 ------------------------------------------------------------------------
487 -- PROCEDURE : process_currency_code
488 -- DESCRIPTION: This procedure is called by the index rent form
489 -- when the currency_code field is changed. Fix for
490 -- bug# 2452909.
491 ------------------------------------------------------------------------
492
493 PROCEDURE process_currency_code (p_index_lease_id in number);
494
495
496 ------------------------------------------------------------------------
497 -- PROCEDURE : derive_cum_carry_forward
498 -- DESCRIPTION: Derive the value of the column carry_forward_amount and
499 -- carry_forward_percent of the period prior to the current period.
500 --
501 ------------------------------------------------------------------------
502 PROCEDURE derive_cum_carry_forward (
503 p_index_lease_id IN NUMBER,
504 p_assessment_date IN DATE,
505 op_carry_forward_amount OUT NOCOPY NUMBER,
506 op_carry_forward_percent OUT NOCOPY NUMBER);
507
508 ------------------------------------------------------------------------
509 -- FUNCTION : derive_prev_negative_rent
510 -- DESCRIPTION: If the negative rent option for the index rent agreement
511 -- is next period for the current period derive the negative
512 -- unconstrained rent amounts of the previous periods.
513 ------------------------------------------------------------------------
514
515 FUNCTION derive_prev_negative_rent (
516 p_index_lease_id IN NUMBER
517 ,p_assessment_date IN DATE)
518 RETURN number;
519
520 ------------------------------------------------------------------------
521 -- FUNCTION : get_increase_over_constraint
522 -- DESCRIPTION :
523 --
524 ------------------------------------------------------------------------
525
526 FUNCTION get_increase_over_constraint (
527 p_carry_forward_flag IN VARCHAR2,
528 p_constraint_amount IN NUMBER,
529 p_unconstrained_rent IN NUMBER,
530 p_constrained_rent IN NUMBER)
531 RETURN number;
532
533
534 ------------------------------------------------------------------------
535 -- FUNCTION : get_max_assessment_dt
536 -- DESCRIPTION: get the maximum assessment date after the current assessment
537 -- date for which the rent increase has been calcuated.
538 --
539 ------------------------------------------------------------------------
540
541 FUNCTION get_max_assessment_dt(p_index_lease_id IN NUMBER,
542 p_assessment_date IN DATE)
543 RETURN DATE;
544
545
546 -------------------------------------------------------------------------------
547 -- FUNCTION : Get_Calculate_Date
551 FUNCTION Get_Calculate_Date (p_assessment_date IN DATE,
548 -- DESCRIPTION: This function returns the lease of assessment date and
549 -- the profile option cut off date (change from Legacy to PN).
550 -------------------------------------------------------------------------------
552 p_period_str_date IN DATE)
553 RETURN DATE;
554
555 -------------------------------------------------------------------------------
556 -- FUNCTION : Get_Calculate_Date (Overloaded)
557 -- DESCRIPTION: This function returns the lease of assessment date and
558 -- the profile option cut off date (change from Legacy to PN).
559 -- IMP - Use this function in R12. The one with 2 params is for backward
560 -- compatiability ONLY.
561 -------------------------------------------------------------------------------
562 FUNCTION Get_Calculate_Date (p_assessment_date IN DATE,
563 p_period_str_date IN DATE,
564 p_org_id IN NUMBER)
565 RETURN DATE;
566
567
568 ------------------------------------------------------------------------
569 -- PROCEDURE : calculate_subsequent_periods
570 -- DESCRIPTION: This procedure is called by pn_index_periods_pkg
571 -- while calculating rent increase for an index lease
572 -- period. If carry forward flag is 'Y' then calculate for
573 -- all subsequent periods after the current period.
574 --
575 ------------------------------------------------------------------------
576
577 PROCEDURE calculate_subsequent_periods(p_index_lease_id IN NUMBER,
578 p_assessment_date IN DATE);
579
580
581 END pn_index_amount_pkg;
582
583