DBA Data[Home] [Help]

PACKAGE: APPS.PN_VAR_RENT_CALC_PKG

Source


1 PACKAGE pn_var_rent_calc_pkg AUTHID CURRENT_USER AS
2 -- $Header: PNVRCALS.pls 120.0 2007/10/03 14:28:19 rthumma noship $
3 /* --------------------------------------------------------------------------
4    ---------------------------- GLOBAL VARIABLES ----------------------------
5    -------------------------------------------------------------------------- */
6 /* calculation methods */
7 G_CALC_CUMULATIVE     VARCHAR2(30) := 'C';
8 G_CALC_NON_CUMULATIVE VARCHAR2(30) := 'N';
9 G_CALC_YTD            VARCHAR2(30) := 'Y';
10 G_CALC_TRUE_UP        VARCHAR2(30) := 'T';
11 
12 /* proration rules */
13 G_PRORUL_NP   VARCHAR2(30) := 'NP';
14 G_PRORUL_STD  VARCHAR2(30) := 'STD';
15 G_PRORUL_FY   VARCHAR2(30) := 'FY';
16 G_PRORUL_LY   VARCHAR2(30) := 'LY';
17 G_PRORUL_FLY  VARCHAR2(30) := 'FLY';
18 G_PRORUL_CYP  VARCHAR2(30) := 'CYP';
19 G_PRORUL_CYNP VARCHAR2(30) := 'CYNP';
20 
21 /* breakpoint types */
22 G_BKPT_TYP_FLAT       VARCHAR2(30) := 'FLAT';
23 G_BKPT_TYP_SLIDING    VARCHAR2(30) := 'SLIDING';
24 G_BKPT_TYP_STRATIFIED VARCHAR2(30) := 'STRATIFIED';
25 
26 /* sales volume status */
27 G_SALESVOL_STATUS_APPROVED VARCHAR2(30) := 'APPROVED';
28 G_SALESVOL_STATUS_DRAFT    VARCHAR2(30) := 'DRAFT';
29 G_SALESVOL_STATUS_ON_HOLD  VARCHAR2(30) := 'ON_HOLD';
30 
31 /* term status */
32 G_TERM_STATUS_APPROVED VARCHAR2(30) := 'APPROVED';
33 G_TERM_STATUS_DRAFT    VARCHAR2(30) := 'DRAFT';
34 
35 /* frequency codes */
36 G_FREQ_MON VARCHAR2(30) := 'MON';
37 G_FREQ_QTR VARCHAR2(30) := 'QTR';
38 G_FREQ_SA  VARCHAR2(30) := 'SA';
39 G_FREQ_YR  VARCHAR2(30) := 'YR';
40 
41 /* number of calc periods for different calc freq */
42 G_CALC_PRD_IN_FREQ_MON NUMBER := 12;
43 G_CALC_PRD_IN_FREQ_QTR NUMBER := 4;
44 G_CALC_PRD_IN_FREQ_SA  NUMBER := 2;
45 G_CALC_PRD_IN_FREQ_YR  NUMBER := 1;
46 
47 /*Number of months per period*/
48 G_FREQ_MON NUMBER := 1;
49 G_FREQ_QTR NUMBER := 3;
50 G_FREQ_SA NUMBER :=  6;
51 G_FREQ_YR NUMBER :=  12;
52 
53 /* invoice ON */
54 G_INV_ON_ACTUAL     VARCHAR2(30) := 'ACTUAL';
55 G_INV_ON_FORECASTED VARCHAR2(30) := 'FORECASTED';
56 G_INV_ON_VARIANCE   VARCHAR2(30) := 'VARIANCE';
57 
58 /* period status */
59 G_PERIOD_ACTIVE_STATUS   VARCHAR2(30) := 'ACTIVE';
60 G_PERIOD_REVERSED_STATUS VARCHAR2(30) := 'REVERSED';
61 
62 /*Calculation types*/
63 G_CALC_TYPE_CALCULATE VARCHAR2(30) := 'CALCULATE';
64 G_CALC_TYPE_RECONCILE VARCHAR2(30) := 'RECONCILE';
65 
66 
67 /*Allowance application order*/
68 G_ALLOWANCE_FIRST VARCHAR(30) := 'AL';
69 G_ABATEMENT_FIRST VARCHAR(30) := 'AB';
70 
71 /*Negative_rent*/
72 G_NEG_RENT_IGNORE VARCHAR(30) := 'IGNORE';
73 G_NEG_RENT_CREDIT VARCHAR(30) := 'CREDIT';
74 G_NEG_RENT_DEFER VARCHAR(30) := 'DEFER';
75 
76 /*Excess abatements*/
77 G_EXC_ABAT_IGNORE VARCHAR(30) :='I';
78 G_EXC_ABAT_NEG_RENT VARCHAR(30) :='NR';
79 
80 /*Fixed abatement/ Rolling Allowance*/
81 G_ABAT_TYPE_CODE_ABAT VARCHAR(30) := 'AB';
82 G_ABAT_TYPE_CODE_ALLO VARCHAR(30) := 'AL';
83 /* -------------------------------------------------------------------------
84    ------------------------- PACKAGE LEVEL CURSORS -------------------------
85    ------------------------------------------------------------------------- */
86 
87 /* get VR info */
88 CURSOR vr_c(p_vr_id IN NUMBER) IS
89   SELECT
90    vr.org_id
91   ,vr.var_rent_id
92   ,vr.commencement_date
93   ,vr.termination_date
94   ,vr.proration_rule
95   ,vr.cumulative_vol
96   ,vr.negative_rent
97   FROM
98   pn_var_rents_all vr
99   WHERE
100   vr.var_rent_id = p_vr_id;
101 
102 /* get trx headers */
103 CURSOR trx_hdr_c( p_vr_id  IN NUMBER
104                  ,p_prd_id IN NUMBER) IS
105   SELECT
106    trx_header_id
107   ,var_rent_id
108   ,period_id
109   ,line_item_id
110   ,grp_date_id
111   ,calc_prd_start_date
112   ,calc_prd_end_date
113   ,line_item_group_id
114   ,reset_group_id
115   ,proration_factor
116   ,reporting_group_sales
117   ,prorated_group_sales
118   ,ytd_sales
119   ,invoice_flag
120   ,calculated_rent
121   ,prorated_rent_due
122   ,percent_rent_due
123   ,ytd_percent_rent
124   ,reporting_group_deductions
125   ,prorated_group_deductions
126   ,ytd_deductions
127   ,first_yr_rent
128   ,'N' AS update_flag
129   FROM
130   pn_var_trx_headers_all
131   WHERE
132   var_rent_id = p_vr_id AND
133   period_id = p_prd_id
134   ORDER BY
135   line_item_id,
136   calc_prd_start_date;
137 
138   /* get trx headers for forecasted data*/
139 CURSOR trx_hdr_for_c( p_vr_id  IN NUMBER
140                      ,p_prd_id IN NUMBER) IS
141   SELECT
142    trx_header_id
143   ,var_rent_id
144   ,period_id
145   ,line_item_id
146   ,grp_date_id
147   ,calc_prd_start_date
148   ,calc_prd_end_date
149   ,line_item_group_id
150   ,reset_group_id
151   ,proration_factor
152   ,reporting_group_sales_for
153   ,prorated_group_sales_for
154   ,ytd_sales_for
155   ,invoice_flag
156   ,calculated_rent_for
157   ,percent_rent_due_for
158   ,ytd_percent_rent_for
159   ,'N' AS update_flag
160   FROM
161   pn_var_trx_headers_all
162   WHERE
163   var_rent_id = p_vr_id AND
164   period_id = p_prd_id
165   ORDER BY
166   line_item_id,
167   calc_prd_start_date;
168 
169 /* get trx details */
170 CURSOR trx_dtl_c( p_hdr_id IN NUMBER) IS
171   SELECT
172    trx_detail_id
173   ,trx_header_id
174   ,bkpt_detail_id
175   ,bkpt_rate
176   ,prorated_grp_vol_start
177   ,prorated_grp_vol_end
178   ,fy_pr_grp_vol_start
179   ,fy_pr_grp_vol_end
180   ,ly_pr_grp_vol_start
181   ,ly_pr_grp_vol_end
182   ,pr_grp_blended_vol_start
183   ,pr_grp_blended_vol_end
184   ,ytd_group_vol_start
185   ,ytd_group_vol_end
186   ,blended_period_vol_start
187   ,blended_period_vol_end
188   FROM
189   pn_var_trx_details_all
190   WHERE
191   trx_header_id = p_hdr_id
192   ORDER BY
193   prorated_grp_vol_start;
194 
195 /* -------------------------------------------------------------------------
196    --------------------- PACKAGE LEVEL DATA STRUCTURES ---------------------
197    ------------------------------------------------------------------------- */
198 
199 TYPE TRX_HDR_TBL IS TABLE OF trx_hdr_c%ROWTYPE INDEX BY BINARY_INTEGER;
200 TYPE TRX_DTL_TBL IS TABLE OF trx_dtl_c%ROWTYPE INDEX BY BINARY_INTEGER;
201 TYPE TRX_HEADER_TBL IS TABLE OF trx_hdr_for_c%ROWTYPE INDEX BY BINARY_INTEGER;
202 
203 TYPE TRX_HDR_RENT_REC IS RECORD
204 (
205   percent_rent_due   pn_var_trx_headers_all.percent_rent_due%TYPE
206  ,ytd_percent_rent   pn_var_trx_headers_all.ytd_percent_rent%TYPE
207  ,calculated_rent    pn_var_trx_headers_all.calculated_rent%TYPE
208  ,prorated_rent_due  pn_var_trx_headers_all.prorated_rent_due%TYPE
209 );
210 
211 TYPE TRX_HDR_RENT_TBL IS TABLE OF TRX_HDR_RENT_REC INDEX BY BINARY_INTEGER;
212 
213 g_org_id               pn_var_rents_all.org_id%TYPE;
214 g_vr_commencement_date pn_var_rents_all.commencement_date%TYPE;
215 g_vr_termination_date  pn_var_rents_all.termination_date%TYPE;
216 g_proration_rule       pn_var_rents_all.proration_rule%TYPE;
217 g_calculation_method   pn_var_rents_all.cumulative_vol%TYPE;
218 g_negative_rent        pn_var_rents_all.negative_rent%TYPE;
219 /* --------------------------------------------------------------------------
220    ------------------------ PROCEDURES AND FUNCTIONS ------------------------
221    -------------------------------------------------------------------------- */
222 
223 PROCEDURE cache_vr_details(p_var_rent_id IN NUMBER);
224 
225 FUNCTION get_fy_proration_factor(p_var_rent_id IN NUMBER)
226 RETURN NUMBER;
227 
228 FUNCTION get_ly_proration_factor(p_var_rent_id IN NUMBER)
229 RETURN NUMBER;
230 
231 FUNCTION exists_approved_sales( p_line_item_id IN NUMBER
232                                ,p_grp_date_id  IN NUMBER)
233 RETURN BOOLEAN;
234 
235 FUNCTION find_prev_billed( p_var_rent_id      IN NUMBER
236                           ,p_period_id        IN NUMBER
237                           ,p_line_item_id     IN NUMBER
238                           ,p_calc_prd_st_dt   IN DATE
239                           ,p_calc_prd_end_dt  IN DATE
240                           ,p_reset_grp_id     IN NUMBER)
241 RETURN NUMBER;
242 
243 FUNCTION find_prev_billed( p_var_rent_id      IN NUMBER
244                           ,p_line_item_grp_id IN NUMBER
245                           ,p_calc_prd_st_dt   IN DATE
246                           ,p_calc_prd_end_dt  IN DATE
247                           ,p_reset_grp_id     IN NUMBER)
248 RETURN NUMBER;
249 
250 PROCEDURE get_rent_applicable
251 (p_trx_hdr_rec IN OUT NOCOPY pn_var_rent_calc_pkg.trx_hdr_c%ROWTYPE) ;
252 
253 PROCEDURE post_summary ( p_var_rent_id  IN NUMBER
254                         ,p_period_id    IN NUMBER
255                         ,p_line_item_id IN NUMBER
256                         ,p_grp_date_id  IN NUMBER);
257 
258 PROCEDURE post_summary ( p_var_rent_id  IN NUMBER
259                         ,p_period_id    IN NUMBER);
260 
261 PROCEDURE insert_invoice( p_var_rent_id IN NUMBER
262                          ,p_period_id   IN NUMBER);
263 
264 PROCEDURE calculate_rent( p_var_rent_id IN NUMBER
265                          ,p_period_id   IN NUMBER);
266 /*procedures to insert forecasted data*/
267 PROCEDURE insert_invoice_for( p_var_rent_id IN NUMBER
268                          ,p_period_id   IN NUMBER);
269 PROCEDURE get_rent_applicable_for
270 (p_trx_hdr_rec IN OUT NOCOPY pn_var_rent_calc_pkg.trx_hdr_for_c%ROWTYPE);
271 
272 FUNCTION find_prev_billed_for( p_var_rent_id      IN NUMBER
273                               ,p_period_id        IN NUMBER
274                               ,p_line_item_id     IN NUMBER
275                               ,p_calc_prd_st_dt   IN DATE
276                               ,p_calc_prd_end_dt  IN DATE
277                               ,p_reset_grp_id     IN NUMBER)
278 RETURN NUMBER;
279 
280 PROCEDURE post_summary_for ( p_var_rent_id  IN NUMBER
281                         ,p_period_id    IN NUMBER
282                         ,p_line_item_id IN NUMBER
283                         ,p_grp_date_id  IN NUMBER);
284 PROCEDURE post_summary_for ( p_var_rent_id  IN NUMBER
285                         ,p_period_id    IN NUMBER);
286 /*Procedure to apply constraints*/
287 FUNCTION apply_constraints(p_period_id IN NUMBER,
288                            p_invoice_date IN DATE,
289                            p_actual_rent IN NUMBER)
290 RETURN NUMBER;
291 FUNCTION apply_constraints_fy(p_period_id IN NUMBER,
292                            p_invoice_date IN DATE,
293                            p_actual_rent IN NUMBER)
294 RETURN NUMBER;
295 
296 /*Procedures to apply abatements*/
297 PROCEDURE apply_abatements(p_var_rent_id NUMBER,
298                  p_period_id IN NUMBER,
299                  p_flag IN VARCHAR2);
300 PROCEDURE apply_allow(p_var_rent_id IN NUMBER,
301                p_period_id IN NUMBER,
302                p_inv_id IN NUMBER,
303                x_abated_rent IN OUT NOCOPY NUMBER);
304 PROCEDURE apply_abat(p_var_rent_id IN NUMBER,
305            p_period_id IN NUMBER,
306            p_inv_id IN NUMBER,
307            x_abated_rent IN OUT NOCOPY NUMBER);
308 PROCEDURE populate_abat(p_var_rent_id IN NUMBER,
309            p_period_id IN NUMBER,
310            p_inv_id IN NUMBER);
311 PROCEDURE reset_abatements(p_var_rent_id IN NUMBER
312           );
313 PROCEDURE apply_def_neg_rent(p_var_rent_id IN NUMBER,
314                 p_period_id IN NUMBER
315                ,p_inv_id IN NUMBER,
316                x_abated_rent IN OUT NOCOPY NUMBER);
317 PROCEDURE populate_neg_rent(p_var_rent_id IN NUMBER,
318                 p_period_id IN NUMBER
319                ,p_inv_id IN NUMBER,
320                x_abated_rent IN OUT NOCOPY NUMBER);
321 FUNCTION overage_cal(p_proration_rule IN VARCHAR2,
322                      p_calculation_method IN VARCHAR2,
323                      detail_id IN NUMBER) RETURN NUMBER;
324 
325 FUNCTION overage_cal_for( p_proration_rule     IN VARCHAR2,
326                           p_calculation_method IN VARCHAR2,
327                           detail_id            IN NUMBER)
328 RETURN NUMBER ;
329 
330 FUNCTION First_Day ( p_Date DATE )
331 
332 RETURN DATE;
333 
334 FUNCTION inv_end_date( inv_start_date IN DATE
335                       ,vr_id IN NUMBER
336                       ,p_period_id NUMBER DEFAULT NULL)
337 RETURN DATE;
338 
339 FUNCTION inv_start_date( inv_start_date IN DATE
340                       ,vr_id IN NUMBER
341                       ,p_period_id NUMBER DEFAULT NULL)
342 RETURN DATE;
343 
344 FUNCTION inv_sch_date(inv_start_date IN DATE
345                       ,vr_id IN NUMBER
346 		      ,p_period_id NUMBER DEFAULT NULL)
347 
348 RETURN DATE;
349 
350 FUNCTION END_BREAKPOINT(bkpt_start IN NUMBER, bkpt_end IN  NUMBER)
351 RETURN NUMBER;
352 
353 FUNCTION prev_invoiced_amt(p_var_rent_inv_id NUMBER, p_period_id NUMBER, p_invoice_date DATE)
354 RETURN NUMBER;
355 
356 /* procedure called from concurent manager */
357 PROCEDURE process_rent_batch (errbuf                OUT NOCOPY  VARCHAR2,
358                               retcode               OUT NOCOPY  VARCHAR2,
359 			      p_property_code       IN  VARCHAR2,
360 			      p_property_name       IN  VARCHAR2,
361                               p_lease_num_from      IN  VARCHAR2,
362                               p_lease_num_to        IN  VARCHAR2,
363                               p_location_code_from  IN  VARCHAR2,
364                               p_location_code_to    IN  VARCHAR2,
365                               p_vrent_num_from      IN  VARCHAR2,
366                               p_vrent_num_to        IN  VARCHAR2,
367                               p_period_num_from     IN  NUMBER,
368                               p_period_num_to       IN  NUMBER,
369                               p_responsible_user    IN  NUMBER,
370                               p_invoice_on          IN  VARCHAR2 DEFAULT NULL,
371                               p_var_rent_id         IN  NUMBER,
372                               p_period_id           IN  NUMBER,
373                               p_line_item_id        IN  NUMBER,
374                               p_invoice_date        IN  DATE,
375                               p_calc_type           IN  VARCHAR2,
376                               p_period_date         IN  VARCHAR2 DEFAULT NULL,
377                               p_org_id              IN  NUMBER DEFAULT NULL);
378 
379 
380 PROCEDURE first_year_bkpt( p_vr_id            IN NUMBER
381                           ,p_vr_comm_date     IN DATE
382                           ,p_line_item_grp_id IN NUMBER
383                           ,p_bkpt_rate        IN NUMBER
384                           ,p_start_bkpt       OUT NOCOPY NUMBER
385                           ,p_end_bkpt         OUT NOCOPY NUMBER);
386 
387 PROCEDURE last_year_bkpt(  p_vr_id           IN NUMBER
391                           ,p_start_bkpt       OUT NOCOPY NUMBER
388                           ,p_vr_comm_date     IN DATE
389                           ,p_line_item_grp_id IN NUMBER
390                           ,p_bkpt_rate        IN NUMBER
392                           ,p_end_bkpt         OUT NOCOPY NUMBER);
393 
394 FUNCTION ytd_start_bkpt( p_proration_rule IN VARCHAR2
395                         ,p_trx_detail_id  IN NUMBER) RETURN NUMBER ;
396 
397 FUNCTION ytd_end_bkpt( p_proration_rule IN VARCHAR2
398                         ,p_trx_detail_id  IN NUMBER) RETURN NUMBER ;
399 
400 FUNCTION first_year_sales( p_vr_id            IN NUMBER
401                            ,p_vr_comm_date     IN DATE
402                            ,p_line_item_grp_id IN NUMBER)
403 RETURN NUMBER;
404 
405 FUNCTION last_year_sales( p_vr_id            IN NUMBER
406                            ,p_vr_comm_date     IN DATE
407                            ,p_line_item_grp_id IN NUMBER)
408 RETURN NUMBER;
409 
410 FUNCTION group_sales( p_proration_rule   IN VARCHAR2,
411                       p_trx_detail_id    IN NUMBER,
412                       p_calculation_type IN VARCHAR2)
413 RETURN NUMBER;
414 
415 FUNCTION net_volume( p_proration_rule   IN VARCHAR2,
416            p_trx_detail_id    IN NUMBER,
417            p_calculation_type IN VARCHAR2)
418 RETURN NUMBER ;
419 
420 FUNCTION group_deductions( p_proration_rule   IN VARCHAR2,
421                                   p_trx_detail_id    IN NUMBER,
422                                   p_calculation_type IN VARCHAR2)
423 RETURN NUMBER ;
424 
425 FUNCTION cumulative_volume( p_proration_rule   IN VARCHAR2,
426            p_trx_detail_id    IN NUMBER,
427            p_calculation_type IN VARCHAR2)
428 RETURN NUMBER ;
429 
430 FUNCTION annual_end_bkpt( p_proration_rule IN VARCHAR2
431                          ,p_cumulative_vol IN VARCHAR2
432                          ,p_trx_detail_id  IN NUMBER)
433 RETURN NUMBER;
434 
435 FUNCTION annual_start_bkpt( p_proration_rule IN VARCHAR2
436                          ,p_cumulative_vol IN VARCHAR2
437                          ,p_trx_detail_id  IN NUMBER)
438 RETURN NUMBER;
439 
440 FUNCTION prorated_start_bkpt( p_proration_rule IN VARCHAR2
441                              ,p_trx_detail_id  IN NUMBER)
442 RETURN NUMBER;
443 
444 FUNCTION prorated_end_bkpt( p_proration_rule IN VARCHAR2
445                            ,p_trx_detail_id  IN NUMBER)
446 RETURN NUMBER;
447 
448 FUNCTION current_gross_vr( p_proration_rule   IN VARCHAR2,
449                            p_trx_detail_id    IN NUMBER)
450 RETURN NUMBER;
451 
452 FUNCTION cumulative_gross_vr( p_proration_rule   IN VARCHAR2,
453                               p_trx_detail_id    IN NUMBER)
454 RETURN NUMBER ;
455 
456 FUNCTION fy_net_sales     (p_var_rent_id       IN NUMBER
457                            ,p_line_item_id      IN NUMBER)
458 RETURN NUMBER;
459 
460 FUNCTION first_yr_sales     (p_var_rent_id       IN NUMBER
461                             ,p_line_item_id      IN NUMBER)
462 RETURN NUMBER;
463 
464 FUNCTION first_yr_deductions(  p_var_rent_id       IN NUMBER
465                               ,p_line_item_id      IN NUMBER)
466 RETURN NUMBER;
467 
468 PROCEDURE true_up_details ( p_var_rent_id        IN NUMBER
469                            ,p_trx_detail_id      IN NUMBER
470                            ,p_rate               IN NUMBER
471                            ,p_trueup_bkpt_vol_start OUT NOCOPY  NUMBER
472                            ,p_trueup_bkpt_vol_end   OUT NOCOPY  NUMBER
473                            ,p_trueup_volume         OUT NOCOPY  NUMBER
474                            ,p_deductions            OUT NOCOPY  NUMBER
475                            ,p_overage               OUT NOCOPY  NUMBER);
476 
477 PROCEDURE true_up_summary ( p_period_id        IN NUMBER
478                            ,p_true_up_rent     OUT NOCOPY  NUMBER
479                            ,p_trueup_volume    OUT NOCOPY  NUMBER
480                            ,p_deductions       OUT NOCOPY  NUMBER);
481 
482 PROCEDURE pop_inv_date_tab (p_var_rent_id IN NUMBER
483                            ,p_status      IN VARCHAR2);
484 
485 PROCEDURE POP_INV_DATE_TAB_FIRSTYR(p_var_rent_id IN NUMBER,
486                                    p_status      IN VARCHAR2);
487 
488 PROCEDURE ROLL_FWD_SELECNS        (p_var_rent_id IN NUMBER);
489 
490 PROCEDURE INCLUDE_INCREASES       (p_var_rent_id IN NUMBER);
491 
492 PROCEDURE ROLL_FWD_PARTIAL_PRD    (p_var_rent_id IN NUMBER);
493 
494 PROCEDURE ROLL_FWD_LST_PARTIAL_PRD(p_var_rent_id IN NUMBER);
495 
496 PROCEDURE INCLUDE_INCREASES_FIRSTYR(p_var_rent_id IN NUMBER);
497 
498 FUNCTION forecasted_var_rent ( p_var_rent_id IN NUMBER
499                             , p_period_id  IN NUMBER )
500 RETURN NUMBER;
501 
502 FUNCTION get_currency_precision (p_org_id NUMBER DEFAULT NULL)
503 RETURN NUMBER;
504 
505 FUNCTION check_last_calc_prd(p_trx_hdr_id IN NUMBER,
506                              p_prorul     IN VARCHAR2
507                              )
508 RETURN NUMBER ;
509 
510 FUNCTION get_rent_due(p_trx_hdr_id IN NUMBER,
511                       p_prorul     IN VARCHAR2
512                       )
513 RETURN NUMBER ;
514 
515 FUNCTION get_cum_rent_due(p_trx_hdr_id IN NUMBER,
516                           p_prorul     IN VARCHAR2
517                          )
518 RETURN NUMBER ;
519 FUNCTION include_prd_no_term(p_prd_id IN NUMBER
520                             )
521 RETURN VARCHAR2 ;
522 
523 PROCEDURE delete_draft_terms( p_var_rent_id IN NUMBER);
524 
525 FUNCTION actual_rent ( p_period_id IN NUMBER, p_invoice_date IN DATE, p_true_up_amt IN NUMBER, p_var_rent_inv_id IN NUMBER)
526 RETURN NUMBER;
527 
528 
529 FUNCTION VALIDATE_LY_CALC (p_varRentId NUMBER, p_periodId  IN NUMBER)
530 RETURN NUMBER;
531 
532 PROCEDURE full_yr_summary ( p_line_item_id      IN NUMBER
533                            ,p_yr_volume         OUT NOCOPY  NUMBER
534                            ,p_deductions        OUT NOCOPY  NUMBER);
535 
536 FUNCTION trueup_rent ( p_var_rent_id IN NUMBER
537                       ,p_period_id   IN NUMBER
538 		      ,p_grp_date_id IN NUMBER)
539 RETURN NUMBER;
540 
541 PROCEDURE true_up_bkpt ( p_period_id      IN NUMBER
542                         ,p_bkpt_rate      IN NUMBER
543                         ,p_bkpt_vol_start OUT NOCOPY  NUMBER
544 			,p_bkpt_vol_end   OUT NOCOPY  NUMBER);
545 
546 FUNCTION new_term_amount ( p_invoice_date IN DATE
547                           ,p_period_id   IN NUMBER
548 		          ,p_var_rent_inv_id IN NUMBER)
549 RETURN NUMBER;
550 
551 FUNCTION true_up_header (  p_period_id   IN NUMBER
552 		          ,p_trx_hdr_id IN NUMBER
553 			  ,p_calc_prd_end_date IN DATE)
554 RETURN VARCHAR2;
555 
556 END pn_var_rent_calc_pkg;