DBA Data[Home] [Help]

PACKAGE BODY: APPS.PN_VAR_RENT_INV_PKG

Source


1 package body PN_VAR_RENT_INV_PKG AS
2 /* $Header: PNVRINVB.pls 120.8 2007/04/24 07:52:19 lbala noship $ */
3 
4 
5 --------------------------------------------------------------------------------
6 -- PROCDURE     : INSERT_ROW
7 -- INVOKED FROM : insert_row procedure
8 -- PURPOSE      : inserts the row
9 -- HISTORY      :
10 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table
11 -- 28-NOV-05  pikhar   o fetched org_id using cursor
12 -- 18-AUG-06  Pikhar   o Added credit_flag,true_up_amount,true_up_status
13 --                       and true_up_exp_code
14 --------------------------------------------------------------------------------
15 
16 
17 procedure INSERT_ROW (
18     X_ROWID                  IN OUT NOCOPY VARCHAR2,
19     X_VAR_RENT_INV_ID        IN OUT NOCOPY NUMBER,
20     X_ADJUST_NUM             IN NUMBER,
21     X_INVOICE_DATE           IN DATE,
22     X_FOR_PER_RENT           IN NUMBER,
23     X_TOT_ACT_VOL            IN NUMBER,
24     X_ACT_PER_RENT           IN NUMBER,
25     X_CONSTR_ACTUAL_RENT     IN NUMBER,
26     X_ABATEMENT_APPL         IN NUMBER,
27     X_REC_ABATEMENT          IN NUMBER,
28     X_REC_ABATEMENT_OVERRIDE IN NUMBER,
29     X_NEGATIVE_RENT          IN NUMBER,
30     X_ACTUAL_INVOICED_AMOUNT IN NUMBER,
31     X_PERIOD_ID              IN NUMBER,
32     X_VAR_RENT_ID            IN NUMBER,
33     X_FORECASTED_TERM_STATUS IN VARCHAR2,
34     X_VARIANCE_TERM_STATUS   IN VARCHAR2,
35     X_ACTUAL_TERM_STATUS     IN VARCHAR2,
36     X_FORECASTED_EXP_CODE    IN VARCHAR2,
37     X_VARIANCE_EXP_CODE      IN VARCHAR2,
38     X_ACTUAL_EXP_CODE        IN VARCHAR2,
39     X_COMMENTS               IN VARCHAR2,
40     X_ATTRIBUTE_CATEGORY     IN VARCHAR2,
41     X_ATTRIBUTE1             IN VARCHAR2,
42     X_ATTRIBUTE2             IN VARCHAR2,
43     X_ATTRIBUTE3             IN VARCHAR2,
44     X_ATTRIBUTE4             IN VARCHAR2,
45     X_ATTRIBUTE5             IN VARCHAR2,
46     X_ATTRIBUTE6             IN VARCHAR2,
47     X_ATTRIBUTE7             IN VARCHAR2,
48     X_ATTRIBUTE8             IN VARCHAR2,
49     X_ATTRIBUTE9             IN VARCHAR2,
50     X_ATTRIBUTE10            IN VARCHAR2,
51     X_ATTRIBUTE11            IN VARCHAR2,
52     X_ATTRIBUTE12            IN VARCHAR2,
53     X_ATTRIBUTE13            IN VARCHAR2,
54     X_ATTRIBUTE14            IN VARCHAR2,
55     X_ATTRIBUTE15            IN VARCHAR2,
56     X_CREATION_DATE          IN DATE,
57     X_CREATED_BY             IN NUMBER,
58     X_LAST_UPDATE_DATE       IN DATE,
59     X_LAST_UPDATED_BY        IN NUMBER,
60     X_LAST_UPDATE_LOGIN      IN NUMBER,
61     X_ORG_ID                 IN NUMBER,
62     X_CREDIT_FLAG            IN VARCHAR2,
63     X_TRUE_UP_AMOUNT         IN NUMBER,
64     X_TRUE_UP_STATUS         IN VARCHAR2,
65     X_TRUE_UP_EXP_CODE       IN VARCHAR2
66 ) IS
67   CURSOR C IS
68     SELECT ROWID
69     FROM PN_VAR_RENT_INV_ALL
70     WHERE VAR_RENT_INV_ID = X_VAR_RENT_INV_ID;
71 
72   CURSOR org_cur IS
73     SELECT org_id
74     FROM PN_VAR_RENTS_ALL
75     WHERE VAR_RENT_ID = X_VAR_RENT_ID;
76 
77   l_org_id      NUMBER;
78   l_precision   NUMBER;
79 
80 BEGIN
81 
82 
83    PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.INSERT_ROW (+)');
84 
85     -------------------------------------------------------
86     -- We need to generate the var_rent_INv_id
87     -------------------------------------------------------
88 
89      IF x_org_id IS NULL THEN
90        FOR rec IN org_cur LOOP
91         l_org_id := rec.org_id;
92        END LOOP;
93      ELSE
94        l_org_id := x_org_id;
95      END IF;
96 
97      IF (X_VAR_RENT_INV_ID IS NULL)  THEN
98          SELECT PN_VAR_RENT_INV_S.nextval
99          INTO X_VAR_RENT_INV_ID
100          FROM dual;
101      END IF;
102 
103      l_precision := nvl(pn_var_rent_calc_pkg.get_currency_precision(l_org_id),4);
104 
105   INSERT INTO PN_VAR_RENT_INV_ALL (
106     VAR_RENT_INV_ID,
107     ADJUST_NUM,
108     INVOICE_DATE,
109     FOR_PER_RENT,
110     TOT_ACT_VOL,
111     ACT_PER_RENT,
112     CONSTR_ACTUAL_RENT,
113     ABATEMENT_APPL,
114     REC_ABATEMENT,
115     REC_ABATEMENT_OVERRIDE,
116     NEGATIVE_RENT,
117     ACTUAL_INVOICED_AMOUNT,
118     PERIOD_ID,
119     VAR_RENT_ID,
120     FORECASTED_TERM_STATUS,
121     VARIANCE_TERM_STATUS,
122     ACTUAL_TERM_STATUS,
123     FORECASTED_EXP_CODE,
124     VARIANCE_EXP_CODE,
125     ACTUAL_EXP_CODE,
126     COMMENTS,
127     LAST_UPDATE_DATE,
128     LAST_UPDATED_BY,
129     CREATION_DATE,
130     CREATED_BY,
131     LAST_UPDATE_LOGIN,
132     ATTRIBUTE_CATEGORY,
133     ATTRIBUTE1,
134     ATTRIBUTE2,
135     ATTRIBUTE3,
136     ATTRIBUTE4,
137     ATTRIBUTE5,
138     ATTRIBUTE6,
139     ATTRIBUTE7,
140     ATTRIBUTE8,
141     ATTRIBUTE9,
142     ATTRIBUTE10,
143     ATTRIBUTE11,
144     ATTRIBUTE12,
145     ATTRIBUTE13,
146     ATTRIBUTE14,
147     ATTRIBUTE15,
148     ORG_ID,
149     CREDIT_FLAG,
150     TRUE_UP_AMT,
151     TRUE_UP_STATUS,
152     TRUE_UP_EXP_CODE
153   ) VALUES
154   ( X_VAR_RENT_INV_ID,
155     X_ADJUST_NUM,
156     X_INVOICE_DATE,
157     ROUND(X_FOR_PER_RENT, l_precision),
158     ROUND(X_TOT_ACT_VOL, l_precision),   -- bug # 6007571
159     ROUND(X_ACT_PER_RENT, l_precision),
160     ROUND(X_CONSTR_ACTUAL_RENT, l_precision),
161     X_ABATEMENT_APPL,
162     X_REC_ABATEMENT,
163     X_REC_ABATEMENT_OVERRIDE,
164     X_NEGATIVE_RENT,
165     ROUND(X_ACTUAL_INVOICED_AMOUNT, l_precision),
166     X_PERIOD_ID,
167     X_VAR_RENT_ID,
168     X_FORECASTED_TERM_STATUS,
169     X_VARIANCE_TERM_STATUS,
170     X_ACTUAL_TERM_STATUS,
171     X_FORECASTED_EXP_CODE,
172     X_VARIANCE_EXP_CODE,
173     X_ACTUAL_EXP_CODE,
174     X_COMMENTS,
175     X_LAST_UPDATE_DATE,
176     X_LAST_UPDATED_BY,
177     X_CREATION_DATE,
178     X_CREATED_BY,
179     X_LAST_UPDATE_LOGIN,
180     X_ATTRIBUTE_CATEGORY,
181     X_ATTRIBUTE1,
182     X_ATTRIBUTE2,
183     X_ATTRIBUTE3,
184     X_ATTRIBUTE4,
185     X_ATTRIBUTE5,
186     X_ATTRIBUTE6,
187     X_ATTRIBUTE7,
188     X_ATTRIBUTE8,
189     X_ATTRIBUTE9,
190     X_ATTRIBUTE10,
191     X_ATTRIBUTE11,
192     X_ATTRIBUTE12,
193     X_ATTRIBUTE13,
194     X_ATTRIBUTE14,
195     X_ATTRIBUTE15,
196     l_ORG_ID,
197     X_CREDIT_FLAG,
198     X_TRUE_UP_AMOUNT,
199     X_TRUE_UP_STATUS,
200     X_TRUE_UP_EXP_CODE);
201 
202   OPEN c;
203   FETCH c INTO X_ROWID;
204   IF (c%NOTFOUND) THEN
205     CLOSE c;
206     RAISE NO_DATA_FOUND;
207   END IF;
208   CLOSE c;
209 
210   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.INSERT_ROW (-)');
211 
212 END INSERT_ROW;
213 
214 -----------------------------------------------------------------------
215 ---- PROCEDURE : LOCK_ROW_EXCEPTION
216 -----------------------------------------------------------------------
217 
218 procedure lock_row_exception (p_column_name IN varchar2,
219                               p_new_value   IN varchar2)
220 IS
221 BEGIN
222        PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW_EXCEPTION (+)');
223 
224        fnd_message.set_name ('PN','PN_RECORD_CHANGED');
225        fnd_message.set_token ('COLUMN_NAME',p_column_name);
226        fnd_message.set_token ('NEW_VALUE',p_new_value);
227        app_exception.RAISE_exception;
228 
229        PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW_EXCEPTION (-)');
230 END lock_row_exception;
231 
232 
233 -------------------------------------------------------------------------------
234 -- PROCDURE     : lock_row
235 -- INVOKED FROM : lock_row procedure
236 -- PURPOSE      : locks the row
237 -- HISTORY      :
238 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table.
239 -------------------------------------------------------------------------------
240 
241 
242 
243 procedure LOCK_ROW (
244    X_VAR_RENT_INV_ID        IN NUMBER,
245    X_ADJUST_NUM             IN NUMBER,
246    X_INVOICE_DATE           IN DATE,
247    X_FOR_PER_RENT           IN NUMBER,
248    X_TOT_ACT_VOL            IN NUMBER,
249    X_ACT_PER_RENT           IN NUMBER,
250    X_CONSTR_ACTUAL_RENT     IN NUMBER,
251    X_ABATEMENT_APPL         IN NUMBER,
252    X_REC_ABATEMENT          IN NUMBER,
253    X_REC_ABATEMENT_OVERRIDE IN NUMBER,
254    X_NEGATIVE_RENT          IN NUMBER,
255    X_ACTUAL_INVOICED_AMOUNT IN NUMBER,
256    X_PERIOD_ID              IN NUMBER,
257    X_VAR_RENT_ID            IN NUMBER,
258    X_FORECASTED_TERM_STATUS IN VARCHAR2,
259    X_VARIANCE_TERM_STATUS   IN VARCHAR2,
260    X_ACTUAL_TERM_STATUS     IN VARCHAR2,
261    X_FORECASTED_EXP_CODE    IN VARCHAR2,
262    X_VARIANCE_EXP_CODE      IN VARCHAR2,
263    X_ACTUAL_EXP_CODE        IN VARCHAR2,
264    X_COMMENTS               IN VARCHAR2,
265    X_ATTRIBUTE_CATEGORY     IN VARCHAR2,
266    X_ATTRIBUTE1             IN VARCHAR2,
267    X_ATTRIBUTE2             IN VARCHAR2,
268    X_ATTRIBUTE3             IN VARCHAR2,
269    X_ATTRIBUTE4             IN VARCHAR2,
270    X_ATTRIBUTE5             IN VARCHAR2,
271    X_ATTRIBUTE6             IN VARCHAR2,
272    X_ATTRIBUTE7             IN VARCHAR2,
273    X_ATTRIBUTE8             IN VARCHAR2,
274    X_ATTRIBUTE9             IN VARCHAR2,
275    X_ATTRIBUTE10            IN VARCHAR2,
276    X_ATTRIBUTE11            IN VARCHAR2,
277    X_ATTRIBUTE12            IN VARCHAR2,
278    X_ATTRIBUTE13            IN VARCHAR2,
279    X_ATTRIBUTE14            IN VARCHAR2,
280    X_ATTRIBUTE15            IN VARCHAR2
281 ) IS
282   CURSOR c1 IS
283   SELECT *
284   FROM PN_VAR_RENT_INV_ALL
285   WHERE VAR_RENT_INV_ID = X_VAR_RENT_INV_ID
286   FOR UPDATE OF VAR_RENT_INV_ID nowait;
287 
288   tlINfo   c1%ROWTYPE;
289 
290 BEGIN
291      PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW (+)');
292 
293      OPEN c1;
294        FETCH c1 INTO tlINfo;
295        IF (c1%NOTFOUND) THEN
296       CLOSE c1;
297       RETURN;
298        END IF;
299      CLOSE c1;
300 
301      IF (tlINfo.VAR_RENT_INV_ID = X_VAR_RENT_INV_ID) THEN
302             NULL;
303      ELSE
304             lock_row_exception('VAR_RENT_INV_ID',TO_CHAR(tlINfo.VAR_RENT_INV_ID));
305      END IF;
306 
307      IF (tlINfo.ADJUST_NUM = X_ADJUST_NUM) THEN
308             NULL;
309      ELSE
310             lock_row_exception('ADJUST_NUM',TO_CHAR(tlINfo.ADJUST_NUM));
311      END IF;
312 
313      IF (tlINfo.INVOICE_DATE = X_INVOICE_DATE) THEN
314        NULL;
315      ELSE
316        lock_row_exception('INVOICE_DATE',TO_CHAR(tlINfo.INVOICE_DATE));
317      END IF;
318 
319 
320      IF ((tlINfo.FOR_PER_RENT = X_FOR_PER_RENT)
321            OR ((tlINfo.FOR_PER_RENT IS NULL) AND (X_FOR_PER_RENT IS NULL))) THEN
322             NULL;
323      ELSE
324             lock_row_exception('FOR_PER_RENT',TO_CHAR(tlINfo.FOR_PER_RENT));
325      END IF;
326 
327      IF ((tlINfo.TOT_ACT_VOL = X_TOT_ACT_VOL)
328            OR ((tlINfo.TOT_ACT_VOL IS NULL) AND (X_TOT_ACT_VOL IS NULL))) THEN
329             NULL;
330      ELSE
331             lock_row_exception('TOT_ACT_VOL',TO_CHAR(tlINfo.TOT_ACT_VOL));
332      END IF;
333 
334      IF ((tlINfo.ACT_PER_RENT = X_ACT_PER_RENT)
335           OR ((tlINfo.ACT_PER_RENT IS NULL) AND (X_ACT_PER_RENT IS NULL))) THEN
336             NULL;
337      ELSE
338        lock_row_exception('ACT_PER_RENT',TO_CHAR(tlINfo.ACT_PER_RENT));
339      END IF;
340 
341      IF ((tlINfo.CONSTR_ACTUAL_RENT = X_CONSTR_ACTUAL_RENT)
342           OR ((tlINfo.CONSTR_ACTUAL_RENT IS NULL) AND (X_CONSTR_ACTUAL_RENT IS NULL))) THEN
343             NULL;
344      ELSE
345           lock_row_exception('CONSTR_ACTUAL_RENT',TO_CHAR(tlINfo.CONSTR_ACTUAL_RENT));
346      END IF;
347 
348 
349      IF ((tlINfo.ABATEMENT_APPL = X_ABATEMENT_APPL)
350          OR ((tlINfo.ABATEMENT_APPL IS NULL) AND (X_ABATEMENT_APPL IS NULL))) THEN
351            NULL;
352      ELSE
353             lock_row_exception('ABATEMENT_APPL',TO_CHAR(tlINfo.ABATEMENT_APPL));
354      END IF;
355 
356      IF ((tlINfo.REC_ABATEMENT = X_REC_ABATEMENT)
357          OR ((tlINfo.REC_ABATEMENT IS NULL) AND (X_REC_ABATEMENT IS NULL))) THEN
358            NULL;
359      ELSE
360            lock_row_exception('REC_ABATEMENT',TO_CHAR(tlINfo.REC_ABATEMENT));
361      END IF;
362 
363      IF ((tlINfo.REC_ABATEMENT_OVERRIDE = X_REC_ABATEMENT_OVERRIDE)
364          OR ((tlINfo.REC_ABATEMENT_OVERRIDE IS NULL) AND (X_REC_ABATEMENT_OVERRIDE IS NULL))) THEN
365            NULL;
366      ELSE
367            lock_row_exception('REC_ABATEMENT_OVERRIDE',TO_CHAR(tlINfo.REC_ABATEMENT_OVERRIDE));
368      END IF;
369 
370      IF ((tlINfo.NEGATIVE_RENT = X_NEGATIVE_RENT)
371          OR ((tlINfo.NEGATIVE_RENT IS NULL) AND (X_NEGATIVE_RENT IS NULL))) THEN
372            NULL;
373      ELSE
374            lock_row_exception('NEGATIVE_RENT',TO_CHAR(tlINfo.NEGATIVE_RENT));
375      END IF;
376 
377 
378      IF ((tlINfo.ACTUAL_INVOICED_AMOUNT = X_ACTUAL_INVOICED_AMOUNT)
379          OR ((tlINfo.ACTUAL_INVOICED_AMOUNT IS NULL) AND (X_ACTUAL_INVOICED_AMOUNT IS NULL))) THEN
380            NULL;
381      ELSE
382       lock_row_exception('ACTUAL_INVOICED_AMOUNT',TO_CHAR(tlINfo.ACTUAL_INVOICED_AMOUNT));
383      END IF;
384 
385      IF (tlINfo.PERIOD_ID = X_PERIOD_ID) THEN
386            NULL;
387      ELSE
388       lock_row_exception('PERIOD_ID',TO_CHAR(tlINfo.PERIOD_ID));
389      END IF;
390 
391      IF (tlINfo.VAR_RENT_ID = X_VAR_RENT_ID) THEN
392            NULL;
393      ELSE
394       lock_row_exception('VAR_RENT_ID',TO_CHAR(tlINfo.VAR_RENT_ID));
395      END IF;
396 
397      IF (tlINfo.FORECASTED_TERM_STATUS = X_FORECASTED_TERM_STATUS) THEN
398            NULL;
399      ELSE
400            lock_row_exception('FORECASTED_TERM_STATUS',tlINfo.FORECASTED_TERM_STATUS);
401      END IF;
402 
403 
404      IF (tlINfo.VARIANCE_TERM_STATUS = X_VARIANCE_TERM_STATUS) THEN
405            NULL;
406      ELSE
407          lock_row_exception('VARIANCE_TERM_STATUS',tlINfo.VARIANCE_TERM_STATUS);
408      END IF;
409 
410 
411      IF (tlINfo.ACTUAL_TERM_STATUS = X_ACTUAL_TERM_STATUS) THEN
412            NULL;
413      ELSE
414             lock_row_exception('ACTUAL_TERM_STATUS',tlINfo.ACTUAL_TERM_STATUS);
415      END IF;
416 
417 
418      IF (tlINfo.FORECASTED_EXP_CODE = X_FORECASTED_EXP_CODE) THEN
419            NULL;
420      ELSE
421            lock_row_exception('FORECASTED_EXP_CODE',tlINfo.FORECASTED_EXP_CODE);
422      END IF;
423 
424 
425      IF (tlINfo.VARIANCE_EXP_CODE = X_VARIANCE_EXP_CODE) THEN
426            NULL;
427      ELSE
428            lock_row_exception('VARIANCE_EXP_CODE',tlINfo.VARIANCE_EXP_CODE);
429      END IF;
430 
431 
432      IF (tlINfo.ACTUAL_EXP_CODE = X_ACTUAL_EXP_CODE) THEN
433            NULL;
434      ELSE
435            lock_row_exception('ACTUAL_EXP_CODE',tlINfo.ACTUAL_EXP_CODE);
436      END IF;
437 
438 
439      IF ((tlINfo.COMMENTS = X_COMMENTS)
440          OR ((tlINfo.COMMENTS IS NULL) AND (X_COMMENTS IS NULL))) THEN
441            NULL;
442      ELSE
443            lock_row_exception('COMMENTS',tlINfo.COMMENTS);
444      END IF;
445 
446      IF ((tlINfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
447          OR ((tlINfo.ATTRIBUTE_CATEGORY IS NULL) AND (X_ATTRIBUTE_CATEGORY IS NULL))) THEN
448            NULL;
449      ELSE
450       lock_row_exception('ATTRIBUTE_CATEGORY',tlINfo.ATTRIBUTE_CATEGORY);
451      END IF;
452 
453      IF ((tlINfo.ATTRIBUTE1 = X_ATTRIBUTE1)
454          OR ((tlINfo.ATTRIBUTE1 IS NULL) AND (X_ATTRIBUTE1 IS NULL))) THEN
455             NULL;
456      ELSE
457        lock_row_exception('ATTRIBUTE1',tlINfo.ATTRIBUTE1);
458      END IF;
459 
460      IF ((tlINfo.ATTRIBUTE2 = X_ATTRIBUTE2)
461          OR ((tlINfo.ATTRIBUTE2 IS NULL) AND (X_ATTRIBUTE2 IS NULL))) THEN
462             NULL;
463      ELSE
464        lock_row_exception('ATTRIBUTE2',tlINfo.ATTRIBUTE2);
465      END IF;
466 
467      IF ((tlINfo.ATTRIBUTE3 = X_ATTRIBUTE3)
468          OR ((tlINfo.ATTRIBUTE3 IS NULL) AND (X_ATTRIBUTE3 IS NULL))) THEN
469             NULL;
470      ELSE
471        lock_row_exception('ATTRIBUTE3',tlINfo.ATTRIBUTE3);
472      END IF;
473 
474 
475      IF ((tlINfo.ATTRIBUTE4 = X_ATTRIBUTE4)
476          OR ((tlINfo.ATTRIBUTE4 IS NULL) AND (X_ATTRIBUTE4 IS NULL))) THEN
477             NULL;
478      ELSE
479        lock_row_exception('ATTRIBUTE4',tlINfo.ATTRIBUTE4);
480      END IF;
481 
482 
483      IF ((tlINfo.ATTRIBUTE5 = X_ATTRIBUTE5)
484          OR ((tlINfo.ATTRIBUTE5 IS NULL) AND (X_ATTRIBUTE5 IS NULL))) THEN
485             NULL;
486      ELSE
487        lock_row_exception('ATTRIBUTE5',tlINfo.ATTRIBUTE5);
488      END IF;
489 
490 
491      IF ((tlINfo.ATTRIBUTE6 = X_ATTRIBUTE6)
492          OR ((tlINfo.ATTRIBUTE6 IS NULL) AND (X_ATTRIBUTE6 IS NULL))) THEN
493             NULL;
494      ELSE
495           lock_row_exception('ATTRIBUTE6',tlINfo.ATTRIBUTE6);
496      END IF;
497 
498 
499      IF ((tlINfo.ATTRIBUTE7 = X_ATTRIBUTE7)
500                OR ((tlINfo.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL))) THEN
501            NULL;
502      ELSE
503           lock_row_exception('ATTRIBUTE7',tlINfo.ATTRIBUTE7);
504      END IF;
505 
506      IF ((tlINfo.ATTRIBUTE8 = X_ATTRIBUTE8)
507                OR ((tlINfo.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL))) THEN
508            NULL;
509      ELSE
510           lock_row_exception('ATTRIBUTE8',tlINfo.ATTRIBUTE8);
511      END IF;
512 
513      IF ((tlINfo.ATTRIBUTE9 = X_ATTRIBUTE9)
514                OR ((tlINfo.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL))) THEN
515            NULL;
516      ELSE
517       lock_row_exception('ATTRIBUTE9',tlINfo.ATTRIBUTE9);
518      END IF;
519 
520 
521      IF ((tlINfo.ATTRIBUTE10 = X_ATTRIBUTE10)
522                OR ((tlINfo.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL))) THEN
523            NULL;
524      ELSE
525      lock_row_exception('ATTRIBUTE10',tlINfo.ATTRIBUTE10);
526      END IF;
527 
528 
529      IF ((tlINfo.ATTRIBUTE11 = X_ATTRIBUTE11)
530          OR ((tlINfo.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL))) THEN
531            NULL;
532      ELSE
533       lock_row_exception('ATTRIBUTE11',tlINfo.ATTRIBUTE11);
534      END IF;
535 
536 
537      IF ((tlINfo.ATTRIBUTE12 = X_ATTRIBUTE12)
538          OR ((tlINfo.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL))) THEN
539            NULL;
540      ELSE
541          lock_row_exception('ATTRIBUTE12',tlINfo.ATTRIBUTE12);
542      END IF;
543 
544 
545      IF ((tlINfo.ATTRIBUTE13 = X_ATTRIBUTE13)
546          OR ((tlINfo.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL))) THEN
547            NULL;
548      ELSE
549       lock_row_exception('ATTRIBUTE13',tlINfo.ATTRIBUTE13);
550      END IF;
551 
552 
553      IF ((tlINfo.ATTRIBUTE14 = X_ATTRIBUTE14)
554          OR ((tlINfo.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL))) THEN
555            NULL;
556      ELSE
557       lock_row_exception('ATTRIBUTE14',tlINfo.ATTRIBUTE14);
558      END IF;
559 
560 
561      IF ((tlINfo.ATTRIBUTE15 = X_ATTRIBUTE15)
562          OR ((tlINfo.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL))) THEN
563            NULL;
564      ELSE
565       lock_row_exception('ATTRIBUTE15',tlINfo.ATTRIBUTE15);
566      END IF;
567 
568 
569 
570     PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW (-)');
571 
572 END LOCK_ROW;
573 
574 
575 
576 -------------------------------------------------------------------------------
577 -- PROCDURE     : update_row
578 -- INVOKED FROM : update_row procedure
579 -- PURPOSE      : updates the row
580 -- HISTORY      :
581 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table
582 -------------------------------------------------------------------------------
583 
584 
585 procedure UPDATE_ROW (
586    X_VAR_RENT_INV_ID        IN NUMBER,
587    X_ADJUST_NUM             IN NUMBER,
588    X_INVOICE_DATE           IN DATE,
589    X_FOR_PER_RENT           IN NUMBER,
590    X_TOT_ACT_VOL            IN NUMBER,
591    X_ACT_PER_RENT           IN NUMBER,
592    X_CONSTR_ACTUAL_RENT     IN NUMBER,
593    X_ABATEMENT_APPL         IN NUMBER,
594    X_REC_ABATEMENT          IN NUMBER,
595    X_REC_ABATEMENT_OVERRIDE IN NUMBER,
596    X_NEGATIVE_RENT          IN NUMBER,
597    X_ACTUAL_INVOICED_AMOUNT IN NUMBER,
598    X_PERIOD_ID              IN NUMBER,
599    X_VAR_RENT_ID            IN NUMBER,
600    X_FORECASTED_TERM_STATUS IN VARCHAR2,
601    X_VARIANCE_TERM_STATUS   IN VARCHAR2,
602    X_ACTUAL_TERM_STATUS     IN VARCHAR2,
603    X_FORECASTED_EXP_CODE    IN VARCHAR2,
604    X_VARIANCE_EXP_CODE      IN VARCHAR2,
605    X_ACTUAL_EXP_CODE        IN VARCHAR2,
606    X_COMMENTS               IN VARCHAR2,
607    X_ATTRIBUTE_CATEGORY     IN VARCHAR2,
608    X_ATTRIBUTE1             IN VARCHAR2,
609    X_ATTRIBUTE2             IN VARCHAR2,
610    X_ATTRIBUTE3             IN VARCHAR2,
611    X_ATTRIBUTE4             IN VARCHAR2,
612    X_ATTRIBUTE5             IN VARCHAR2,
613    X_ATTRIBUTE6             IN VARCHAR2,
614    X_ATTRIBUTE7             IN VARCHAR2,
615    X_ATTRIBUTE8             IN VARCHAR2,
616    X_ATTRIBUTE9             IN VARCHAR2,
617    X_ATTRIBUTE10            IN VARCHAR2,
618    X_ATTRIBUTE11            IN VARCHAR2,
619    X_ATTRIBUTE12            IN VARCHAR2,
620    X_ATTRIBUTE13            IN VARCHAR2,
621    X_ATTRIBUTE14            IN VARCHAR2,
622    X_ATTRIBUTE15            IN VARCHAR2,
623    X_LAST_UPDATE_DATE       IN DATE,
624    X_LAST_UPDATED_BY        IN NUMBER,
625    X_LAST_UPDATE_LOGIN      IN NUMBER
626 ) IS
627 
628 l_precision  NUMBER;
629 
630 BEGIN
631 
632   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.UPDATE_ROW (+)');
633 
634   l_precision := nvl(pn_var_rent_calc_pkg.get_currency_precision(),4);
635 
636  UPDATE PN_VAR_RENT_INV_ALL SET
637    ADJUST_NUM             = X_ADJUST_NUM,
638    INVOICE_DATE           = X_INVOICE_DATE,
639    FOR_PER_RENT           = ROUND(X_FOR_PER_RENT, l_precision),
640    TOT_ACT_VOL            = ROUND(X_TOT_ACT_VOL, l_precision),
641    ACT_PER_RENT           = ROUND(X_ACT_PER_RENT, l_precision),
642    CONSTR_ACTUAL_RENT     = ROUND(X_CONSTR_ACTUAL_RENT, l_precision),
643    ABATEMENT_APPL         = X_ABATEMENT_APPL,
644    REC_ABATEMENT          = X_REC_ABATEMENT,
645    REC_ABATEMENT_OVERRIDE = X_REC_ABATEMENT_OVERRIDE,
646    NEGATIVE_RENT          = X_NEGATIVE_RENT,
647    ACTUAL_INVOICED_AMOUNT = ROUND(X_ACTUAL_INVOICED_AMOUNT, l_precision),
648    PERIOD_ID              = X_PERIOD_ID,
649    FORECASTED_TERM_STATUS = X_FORECASTED_TERM_STATUS,
650    VARIANCE_TERM_STATUS   = X_VARIANCE_TERM_STATUS,
651    ACTUAL_TERM_STATUS     = X_ACTUAL_TERM_STATUS,
652    FORECASTED_EXP_CODE    = X_FORECASTED_EXP_CODE,
653    VARIANCE_EXP_CODE      = X_VARIANCE_EXP_CODE,
654    ACTUAL_EXP_CODE        = X_ACTUAL_EXP_CODE,
655    COMMENTS               = X_COMMENTS,
656    ATTRIBUTE_CATEGORY     = X_ATTRIBUTE_CATEGORY,
657    ATTRIBUTE1             = X_ATTRIBUTE1,
658    ATTRIBUTE2             = X_ATTRIBUTE2,
659    ATTRIBUTE3             = X_ATTRIBUTE3,
660    ATTRIBUTE4             = X_ATTRIBUTE4,
661    ATTRIBUTE5             = X_ATTRIBUTE5,
662    ATTRIBUTE6             = X_ATTRIBUTE6,
663    ATTRIBUTE7             = X_ATTRIBUTE7,
664    ATTRIBUTE8             = X_ATTRIBUTE8,
665    ATTRIBUTE9             = X_ATTRIBUTE9,
666    ATTRIBUTE10            = X_ATTRIBUTE10,
667    ATTRIBUTE11            = X_ATTRIBUTE11,
668    ATTRIBUTE12            = X_ATTRIBUTE12,
669    ATTRIBUTE13            = X_ATTRIBUTE13,
670    ATTRIBUTE14            = X_ATTRIBUTE14,
671    ATTRIBUTE15            = X_ATTRIBUTE15,
672    LAST_UPDATE_DATE       = X_LAST_UPDATE_DATE,
673    LAST_UPDATED_BY        = X_LAST_UPDATED_BY,
674    LAST_UPDATE_LOGIN      = X_LAST_UPDATE_LOGIN
675  WHERE VAR_RENT_INV_ID    = X_VAR_RENT_INV_ID;
676 
677 
678   IF (SQL%NOTFOUND) THEN
679     RAISE NO_DATA_FOUND;
680   END IF;
681 
682   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.UPDATE_ROW (-)');
683 
684 END UPDATE_ROW;
685 
686 
687 -------------------------------------------------------------------------------
688 -- PROCDURE     : delete_row
689 -- INVOKED FROM : delete_row procedure
690 -- PURPOSE      : deletes the row
691 -- HISTORY      :
692 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table
693 -------------------------------------------------------------------------------
694 procedure DELETE_ROW (
695   X_VAR_RENT_INV_ID IN NUMBER
696 ) IS
697 BEGIN
698 
699   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.DELETE_ROW (+)');
700 
701   DELETE FROM PN_VAR_RENT_INV_ALL
702   WHERE VAR_RENT_INV_ID = X_VAR_RENT_INV_ID;
703 
704   IF (SQL%NOTFOUND) THEN
705     RAISE NO_DATA_FOUND;
706   END IF;
707 
708   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.DELETE_ROW (-)');
709 
710 
711 END DELETE_ROW;
712 
713 END PN_VAR_RENT_INV_PKG;
714