DBA Data[Home] [Help]

PACKAGE: APPS.PN_INDEX_AMOUNT_PKG

Source


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