DBA Data[Home] [Help]

PACKAGE BODY: APPS.PN_VAR_RENTS_PKG

Source


1 package body PN_VAR_RENTS_PKG as
2 /* $Header: PNVRENTB.pls 120.4 2007/01/30 04:17:53 lbala noship $ */
3 -------------------------------------------------------------------------------
4 -- PROCDURE : INSERT_ROW
5 -- INVOKED FROM : insert_row procedure
6 -- PURPOSE      : inserts the row
7 -- HISTORY      :
8 -- 21-JUN-05  piagrawa o Bug 4284035 - Replaced PN_VAR_RENTS with _ALL table.
9 -------------------------------------------------------------------------------
10 procedure INSERT_ROW (
11    X_ROWID                 in out NOCOPY VARCHAR2,
12    X_VAR_RENT_ID           in out NOCOPY NUMBER,
13    X_RENT_NUM              in out NOCOPY VARCHAR2,
14    X_LEASE_ID              in NUMBER,
15    X_LOCATION_ID           in NUMBER,
16    X_PRORATION_DAYS        in NUMBER,
17    X_PURPOSE_CODE          in VARCHAR2,
18    X_TYPE_CODE             in VARCHAR2,
19    X_COMMENCEMENT_DATE     in DATE,
20    X_TERMINATION_DATE      in DATE,
21    X_ABSTRACTED_BY_USER    in NUMBER,
22    X_CUMULATIVE_VOL        in VARCHAR2,
23    X_ACCRUAL               in VARCHAR2,
24    X_UOM_CODE              in VARCHAR2,
25    --X_ROUNDING            in VARCHAR2,
26    X_INVOICE_ON            in VARCHAR2,
27    X_NEGATIVE_RENT         in VARCHAR2,
28    X_TERM_TEMPLATE_ID      in NUMBER,
29   -- codev  X_ABATEMENT_AMOUNT      in NUMBER,
30    X_ATTRIBUTE_CATEGORY    in VARCHAR2,
31    X_ATTRIBUTE1            in VARCHAR2,
32    X_ATTRIBUTE2            in VARCHAR2,
33    X_ATTRIBUTE3            in VARCHAR2,
34    X_ATTRIBUTE4            in VARCHAR2,
35    X_ATTRIBUTE5            in VARCHAR2,
36    X_ATTRIBUTE6            in VARCHAR2,
37    X_ATTRIBUTE7            in VARCHAR2,
38    X_ATTRIBUTE8            in VARCHAR2,
39    X_ATTRIBUTE9            in VARCHAR2,
40    X_ATTRIBUTE10           in VARCHAR2,
41    X_ATTRIBUTE11           in VARCHAR2,
42    X_ATTRIBUTE12           in VARCHAR2,
43    X_ATTRIBUTE13           in VARCHAR2,
44    X_ATTRIBUTE14           in VARCHAR2,
45    X_ATTRIBUTE15           in VARCHAR2,
46    X_ORG_ID                in NUMBER,
47    X_CREATION_DATE         in DATE,
48    X_CREATED_BY            in NUMBER,
49    X_LAST_UPDATE_DATE      in DATE,
50    X_LAST_UPDATED_BY       in NUMBER,
51    X_LAST_UPDATE_LOGIN     in NUMBER,
52    X_CURRENCY_CODE         in VARCHAR2,
53    X_AGREEMENT_TEMPLATE_ID in NUMBER,
54    X_PRORATION_RULE        in VARCHAR2,
55    X_CHG_CAL_VAR_RENT_ID   in NUMBER
56    )
57 IS
58 
59    CURSOR var_rents IS
60       SELECT ROWID
61       FROM   PN_VAR_RENTS_ALL
62       WHERE  VAR_RENT_ID = X_VAR_RENT_ID ;
63 
64    CURSOR org_cur IS
65      SELECT org_id FROM pn_leases_all WHERE lease_id = x_lease_id;
66    l_org_ID NUMBER;
67 
68 
69    l_return_status         VARCHAR2(30)    := NULL;
70 
71 BEGIN
72 
73    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.INSERT_ROW (+)');
74 
75    -------------------------------------------------------
76    -- Select the nextval for var rent id
77    -------------------------------------------------------
78    IF ( X_VAR_RENT_ID IS NULL) THEN
79       SELECT  pn_var_rents_s.nextval
80       INTO    X_VAR_RENT_ID
81       FROM    dual;
82    END IF;
83 
84    -- If rent_num is null then copy var_rent_id into rent_num.
85    IF (X_RENT_NUM IS NULL) THEN
86       X_RENT_NUM := X_VAR_RENT_ID;
87    END IF;
88 
89    -- Check if rent number is unique
90    l_return_status     := NULL;
91    PN_VAR_RENTS_PKG.CHECK_UNIQUE_RENT_NUMBER
92      (
93          l_return_status,
94          x_var_rent_id,
95          x_rent_num,
96          x_org_id
97      );
98    IF (l_return_status IS NOT NULL) THEN
99       APP_EXCEPTION.Raise_Exception;
100    END IF;
101 
102    IF x_org_id IS NULL THEN
103       FOR rec IN org_cur LOOP
104          l_org_id := rec.org_id;
105       END LOOP;
106    ELSE
107       l_org_id := x_org_id;
108    END IF;
109 
110    INSERT INTO PN_VAR_RENTS_ALL
111    (
112       VAR_RENT_ID,
113       RENT_NUM,
114       LAST_UPDATE_DATE,
115       LAST_UPDATED_BY,
116       CREATION_DATE,
117       CREATED_BY,
118       LAST_UPDATE_LOGIN,
119       LEASE_ID,
120       LOCATION_ID,
121       PRORATION_DAYS,
122       PURPOSE_CODE,
123       TYPE_CODE,
124       COMMENCEMENT_DATE,
125       TERMINATION_DATE,
126       ABSTRACTED_BY_USER,
127       CUMULATIVE_VOL,
128       ACCRUAL,
129       UOM_CODE,
130       --ROUNDING,
131       INVOICE_ON,
132       NEGATIVE_RENT,
133       TERM_TEMPLATE_ID,
134      -- codev  ABATEMENT_AMOUNT,
135       ATTRIBUTE_CATEGORY,
136       ATTRIBUTE1,
137       ATTRIBUTE2,
138       ATTRIBUTE3,
139       ATTRIBUTE4,
140       ATTRIBUTE5,
141       ATTRIBUTE6,
142       ATTRIBUTE7,
143       ATTRIBUTE8,
144       ATTRIBUTE9,
145       ATTRIBUTE10,
146       ATTRIBUTE11,
147       ATTRIBUTE12,
148       ATTRIBUTE13,
149       ATTRIBUTE14,
150       ATTRIBUTE15,
151       ORG_ID,
152       CURRENCY_CODE,
153       AGREEMENT_TEMPLATE_ID,
154       PRORATION_RULE,
155       CHG_CAL_VAR_RENT_ID
156    )
157    VALUES
158    (
159       X_VAR_RENT_ID,
160       X_RENT_NUM,
161       X_LAST_UPDATE_DATE,
162       X_LAST_UPDATED_BY,
163       X_CREATION_DATE,
164       X_CREATED_BY,
165       X_LAST_UPDATE_LOGIN,
166       X_LEASE_ID,
167       X_LOCATION_ID,
168       X_PRORATION_DAYS,
169       X_PURPOSE_CODE,
170       X_TYPE_CODE,
171       X_COMMENCEMENT_DATE,
172       X_TERMINATION_DATE,
173       X_ABSTRACTED_BY_USER,
174       X_CUMULATIVE_VOL,
175       X_ACCRUAL,
176       X_UOM_CODE,
177       --X_ROUNDING,
178       X_INVOICE_ON,
179       X_NEGATIVE_RENT,
180       X_TERM_TEMPLATE_ID,
181     -- codev  X_ABATEMENT_AMOUNT,
182       X_ATTRIBUTE_CATEGORY,
183       X_ATTRIBUTE1,
184       X_ATTRIBUTE2,
185       X_ATTRIBUTE3,
186       X_ATTRIBUTE4,
187       X_ATTRIBUTE5,
188       X_ATTRIBUTE6,
189       X_ATTRIBUTE7,
190       X_ATTRIBUTE8,
191       X_ATTRIBUTE9,
192       X_ATTRIBUTE10,
193       X_ATTRIBUTE11,
194       X_ATTRIBUTE12,
195       X_ATTRIBUTE13,
196       X_ATTRIBUTE14,
197       X_ATTRIBUTE15,
198       l_org_id,
199       X_CURRENCY_CODE,
200       X_AGREEMENT_TEMPLATE_ID,
201       X_PRORATION_RULE,
202       X_CHG_CAL_VAR_RENT_ID
203    );
204 
205    OPEN var_rents;
206    FETCH var_rents INTO X_ROWID;
207    IF (var_rents%notfound) THEN
208       CLOSE var_rents;
209       RAISE NO_DATA_FOUND;
210    END IF;
211    CLOSE var_rents;
212 
213    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.INSERT_ROW (-)');
214 
215 END INSERT_ROW;
216 
217 -------------------------------------------------------------------------------
218 -- PROCDURE     : LOCK_ROW
219 -- INVOKED FROM : LOCK_ROW procedure
220 -- PURPOSE      : locks the row
221 -- HISTORY      :
222 -- 21-JUN-05  piagrawa o Bug 4284035 - Replaced PN_VAR_RENTS with _ALL table.
223 -------------------------------------------------------------------------------
224 procedure LOCK_ROW
225 (
226    X_VAR_RENT_ID              in NUMBER,
227    X_RENT_NUM                 in VARCHAR2,
228    X_LEASE_ID                 in NUMBER,
229    X_LOCATION_ID              in NUMBER,
230    X_PRORATION_DAYS           in NUMBER,
231    X_PURPOSE_CODE             in VARCHAR2,
232    X_TYPE_CODE                in VARCHAR2,
233    X_COMMENCEMENT_DATE        in DATE,
234    X_TERMINATION_DATE         in DATE,
235    X_ABSTRACTED_BY_USER       in NUMBER,
236    X_CUMULATIVE_VOL           in VARCHAR2,
237    X_ACCRUAL                  in VARCHAR2,
238    X_UOM_CODE                 in VARCHAR2,
239    X_INVOICE_ON               in VARCHAR2,
240    X_NEGATIVE_RENT            in VARCHAR2,
241    X_TERM_TEMPLATE_ID         in NUMBER,
242  -- codev  X_ABATEMENT_AMOUNT         in NUMBER,
243    X_ATTRIBUTE_CATEGORY       in VARCHAR2,
244    X_ATTRIBUTE1               in VARCHAR2,
245    X_ATTRIBUTE2               in VARCHAR2,
246    X_ATTRIBUTE3               in VARCHAR2,
247    X_ATTRIBUTE4               in VARCHAR2,
248    X_ATTRIBUTE5               in VARCHAR2,
249    X_ATTRIBUTE6               in VARCHAR2,
250    X_ATTRIBUTE7               in VARCHAR2,
251    X_ATTRIBUTE8               in VARCHAR2,
252    X_ATTRIBUTE9               in VARCHAR2,
253    X_ATTRIBUTE10              in VARCHAR2,
254    X_ATTRIBUTE11              in VARCHAR2,
255    X_ATTRIBUTE12              in VARCHAR2,
256    X_ATTRIBUTE13              in VARCHAR2,
257    X_ATTRIBUTE14              in VARCHAR2,
258    X_ATTRIBUTE15              in VARCHAR2,
259    X_CURRENCY_CODE            in VARCHAR2,
260    X_AGREEMENT_TEMPLATE_ID    in NUMBER,
261    X_PRORATION_RULE           in VARCHAR2,
262    X_CHG_CAL_VAR_RENT_ID      in NUMBER
263    )
264 IS
265 
266    CURSOR c1 IS
267       SELECT *
268       FROM PN_VAR_RENTS_ALL
269       WHERE VAR_RENT_ID = X_VAR_RENT_ID
270       FOR UPDATE OF VAR_RENT_ID NOWAIT;
271 
272    tlinfo c1%rowtype;
273 
274 BEGIN
275 
276    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.LOCK_ROW (+)');
277 
278    OPEN c1;
279       FETCH c1 INTO tlinfo;
280       IF (c1%notfound) THEN
281          CLOSE c1;
282          RETURN;
283       END IF;
284    CLOSE c1;
285 
286 
287    if (tlinfo.VAR_RENT_ID = X_VAR_RENT_ID) then
288       null;
289    else
290       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('VAR_RENT_ID',tlinfo.VAR_RENT_ID);
291    end if;
292    if ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
293             OR ((tlinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null))) then
294       null;
295    else
296       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE9',tlinfo.ATTRIBUTE9);
297    end if;
298    if (tlinfo.LEASE_ID = X_LEASE_ID) then
299       null;
300    else
301       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('LEASE_ID',tlinfo.LEASE_ID);
302    end if;
303    if ((tlinfo.LOCATION_ID = X_LOCATION_ID)
304             OR ((tlinfo.LOCATION_ID is null) AND (X_LOCATION_ID is null))) then
305       null;
306    else
307       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('LOCATION_ID',tlinfo.LOCATION_ID);
308    end if;
309 
310    if ((tlinfo.PRORATION_DAYS = X_PRORATION_DAYS)
311             OR ((tlinfo.PRORATION_DAYS is null) AND (X_PRORATION_DAYS is null))) then
312       null;
313    else
314       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('PRORATION_DAYS',tlinfo.PRORATION_DAYS);
315    end if;
316    if (tlinfo.PURPOSE_CODE = X_PURPOSE_CODE) then
317       null;
318    else
319       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('PURPOSE_CODE',tlinfo.PURPOSE_CODE);
320    end if;
321    if (tlinfo.TYPE_CODE = X_TYPE_CODE) then
322       null;
323    else
324       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('TYPE_CODE',tlinfo.TYPE_CODE);
325    end if;
326    if (trunc(tlinfo.COMMENCEMENT_DATE) = trunc(X_COMMENCEMENT_DATE)) then
327       null;
328    else
329       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('COMMENCEMENT_DATE',tlinfo.COMMENCEMENT_DATE);
330    end if;
331    if (trunc(tlinfo.TERMINATION_DATE) = trunc(X_TERMINATION_DATE)) then
332       null;
333    else
334       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('TERMINATION_DATE',tlinfo.TERMINATION_DATE);
335    end if;
336    if (tlinfo.ABSTRACTED_BY_USER = X_ABSTRACTED_BY_USER) then
337       null;
338    else
339       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ABSTRACTED_BY_USER',tlinfo.ABSTRACTED_BY_USER);
340    end if;
341    if ((tlinfo.CUMULATIVE_VOL = X_CUMULATIVE_VOL)
342             OR ((tlinfo.CUMULATIVE_VOL is null) AND (X_CUMULATIVE_VOL is null)))  then
343       null;
344    else
345       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('CUMULATIVE_VOL',tlinfo.CUMULATIVE_VOL);
346    end if;
347    if ((tlinfo.ACCRUAL = X_ACCRUAL)
348             OR ((tlinfo.ACCRUAL is null) AND (X_ACCRUAL is null))) then
349       null;
350    else
351       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ACCRUAL',tlinfo.ACCRUAL);
352    end if;
353    if ((tlinfo.UOM_CODE = X_UOM_CODE)
354             OR ((tlinfo.UOM_CODE is null) AND (X_UOM_CODE is null))) then
355       null;
356    else
357       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('UOM_CODE',tlinfo.UOM_CODE);
358    end if;
359    if (tlinfo.INVOICE_ON = X_INVOICE_ON) then
360       null;
361    else
362       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('INVOICE_ON',tlinfo.INVOICE_ON);
363    end if;
364    if (tlinfo.NEGATIVE_RENT = X_NEGATIVE_RENT) then
365       null;
366    else
367       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('NEGATIVE_RENT',tlinfo.NEGATIVE_RENT);
368    end if;
369    if ((tlinfo.TERM_TEMPLATE_ID = X_TERM_TEMPLATE_ID)
370             OR ((tlinfo.TERM_TEMPLATE_ID is null) AND (X_TERM_TEMPLATE_ID is null))) then
371       null;
372    else
373       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('TERM_TEMPLATE_ID',tlinfo.TERM_TEMPLATE_ID);
374    end if;
375    /* codev
376    if ((tlinfo.ABATEMENT_AMOUNT = X_ABATEMENT_AMOUNT)
377             OR ((tlinfo.ABATEMENT_AMOUNT is null) AND (X_ABATEMENT_AMOUNT is null))) then
378       null;
379    else
380       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ABATEMENT_AMOUNT',tlinfo.ABATEMENT_AMOUNT);
381    end if; */
382    if ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
383             OR ((tlinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null))) then
384       null;
385    else
386       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE_CATEGORY',tlinfo.ATTRIBUTE_CATEGORY);
387    end if;
388    if ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
389             OR ((tlinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null))) then
390       null;
391    else
392       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
393    end if;
394    if ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
395             OR ((tlinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null))) then
396       null;
397    else
398       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
399    end if;
400    if ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
401             OR ((tlinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null))) then
402       null;
403    else
404       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
405    end if;
406    if ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
407             OR ((tlinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null))) then
408       null;
409    else
410       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
414       null;
411    end if;
412    if ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
413             OR ((tlinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null))) then
415    else
416       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
417    end if;
418    if ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
419             OR ((tlinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null))) then
420       null;
421    else
422       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
423    end if;
424    if ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
425             OR ((tlinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null))) then
426       null;
427    else
428       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
429    end if;
430    if ((tlinfo.RENT_NUM = X_RENT_NUM)
431             OR ((tlinfo.RENT_NUM is null) AND (X_RENT_NUM is null))) then
432       null;
433    else
434       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
435    end if;
436    if ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
437             OR ((tlinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null))) then
438       null;
439    else
440       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE11',tlinfo.ATTRIBUTE11);
441    end if;
442    if ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
443             OR ((tlinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null))) then
444       null;
445    else
446       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE12',tlinfo.ATTRIBUTE12);
447    end if;
448    if ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
449             OR ((tlinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null))) then
450       null;
451    else
452       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE13',tlinfo.ATTRIBUTE13);
453    end if;
454    if ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
455             OR ((tlinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null))) then
456       null;
457    else
458       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE14',tlinfo.ATTRIBUTE14);
459    end if;
460    if ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
461             OR ((tlinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null))) then
462       null;
463    else
464       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE15',tlinfo.ATTRIBUTE15);
465    end if;
466    if ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
467             OR ((tlinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null))) then
468       null;
469    else
470       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE6',tlinfo.ATTRIBUTE6);
471    end if;
472    if ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
473             OR ((tlinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null))) then
474       null;
475    else
476       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('ATTRIBUTE7',tlinfo.ATTRIBUTE7);
477    end if;
478    if ((tlinfo.CURRENCY_CODE = X_CURRENCY_CODE)    --BUG#2452909
479             OR ((tlinfo.CURRENCY_CODE is null) AND (X_CURRENCY_CODE is null))) then
480       null;
481    else
482       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('CURRENCY_CODE',tlinfo.CURRENCY_CODE);
483    end if;
484    if ((tlinfo.AGREEMENT_TEMPLATE_ID = X_AGREEMENT_TEMPLATE_ID)
485             OR ((tlinfo.AGREEMENT_TEMPLATE_ID is null) AND (X_AGREEMENT_TEMPLATE_ID is null))) then
486       null;
487    else
488       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('AGREEMENT_TEMPLATE_ID',tlinfo.AGREEMENT_TEMPLATE_ID);
489    end if;
490    if ((tlinfo.PRORATION_RULE = X_PRORATION_RULE)
491             OR ((tlinfo.PRORATION_RULE is null) AND (X_PRORATION_RULE is null))) then
492       null;
493    else
494       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('PRORATION_RULE',tlinfo.PRORATION_RULE);
495    end if;
496    if ((tlinfo.CHG_CAL_VAR_RENT_ID = X_CHG_CAL_VAR_RENT_ID)
497             OR ((tlinfo.CHG_CAL_VAR_RENT_ID is null) AND (X_CHG_CAL_VAR_RENT_ID is null))) then
498       null;
499    else
500       PN_VAR_RENT_PKG.LOCK_ROW_EXCEPTION('CHG_CAL_VAR_RENT_ID',tlinfo.CHG_CAL_VAR_RENT_ID);
501    end if;
502 
503    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.LOCK_ROW (-)');
504 
505 END LOCK_ROW;
506 
507 -------------------------------------------------------------------------------
508 -- PROCDURE     : UPDATE_ROW
509 -- INVOKED FROM : UPDATE_ROW procedure
510 -- PURPOSE      : updates the row
511 -- HISTORY      :
512 -- 21-JUN-05  piagrawa o Bug4284035- modified call to CHECK_UNIQUE_RENT_NUMBER
513 -------------------------------------------------------------------------------
514 procedure UPDATE_ROW
515 (
516    X_VAR_RENT_ID              IN NUMBER,
517    X_RENT_NUM                 IN VARCHAR2,
518    X_LEASE_ID                 IN NUMBER,
519    X_LOCATION_ID              IN NUMBER,
520    X_PRORATION_DAYS           IN NUMBER,
521    X_PURPOSE_CODE             IN VARCHAR2,
522    X_TYPE_CODE                IN VARCHAR2,
523    X_COMMENCEMENT_DATE        IN DATE,
524    X_TERMINATION_DATE         IN DATE,
525    X_ABSTRACTED_BY_USER       IN NUMBER,
526    X_CUMULATIVE_VOL           IN VARCHAR2,
527    X_ACCRUAL                  IN VARCHAR2,
528    X_UOM_CODE                 IN VARCHAR2,
529    --X_ROUNDING               IN VARCHAR2,
530    X_INVOICE_ON               IN VARCHAR2,
531    X_NEGATIVE_RENT            IN VARCHAR2,
532    X_TERM_TEMPLATE_ID         IN NUMBER,
533   -- codev  X_ABATEMENT_AMOUNT         IN NUMBER,
537    X_ATTRIBUTE3               IN VARCHAR2,
534    X_ATTRIBUTE_CATEGORY       IN VARCHAR2,
535    X_ATTRIBUTE1               IN VARCHAR2,
536    X_ATTRIBUTE2               IN VARCHAR2,
538    X_ATTRIBUTE4               IN VARCHAR2,
539    X_ATTRIBUTE5               IN VARCHAR2,
540    X_ATTRIBUTE6               IN VARCHAR2,
541    X_ATTRIBUTE7               IN VARCHAR2,
542    X_ATTRIBUTE8               IN VARCHAR2,
543    X_ATTRIBUTE9               IN VARCHAR2,
544    X_ATTRIBUTE10              IN VARCHAR2,
545    X_ATTRIBUTE11              IN VARCHAR2,
546    X_ATTRIBUTE12              IN VARCHAR2,
547    X_ATTRIBUTE13              IN VARCHAR2,
548    X_ATTRIBUTE14              IN VARCHAR2,
549    X_ATTRIBUTE15              IN VARCHAR2,
550    X_LAST_UPDATE_DATE         IN DATE,
551    X_LAST_UPDATED_BY          IN NUMBER,
552    X_LAST_UPDATE_LOGIN        IN NUMBER,
553    X_CURRENCY_CODE            IN VARCHAR2,
554    X_AGREEMENT_TEMPLATE_ID    IN NUMBER,
555    X_PRORATION_RULE           IN VARCHAR2,
556    X_CHG_CAL_VAR_RENT_ID      in NUMBER
557 )
558 IS
559    l_return_status         VARCHAR2(30)    := NULL;
560    l_org_id                NUMBER;
561 BEGIN
562 
563    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.UPDATE_ROW (+)');
564 
565    -- Check if rent number is unique
566    l_return_status     := NULL;
567 
568    SELECT  org_id
569    INTO    l_org_id
570    FROM    PN_VAR_RENTS_ALL      bkdetails
571    WHERE VAR_RENT_ID    = X_VAR_RENT_ID;
572 
573    PN_VAR_RENTS_PKG.CHECK_UNIQUE_RENT_NUMBER
574    (
575       l_return_status,
576       x_var_rent_id,
577       x_rent_num,
578       l_org_id
579    );
580 
581    IF (l_return_status IS NOT NULL) THEN
582       APP_EXCEPTION.Raise_Exception;
583    END IF;
584 
585    UPDATE PN_VAR_RENTS_ALL
586    SET
587       VAR_RENT_ID             = X_VAR_RENT_ID,
588       RENT_NUM                = X_RENT_NUM,
589       LEASE_ID                = X_LEASE_ID,
590       LOCATION_ID             = X_LOCATION_ID,
591       PRORATION_DAYS          = X_PRORATION_DAYS,
592       PURPOSE_CODE            = X_PURPOSE_CODE,
593       TYPE_CODE               = X_TYPE_CODE,
594       COMMENCEMENT_DATE       = X_COMMENCEMENT_DATE,
595       TERMINATION_DATE        = X_TERMINATION_DATE,
596       ABSTRACTED_BY_USER      = X_ABSTRACTED_BY_USER,
597       CUMULATIVE_VOL          = X_CUMULATIVE_VOL,
598       ACCRUAL                 = X_ACCRUAL,
599       UOM_CODE                = X_UOM_CODE,
600       --ROUNDING              = X_ROUNDING,
601       INVOICE_ON              = X_INVOICE_ON,
602       NEGATIVE_RENT           = X_NEGATIVE_RENT,
603       TERM_TEMPLATE_ID        = X_TERM_TEMPLATE_ID,
604    -- codev   ABATEMENT_AMOUNT        = X_ABATEMENT_AMOUNT,
605       ATTRIBUTE_CATEGORY      = X_ATTRIBUTE_CATEGORY,
606       ATTRIBUTE1              = X_ATTRIBUTE1,
607       ATTRIBUTE2              = X_ATTRIBUTE2,
608       ATTRIBUTE3              = X_ATTRIBUTE3,
609       ATTRIBUTE4              = X_ATTRIBUTE4,
610       ATTRIBUTE5              = X_ATTRIBUTE5,
611       ATTRIBUTE6              = X_ATTRIBUTE6,
612       ATTRIBUTE7              = X_ATTRIBUTE7,
613       ATTRIBUTE8              = X_ATTRIBUTE8,
614       ATTRIBUTE9              = X_ATTRIBUTE9,
615       ATTRIBUTE10             = X_ATTRIBUTE10,
616       ATTRIBUTE11             = X_ATTRIBUTE11,
617       ATTRIBUTE12             = X_ATTRIBUTE12,
618       ATTRIBUTE13             = X_ATTRIBUTE13,
619       ATTRIBUTE14             = X_ATTRIBUTE14,
620       ATTRIBUTE15             = X_ATTRIBUTE15,
621       LAST_UPDATE_DATE        = X_LAST_UPDATE_DATE,
622       LAST_UPDATED_BY         = X_LAST_UPDATED_BY,
623       LAST_UPDATE_LOGIN       = X_LAST_UPDATE_LOGIN,
624       CURRENCY_CODE           = X_CURRENCY_CODE,
625       AGREEMENT_TEMPLATE_ID   = X_AGREEMENT_TEMPLATE_ID,
626       PRORATION_RULE          = X_PRORATION_RULE,
627       CHG_CAL_VAR_RENT_ID   = X_CHG_CAL_VAR_RENT_ID
628 
629 
630    WHERE VAR_RENT_ID = X_VAR_RENT_ID
631    ;
632 
633    IF (sql%notfound) THEN
634       RAISE NO_DATA_FOUND;
635    END IF;
636 
637    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.UPDATE_ROW (-)');
638 
639 END UPDATE_ROW;
640 
641 -------------------------------------------------------------------------------
642 -- PROCDURE     : DELETE_ROW
643 -- INVOKED FROM : DELETE_ROW procedure
644 -- PURPOSE      : deletes the row
645 -- HISTORY      :
646 -- 21-JUN-05  piagrawa o Bug 4284035 - Replaced PN_VAR_RENTS with _ALL table.
647 -------------------------------------------------------------------------------
648 
649 procedure DELETE_ROW
650 (
651    X_VAR_RENT_ID in NUMBER
652 )
653 IS
654 BEGIN
655    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.DELETE_ROW (+)');
656 
657    DELETE FROM PN_VAR_RENTS_ALL
658    WHERE VAR_RENT_ID = X_VAR_RENT_ID;
659 
660    IF (sql%notfound) THEN
661       RAISE NO_DATA_FOUND;
662    END IF;
663 
664    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.DELETE_ROW (-)');
665 
666 END DELETE_ROW;
667 
668 -------------------------------------------------------------------------------
669 -- PROCDURE     : CHECK_UNIQUE_RENT_NUMBER
670 -- INVOKED FROM : UPDATE_ROW and INSERT_ROW procedure
671 -- PURPOSE      : deletes the row
672 -- HISTORY      :
676 PROCEDURE CHECK_UNIQUE_RENT_NUMBER
673 -- 21-JUN-05  piagrawa o Bug 4284035 - Replaced PN_VAR_RENTS with _ALL table.
674 --                       Also removed the NVL around org id
675 -------------------------------------------------------------------------------
677 (
678    x_return_status     IN OUT NOCOPY  VARCHAR2,
679    x_var_rent_id       IN             NUMBER,
680    x_rent_num          IN             VARCHAR2,
681    x_org_id            IN             NUMBER
682 )
683 IS
684    l_dummy             NUMBER;
685 BEGIN
686    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.check_UNIQUE_rent_number (+)');
687 
688    SELECT  1
689    INTO    l_dummy
690    FROM    dual
691    WHERE   not exists
692    (
693       SELECT  1
694       FROM    pn_var_rents_all   pnvr
695       WHERE   pnvr.rent_num   = x_rent_num
696       AND ((x_var_rent_id    is null) or
697          (pnvr.var_rent_id  <> x_var_rent_id))
698       AND  org_id = x_org_id
699    );
700 
701    PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.check_UNIQUE_rent_number (-)');
702 
703    EXCEPTION
704    WHEN NO_DATA_FOUND  THEN
705    fnd_message.set_name ('PN','PN_DUP_LEASE_NUMBER');
706    fnd_message.set_token('RENT_NUMBER', x_rent_num);
707    x_return_status := 'E';
708 END CHECK_UNIQUE_RENT_NUMBER;
709 
710 
711 
712 -------------------------------------------------------------------------------
713 -- PROCDURE     : CREATE_VAR_RENT_AGREEMENT
714 -- INVOKED FROM : INSERT_ROW procedure
715 -- PURPOSE      : deletes the row
716 -- HISTORY      :
717 -- 24-APR-06  pikhar o Added for Codev.
718 -------------------------------------------------------------------------------
719 
720 PROCEDURE CREATE_VAR_RENT_AGREEMENT
721 ( p_pn_var_rents_rec   IN pn_var_rents_all%rowtype DEFAULT NULL,
722   p_var_rent_dates_rec IN pn_var_rent_dates_all%rowtype DEFAULT NULL,
723   p_create_periods     IN VARCHAR2 DEFAULT 'N',
724   x_var_rent_id        OUT NOCOPY NUMBER,
725   x_var_rent_num       OUT NOCOPY VARCHAR2)
726 
727 IS
728 
729    l_rowid VARCHAR2(500);
730    l_var_rent_id NUMBER;
731    l_var_rent_date_id NUMBER;
732    l_var_rent_num  VARCHAR2(30);
733 
734 BEGIN
735 
736    l_var_rent_num := p_pn_var_rents_rec.rent_num;
737 
738    pn_var_rents_pkg.insert_row (
739       X_ROWID               => l_rowid,
740       X_VAR_RENT_ID         => l_var_rent_id ,
741       X_RENT_NUM            => l_var_rent_num,
742       X_LEASE_ID            => p_pn_var_rents_Rec.lease_id,
743       X_LOCATION_ID         => p_pn_var_rents_rec.location_id,
744       X_CHG_CAL_VAR_RENT_ID => p_pn_var_rents_rec.chg_cal_var_rent_id,
745       X_PRORATION_DAYS      => p_pn_var_rents_Rec.proration_days,
746       X_PURPOSE_CODE        => p_pn_var_rents_rec.purpose_code,
747       X_TYPE_CODE           => p_pn_var_rents_rec.type_code,
748       X_COMMENCEMENT_DATE   => p_pn_var_rents_rec.commencement_date,
749       X_TERMINATION_DATE    => p_pn_var_rents_rec.termination_date,
750       X_ABSTRACTED_BY_USER  => p_pn_var_rents_rec.abstracted_by_user,
751       X_CUMULATIVE_VOL      => p_pn_var_rents_rec.cumulative_vol,
752       X_ACCRUAL             => p_pn_var_rents_rec.accrual,
753       X_UOM_CODE            => p_pn_var_rents_rec.uom_code,
754       X_INVOICE_ON          => p_pn_var_rents_rec.invoice_on,
755       X_NEGATIVE_RENT       => p_pn_var_rents_rec.negative_rent,
756       X_TERM_TEMPLATE_ID    => p_pn_var_rents_rec.term_template_id,
757       --X_ABATEMENT_AMOUNT    => p_pn_var_rents_rec.abatement_amount,
758       X_ATTRIBUTE_CATEGORY  => p_pn_var_rents_rec.attribute_category,
759       X_ATTRIBUTE1          => p_pn_var_rents_rec.attribute1,
760       X_ATTRIBUTE2          => p_pn_var_rents_rec.attribute2,
761       X_ATTRIBUTE3          => p_pn_var_rents_rec.attribute3,
762       X_ATTRIBUTE4          => p_pn_var_rents_rec.attribute4,
763       X_ATTRIBUTE5          => p_pn_var_rents_rec.attribute5,
764       X_ATTRIBUTE6          => p_pn_var_rents_rec.attribute6,
765       X_ATTRIBUTE7          => p_pn_var_rents_rec.attribute7,
766       X_ATTRIBUTE8          => p_pn_var_rents_rec.attribute8,
767       X_ATTRIBUTE9          => p_pn_var_rents_rec.attribute9,
768       X_ATTRIBUTE10         => p_pn_var_rents_rec.attribute10,
769       X_ATTRIBUTE11         => p_pn_var_rents_rec.attribute11,
770       X_ATTRIBUTE12         => p_pn_var_rents_rec.attribute12,
771       X_ATTRIBUTE13         => p_pn_var_rents_rec.attribute13,
772       X_ATTRIBUTE14         => p_pn_var_rents_rec.attribute14,
773       X_ATTRIBUTE15         => p_pn_var_rents_rec.attribute15,
774       X_ORG_ID              => p_pn_var_rents_rec.org_id,
775       X_CREATION_DATE       => sysdate,
776       X_CREATED_BY          => NVL(FND_PROFILE.VALUE('USER_ID'),1),
777       X_LAST_UPDATE_DATE    => sysdate,
778       X_LAST_UPDATED_BY     => NVL(FND_PROFILE.VALUE('USER_ID'),1),
779       X_LAST_UPDATE_LOGIN   => NVL(FND_PROFILE.VALUE('LOGIN_ID'),1),
780       X_CURRENCY_CODE       => p_pn_var_rents_rec.currency_code,
781       X_PRORATION_RULE      => p_pn_var_rents_rec.proration_rule,
782       X_AGREEMENT_TEMPLATE_ID => p_pn_var_rents_rec.agreement_template_id
783       );
784 
785       l_rowid := NULL;
786 /*
787    dbms_output.put_line('calling insert into pn_var_rent_dates_pkg.insert_row');
788       pn_var_rent_dates_pkg.insert_row (
792          X_GL_PERIOD_SET_NAME => p_var_rent_dates_rec.gl_period_set_name,
789          X_ROWID              => l_rowid,
790          X_VAR_RENT_DATE_ID   => l_var_rent_date_id,
791          X_VAR_RENT_ID        => l_var_rent_id,
793          X_PERIOD_FREQ_CODE   => p_var_rent_dates_rec.period_freq_code,
794          X_REPTG_FREQ_CODE    => p_var_rent_dates_rec.reptg_freq_code,
795          X_REPTG_DAY_OF_MONTH => p_var_rent_dates_rec.reptg_day_of_month,
796          X_REPTG_DAYS_AFTER   => p_var_rent_dates_rec.reptg_days_after,
797          X_INVG_FREQ_CODE     => p_var_rent_dates_rec.invg_freq_code,
798          X_INVG_DAY_OF_MONTH  => p_var_rent_dates_rec.invg_day_of_month,
799          X_INVG_DAYS_AFTER    => p_var_rent_dates_rec.invg_days_after,
800          X_INVG_SPREAD_CODE   => p_var_rent_dates_rec.invg_spread_code,
801          X_INVG_TERM          => p_var_rent_dates_rec.invg_term,
802          X_AUDIT_FREQ_CODE    => p_var_rent_dates_rec.audit_freq_code,
803          X_AUDIT_DAY_OF_MONTH => p_var_rent_dates_rec.audit_day_of_month,
804          X_AUDIT_DAYS_AFTER   => p_var_rent_dates_rec.audit_days_after,
805          X_RECON_FREQ_CODE    => p_var_rent_dates_rec.recon_Freq_code,
806          X_RECON_DAY_OF_MONTH => p_var_rent_dates_rec.recon_day_of_month,
807          X_RECON_DAYS_AFTER   => p_var_rent_dates_rec.recon_days_after,
808          X_ATTRIBUTE_CATEGORY  => p_var_rent_dates_rec.attribute_category,
809          X_ATTRIBUTE1          => p_var_rent_dates_rec.attribute1,
810          X_ATTRIBUTE2          => p_var_rent_dates_rec.attribute2,
811          X_ATTRIBUTE3          => p_var_rent_dates_rec.attribute3,
812          X_ATTRIBUTE4          => p_var_rent_dates_rec.attribute4,
813          X_ATTRIBUTE5          => p_var_rent_dates_rec.attribute5,
814          X_ATTRIBUTE6          => p_var_rent_dates_rec.attribute6,
815          X_ATTRIBUTE7          => p_var_rent_dates_rec.attribute7,
816          X_ATTRIBUTE8          => p_var_rent_dates_rec.attribute8,
817          X_ATTRIBUTE9          => p_var_rent_dates_rec.attribute9,
818          X_ATTRIBUTE10         => p_var_rent_dates_rec.attribute10,
819          X_ATTRIBUTE11         => p_var_rent_dates_rec.attribute11,
820          X_ATTRIBUTE12         => p_var_rent_dates_rec.attribute12,
821          X_ATTRIBUTE13         => p_var_rent_dates_rec.attribute13,
822          X_ATTRIBUTE14         => p_var_rent_dates_rec.attribute14,
823          X_ATTRIBUTE15         => p_var_rent_dates_rec.attribute15,
824          X_ORG_ID              => p_var_rent_dates_rec.org_id,
825          X_CREATION_DATE       => sysdate,
826          X_CREATED_BY          => NVL(FND_PROFILE.VALUE('USER_ID'),1),
827          X_LAST_UPDATE_DATE    => sysdate,
828          X_LAST_UPDATED_BY     => NVL(FND_PROFILE.VALUE('USER_ID'),1),
829          X_LAST_UPDATE_LOGIN   => NVL(FND_PROFILE.VALUE('LOGIN_ID'),1),
830          X_USE_GL_CALENDAR      => p_var_rent_dates_rec.use_gl_calendar,
831          X_PERIOD_TYPE          => p_var_rent_dates_rec.period_type,
832          X_YEAR_START_DATE      => p_var_rent_dates_rec.year_start_date,
833          X_COMMENTS            => p_var_rent_dates_rec.comments,
834          X_EFFECTIVE_DATE      => p_var_rent_dates_rec.effective_date);
835 */
836    x_var_rent_id := l_var_rent_id ;
837    x_var_rent_num := l_var_rent_num ;
838 
839    IF p_create_periods = 'Y' THEN
840       pn_var_rent_pkg.create_var_rent_periods(
841          p_var_rent_id => l_var_rent_id,
842          p_cumulative_vol => p_pn_var_rents_rec.cumulative_vol,
843          p_comm_date      => p_pn_var_rents_rec.commencement_date,
844          p_term_date      => p_pn_var_rents_rec.termination_date);
845    END IF;
846 
847 EXCEPTION
848   WHEN OTHERS THEN
849   /*dbms_output.put_line(sqlerrm); */
850   null;
851 END create_var_rent_agreement;
852 -------------------------------------------------------------------------------
853 -- PROCDURE     : MODIF_VAR_RENT
854 -- INVOKED FROM : insert_row procedure
855 -- PURPOSE      : modifies the row to change excess_abat_code,order_of_appl_code
856 -- HISTORY      :
857 -- 03-DEC-06  lbala  o Created for codev .
858 -------------------------------------------------------------------------------
859 PROCEDURE MODIF_VAR_RENT(x_var_rent_id IN NUMBER,
860                          x_excess_abat_code IN VARCHAR2,
861                          x_order_of_appl_code IN VARCHAR2)
862 IS
863 BEGIN
864 PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.MODIF_VAR_RENT (+)');
865 
866    UPDATE pn_var_rents_all
867    SET excess_abat_code = x_excess_abat_code,
868        order_of_appl_code = x_order_of_appl_code,
869        LAST_UPDATE_DATE  = sysdate,
870        LAST_UPDATED_BY   = NVL(fnd_profile.value('USER_ID'),-1),
871        LAST_UPDATE_LOGIN = NVL(fnd_profile.value('USER_ID'),-1)
872    WHERE var_rent_id=x_var_rent_id ;
873 
874    IF (sql%notfound) THEN
875       RAISE NO_DATA_FOUND;
876    END IF;
877 
878 PNP_DEBUG_PKG.debug ('PN_VAR_RENTS_PKG.MODIF_VAR_RENT (-)');
879 
880 END MODIF_VAR_RENT;
881 
882 -------------------------------------------------------------------------------------
883 --  NAME         : DELETE_VAR_RENT_AGREEMENT
884 --  DESCRIPTION  : This procedure deletes all VR agreements with commencement date
885 --                 after early termination date of the lease and no approved schedules
886 --  HISTORY      :
887 --  12/12/06   lbala  Created
888 --------------------------------------------------------------------------------------
889 
890 PROCEDURE DELETE_VAR_RENT_AGREEMENT(p_lease_id IN NUMBER,
891                                     p_termination_dt IN DATE)
892 IS
893 CURSOR get_var_rents(p1_lease_id IN NUMBER,p1_termination_dt IN DATE) IS
894 SELECT var_rent_id
895 FROM pn_var_rents_all vrent
896 WHERE lease_id = p1_lease_id
897 AND commencement_date > p1_termination_dt
898 AND NOT EXISTS ( SELECT NULL
899                  FROM pn_payment_schedules_all ps,
900                       pn_payment_items_all     pi,
901                       pn_payment_terms_all     pterm
902                  WHERE pi.PAYMENT_SCHEDULE_ID = ps.PAYMENT_SCHEDULE_ID
903                    AND  pi.PAYMENT_TERM_ID    = pterm.PAYMENT_TERM_ID
904                    AND  pterm.var_rent_inv_id IN (SELECT var_rent_inv_id FROM pn_var_rent_inv_all
905                                                   WHERE var_rent_id= vrent.var_rent_id
906                                                   )
907                    AND  ps.PAYMENT_STATUS_LOOKUP_CODE='APPROVED'
908                );
909 
910 l_varent_id NUMBER :=NULL;
911 p_term_date DATE   :=NULL;
912 
913 BEGIN
914 
915 FOR var_rent_rec IN get_var_rents(p_lease_id,p_termination_dt) LOOP
916 
917    l_varent_id := var_rent_rec.var_rent_id;
918 
919    PN_VAR_RENT_PKG.delete_var_rent_periods(l_varent_id);
920 
921    PN_VAR_TRX_PKG.delete_transactions( p_var_rent_id => l_varent_id
922                                       ,p_period_id  => NULL
923                                       ,p_line_item_id => NULL);
924 
925    DELETE FROM pn_var_rent_dates_all
926    WHERE var_rent_id=l_varent_id;
927 
928    DELETE FROM pn_var_rents_all
929    WHERE var_rent_id=l_varent_id;
930 
931    IF SQL%NOTFOUND THEN
932      NULL;
933    END IF;
934 
935 END LOOP;
936 
937 END delete_var_rent_agreement;
938 
939 END PN_VAR_RENTS_PKG;