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.9 2011/04/14 22:11:20 asahoo ship $ */
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 -- 14-APR-11  asahoo   o Bug 12359112 -  removed the column ACTUAL_INVOICED_AMOUNT from Lock_row procedure
240 -------------------------------------------------------------------------------
241 
242 
243 
244 procedure LOCK_ROW (
245    X_VAR_RENT_INV_ID        IN NUMBER,
246    X_ADJUST_NUM             IN NUMBER,
247    X_INVOICE_DATE           IN DATE,
248    X_FOR_PER_RENT           IN NUMBER,
249    X_TOT_ACT_VOL            IN NUMBER,
250    X_ACT_PER_RENT           IN NUMBER,
251    X_CONSTR_ACTUAL_RENT     IN NUMBER,
252    X_ABATEMENT_APPL         IN NUMBER,
253    X_REC_ABATEMENT          IN NUMBER,
254    X_REC_ABATEMENT_OVERRIDE IN NUMBER,
255    X_NEGATIVE_RENT          IN NUMBER,
256    X_ACTUAL_INVOICED_AMOUNT IN NUMBER,
257    X_PERIOD_ID              IN NUMBER,
258    X_VAR_RENT_ID            IN NUMBER,
259    X_FORECASTED_TERM_STATUS IN VARCHAR2,
260    X_VARIANCE_TERM_STATUS   IN VARCHAR2,
261    X_ACTUAL_TERM_STATUS     IN VARCHAR2,
262    X_FORECASTED_EXP_CODE    IN VARCHAR2,
263    X_VARIANCE_EXP_CODE      IN VARCHAR2,
264    X_ACTUAL_EXP_CODE        IN VARCHAR2,
265    X_COMMENTS               IN VARCHAR2,
266    X_ATTRIBUTE_CATEGORY     IN VARCHAR2,
267    X_ATTRIBUTE1             IN VARCHAR2,
268    X_ATTRIBUTE2             IN VARCHAR2,
269    X_ATTRIBUTE3             IN VARCHAR2,
270    X_ATTRIBUTE4             IN VARCHAR2,
271    X_ATTRIBUTE5             IN VARCHAR2,
272    X_ATTRIBUTE6             IN VARCHAR2,
273    X_ATTRIBUTE7             IN VARCHAR2,
274    X_ATTRIBUTE8             IN VARCHAR2,
275    X_ATTRIBUTE9             IN VARCHAR2,
276    X_ATTRIBUTE10            IN VARCHAR2,
277    X_ATTRIBUTE11            IN VARCHAR2,
278    X_ATTRIBUTE12            IN VARCHAR2,
279    X_ATTRIBUTE13            IN VARCHAR2,
280    X_ATTRIBUTE14            IN VARCHAR2,
281    X_ATTRIBUTE15            IN VARCHAR2
282 ) IS
283   CURSOR c1 IS
284   SELECT *
285   FROM PN_VAR_RENT_INV_ALL
286   WHERE VAR_RENT_INV_ID = X_VAR_RENT_INV_ID
287   FOR UPDATE OF VAR_RENT_INV_ID nowait;
288 
289   tlINfo   c1%ROWTYPE;
290 
291 BEGIN
292      PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW (+)');
293 
294      OPEN c1;
295        FETCH c1 INTO tlINfo;
296        IF (c1%NOTFOUND) THEN
297       CLOSE c1;
298       RETURN;
299        END IF;
300      CLOSE c1;
301 
302      IF (tlINfo.VAR_RENT_INV_ID = X_VAR_RENT_INV_ID) THEN
303             NULL;
304      ELSE
305             lock_row_exception('VAR_RENT_INV_ID',TO_CHAR(tlINfo.VAR_RENT_INV_ID));
306      END IF;
307 
308      IF (tlINfo.ADJUST_NUM = X_ADJUST_NUM) THEN
309             NULL;
310      ELSE
311             lock_row_exception('ADJUST_NUM',TO_CHAR(tlINfo.ADJUST_NUM));
312      END IF;
313 
314      IF (tlINfo.INVOICE_DATE = X_INVOICE_DATE) THEN
315        NULL;
316      ELSE
317        lock_row_exception('INVOICE_DATE',TO_CHAR(tlINfo.INVOICE_DATE));
318      END IF;
319 
320 
321      IF ((tlINfo.FOR_PER_RENT = X_FOR_PER_RENT)
322            OR ((tlINfo.FOR_PER_RENT IS NULL) AND (X_FOR_PER_RENT IS NULL))) THEN
323             NULL;
324      ELSE
325             lock_row_exception('FOR_PER_RENT',TO_CHAR(tlINfo.FOR_PER_RENT));
326      END IF;
327 
328      IF ((tlINfo.TOT_ACT_VOL = X_TOT_ACT_VOL)
329            OR ((tlINfo.TOT_ACT_VOL IS NULL) AND (X_TOT_ACT_VOL IS NULL))) THEN
330             NULL;
331      ELSE
332             lock_row_exception('TOT_ACT_VOL',TO_CHAR(tlINfo.TOT_ACT_VOL));
333      END IF;
334 
335      IF ((tlINfo.ACT_PER_RENT = X_ACT_PER_RENT)
336           OR ((tlINfo.ACT_PER_RENT IS NULL) AND (X_ACT_PER_RENT IS NULL))) THEN
337             NULL;
338      ELSE
339        lock_row_exception('ACT_PER_RENT',TO_CHAR(tlINfo.ACT_PER_RENT));
340      END IF;
341 
342      IF ((tlINfo.CONSTR_ACTUAL_RENT = X_CONSTR_ACTUAL_RENT)
343           OR ((tlINfo.CONSTR_ACTUAL_RENT IS NULL) AND (X_CONSTR_ACTUAL_RENT IS NULL))) THEN
344             NULL;
345      ELSE
346           lock_row_exception('CONSTR_ACTUAL_RENT',TO_CHAR(tlINfo.CONSTR_ACTUAL_RENT));
347      END IF;
348 
349 
350      IF ((tlINfo.ABATEMENT_APPL = X_ABATEMENT_APPL)
351          OR ((tlINfo.ABATEMENT_APPL IS NULL) AND (X_ABATEMENT_APPL IS NULL))) THEN
352            NULL;
353      ELSE
354             lock_row_exception('ABATEMENT_APPL',TO_CHAR(tlINfo.ABATEMENT_APPL));
355      END IF;
356 
357      IF ((tlINfo.REC_ABATEMENT = X_REC_ABATEMENT)
358          OR ((tlINfo.REC_ABATEMENT IS NULL) AND (X_REC_ABATEMENT IS NULL))) THEN
359            NULL;
360      ELSE
361            lock_row_exception('REC_ABATEMENT',TO_CHAR(tlINfo.REC_ABATEMENT));
362      END IF;
363 
364      IF ((tlINfo.REC_ABATEMENT_OVERRIDE = X_REC_ABATEMENT_OVERRIDE)
365          OR ((tlINfo.REC_ABATEMENT_OVERRIDE IS NULL) AND (X_REC_ABATEMENT_OVERRIDE IS NULL))) THEN
366            NULL;
367      ELSE
368            lock_row_exception('REC_ABATEMENT_OVERRIDE',TO_CHAR(tlINfo.REC_ABATEMENT_OVERRIDE));
369      END IF;
370 
371      IF ((tlINfo.NEGATIVE_RENT = X_NEGATIVE_RENT)
372          OR ((tlINfo.NEGATIVE_RENT IS NULL) AND (X_NEGATIVE_RENT IS NULL))) THEN
373            NULL;
374      ELSE
375            lock_row_exception('NEGATIVE_RENT',TO_CHAR(tlINfo.NEGATIVE_RENT));
376      END IF;
377 
378 
379      /*IF ((tlINfo.ACTUAL_INVOICED_AMOUNT = X_ACTUAL_INVOICED_AMOUNT)
380          OR ((tlINfo.ACTUAL_INVOICED_AMOUNT IS NULL) AND (X_ACTUAL_INVOICED_AMOUNT IS NULL))) THEN
381            NULL;
382      ELSE
383       lock_row_exception('ACTUAL_INVOICED_AMOUNT',TO_CHAR(tlINfo.ACTUAL_INVOICED_AMOUNT));
387            NULL;
384      END IF; */
385 
386      IF (tlINfo.PERIOD_ID = X_PERIOD_ID) THEN
388      ELSE
389       lock_row_exception('PERIOD_ID',TO_CHAR(tlINfo.PERIOD_ID));
390      END IF;
391 
392      IF (tlINfo.VAR_RENT_ID = X_VAR_RENT_ID) THEN
393            NULL;
394      ELSE
395       lock_row_exception('VAR_RENT_ID',TO_CHAR(tlINfo.VAR_RENT_ID));
396      END IF;
397 
398      IF (tlINfo.FORECASTED_TERM_STATUS = X_FORECASTED_TERM_STATUS) THEN
399            NULL;
400      ELSE
401            lock_row_exception('FORECASTED_TERM_STATUS',tlINfo.FORECASTED_TERM_STATUS);
402      END IF;
403 
404 
405      IF (tlINfo.VARIANCE_TERM_STATUS = X_VARIANCE_TERM_STATUS) THEN
406            NULL;
407      ELSE
408          lock_row_exception('VARIANCE_TERM_STATUS',tlINfo.VARIANCE_TERM_STATUS);
409      END IF;
410 
411 
412      IF (tlINfo.ACTUAL_TERM_STATUS = X_ACTUAL_TERM_STATUS) THEN
413            NULL;
414      ELSE
415             lock_row_exception('ACTUAL_TERM_STATUS',tlINfo.ACTUAL_TERM_STATUS);
416      END IF;
417 
418 
419      IF (tlINfo.FORECASTED_EXP_CODE = X_FORECASTED_EXP_CODE) THEN
420            NULL;
421      ELSE
422            lock_row_exception('FORECASTED_EXP_CODE',tlINfo.FORECASTED_EXP_CODE);
423      END IF;
424 
425 
426      IF (tlINfo.VARIANCE_EXP_CODE = X_VARIANCE_EXP_CODE) THEN
427            NULL;
428      ELSE
429            lock_row_exception('VARIANCE_EXP_CODE',tlINfo.VARIANCE_EXP_CODE);
430      END IF;
431 
432 
433      IF (tlINfo.ACTUAL_EXP_CODE = X_ACTUAL_EXP_CODE) THEN
434            NULL;
435      ELSE
436            lock_row_exception('ACTUAL_EXP_CODE',tlINfo.ACTUAL_EXP_CODE);
437      END IF;
438 
439 
440      IF ((tlINfo.COMMENTS = X_COMMENTS)
441          OR ((tlINfo.COMMENTS IS NULL) AND (X_COMMENTS IS NULL))) THEN
442            NULL;
443      ELSE
444            lock_row_exception('COMMENTS',tlINfo.COMMENTS);
445      END IF;
446 
447      IF ((tlINfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
448          OR ((tlINfo.ATTRIBUTE_CATEGORY IS NULL) AND (X_ATTRIBUTE_CATEGORY IS NULL))) THEN
449            NULL;
450      ELSE
451       lock_row_exception('ATTRIBUTE_CATEGORY',tlINfo.ATTRIBUTE_CATEGORY);
452      END IF;
453 
454      IF ((tlINfo.ATTRIBUTE1 = X_ATTRIBUTE1)
455          OR ((tlINfo.ATTRIBUTE1 IS NULL) AND (X_ATTRIBUTE1 IS NULL))) THEN
456             NULL;
457      ELSE
458        lock_row_exception('ATTRIBUTE1',tlINfo.ATTRIBUTE1);
459      END IF;
460 
461      IF ((tlINfo.ATTRIBUTE2 = X_ATTRIBUTE2)
462          OR ((tlINfo.ATTRIBUTE2 IS NULL) AND (X_ATTRIBUTE2 IS NULL))) THEN
463             NULL;
464      ELSE
465        lock_row_exception('ATTRIBUTE2',tlINfo.ATTRIBUTE2);
466      END IF;
467 
468      IF ((tlINfo.ATTRIBUTE3 = X_ATTRIBUTE3)
469          OR ((tlINfo.ATTRIBUTE3 IS NULL) AND (X_ATTRIBUTE3 IS NULL))) THEN
470             NULL;
471      ELSE
472        lock_row_exception('ATTRIBUTE3',tlINfo.ATTRIBUTE3);
473      END IF;
474 
475 
476      IF ((tlINfo.ATTRIBUTE4 = X_ATTRIBUTE4)
477          OR ((tlINfo.ATTRIBUTE4 IS NULL) AND (X_ATTRIBUTE4 IS NULL))) THEN
478             NULL;
479      ELSE
480        lock_row_exception('ATTRIBUTE4',tlINfo.ATTRIBUTE4);
481      END IF;
482 
483 
484      IF ((tlINfo.ATTRIBUTE5 = X_ATTRIBUTE5)
485          OR ((tlINfo.ATTRIBUTE5 IS NULL) AND (X_ATTRIBUTE5 IS NULL))) THEN
486             NULL;
487      ELSE
488        lock_row_exception('ATTRIBUTE5',tlINfo.ATTRIBUTE5);
489      END IF;
490 
491 
492      IF ((tlINfo.ATTRIBUTE6 = X_ATTRIBUTE6)
493          OR ((tlINfo.ATTRIBUTE6 IS NULL) AND (X_ATTRIBUTE6 IS NULL))) THEN
494             NULL;
495      ELSE
496           lock_row_exception('ATTRIBUTE6',tlINfo.ATTRIBUTE6);
497      END IF;
498 
499 
500      IF ((tlINfo.ATTRIBUTE7 = X_ATTRIBUTE7)
501                OR ((tlINfo.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL))) THEN
502            NULL;
503      ELSE
504           lock_row_exception('ATTRIBUTE7',tlINfo.ATTRIBUTE7);
505      END IF;
506 
507      IF ((tlINfo.ATTRIBUTE8 = X_ATTRIBUTE8)
508                OR ((tlINfo.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL))) THEN
509            NULL;
510      ELSE
511           lock_row_exception('ATTRIBUTE8',tlINfo.ATTRIBUTE8);
512      END IF;
513 
514      IF ((tlINfo.ATTRIBUTE9 = X_ATTRIBUTE9)
515                OR ((tlINfo.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL))) THEN
516            NULL;
517      ELSE
518       lock_row_exception('ATTRIBUTE9',tlINfo.ATTRIBUTE9);
519      END IF;
520 
521 
522      IF ((tlINfo.ATTRIBUTE10 = X_ATTRIBUTE10)
523                OR ((tlINfo.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL))) THEN
524            NULL;
525      ELSE
526      lock_row_exception('ATTRIBUTE10',tlINfo.ATTRIBUTE10);
527      END IF;
528 
529 
530      IF ((tlINfo.ATTRIBUTE11 = X_ATTRIBUTE11)
531          OR ((tlINfo.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL))) THEN
532            NULL;
533      ELSE
534       lock_row_exception('ATTRIBUTE11',tlINfo.ATTRIBUTE11);
535      END IF;
536 
537 
538      IF ((tlINfo.ATTRIBUTE12 = X_ATTRIBUTE12)
539          OR ((tlINfo.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL))) THEN
540            NULL;
541      ELSE
542          lock_row_exception('ATTRIBUTE12',tlINfo.ATTRIBUTE12);
543      END IF;
544 
545 
546      IF ((tlINfo.ATTRIBUTE13 = X_ATTRIBUTE13)
547          OR ((tlINfo.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL))) THEN
548            NULL;
549      ELSE
553 
550       lock_row_exception('ATTRIBUTE13',tlINfo.ATTRIBUTE13);
551      END IF;
552 
554      IF ((tlINfo.ATTRIBUTE14 = X_ATTRIBUTE14)
555          OR ((tlINfo.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL))) THEN
556            NULL;
557      ELSE
558       lock_row_exception('ATTRIBUTE14',tlINfo.ATTRIBUTE14);
559      END IF;
560 
561 
562      IF ((tlINfo.ATTRIBUTE15 = X_ATTRIBUTE15)
563          OR ((tlINfo.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL))) THEN
564            NULL;
565      ELSE
566       lock_row_exception('ATTRIBUTE15',tlINfo.ATTRIBUTE15);
567      END IF;
568 
569 
570 
571     PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.LOCK_ROW (-)');
572 
573 END LOCK_ROW;
574 
575 
576 
577 -------------------------------------------------------------------------------
578 -- PROCDURE     : update_row
579 -- INVOKED FROM : update_row procedure
580 -- PURPOSE      : updates the row
581 -- HISTORY      :
582 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table
583 -------------------------------------------------------------------------------
584 
585 
586 procedure UPDATE_ROW (
587    X_VAR_RENT_INV_ID        IN NUMBER,
588    X_ADJUST_NUM             IN NUMBER,
589    X_INVOICE_DATE           IN DATE,
590    X_FOR_PER_RENT           IN NUMBER,
591    X_TOT_ACT_VOL            IN NUMBER,
592    X_ACT_PER_RENT           IN NUMBER,
593    X_CONSTR_ACTUAL_RENT     IN NUMBER,
594    X_ABATEMENT_APPL         IN NUMBER,
595    X_REC_ABATEMENT          IN NUMBER,
596    X_REC_ABATEMENT_OVERRIDE IN NUMBER,
597    X_NEGATIVE_RENT          IN NUMBER,
598    X_ACTUAL_INVOICED_AMOUNT IN NUMBER,
599    X_PERIOD_ID              IN NUMBER,
600    X_VAR_RENT_ID            IN NUMBER,
601    X_FORECASTED_TERM_STATUS IN VARCHAR2,
602    X_VARIANCE_TERM_STATUS   IN VARCHAR2,
603    X_ACTUAL_TERM_STATUS     IN VARCHAR2,
604    X_FORECASTED_EXP_CODE    IN VARCHAR2,
605    X_VARIANCE_EXP_CODE      IN VARCHAR2,
606    X_ACTUAL_EXP_CODE        IN VARCHAR2,
607    X_COMMENTS               IN VARCHAR2,
608    X_ATTRIBUTE_CATEGORY     IN VARCHAR2,
609    X_ATTRIBUTE1             IN VARCHAR2,
610    X_ATTRIBUTE2             IN VARCHAR2,
611    X_ATTRIBUTE3             IN VARCHAR2,
612    X_ATTRIBUTE4             IN VARCHAR2,
613    X_ATTRIBUTE5             IN VARCHAR2,
614    X_ATTRIBUTE6             IN VARCHAR2,
615    X_ATTRIBUTE7             IN VARCHAR2,
616    X_ATTRIBUTE8             IN VARCHAR2,
617    X_ATTRIBUTE9             IN VARCHAR2,
618    X_ATTRIBUTE10            IN VARCHAR2,
619    X_ATTRIBUTE11            IN VARCHAR2,
620    X_ATTRIBUTE12            IN VARCHAR2,
621    X_ATTRIBUTE13            IN VARCHAR2,
622    X_ATTRIBUTE14            IN VARCHAR2,
623    X_ATTRIBUTE15            IN VARCHAR2,
624    X_LAST_UPDATE_DATE       IN DATE,
625    X_LAST_UPDATED_BY        IN NUMBER,
626    X_LAST_UPDATE_LOGIN      IN NUMBER
627 ) IS
628 
629 l_precision  NUMBER;
630 
631 BEGIN
632 
633   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.UPDATE_ROW (+)');
634 
635   l_precision := nvl(pn_var_rent_calc_pkg.get_currency_precision(),4);
636 
637  UPDATE PN_VAR_RENT_INV_ALL SET
638    ADJUST_NUM             = X_ADJUST_NUM,
639    INVOICE_DATE           = X_INVOICE_DATE,
640    FOR_PER_RENT           = ROUND(X_FOR_PER_RENT, l_precision),
641    TOT_ACT_VOL            = ROUND(X_TOT_ACT_VOL, l_precision),
642    ACT_PER_RENT           = ROUND(X_ACT_PER_RENT, l_precision),
643    CONSTR_ACTUAL_RENT     = ROUND(X_CONSTR_ACTUAL_RENT, l_precision),
644    ABATEMENT_APPL         = X_ABATEMENT_APPL,
645    REC_ABATEMENT          = X_REC_ABATEMENT,
646    REC_ABATEMENT_OVERRIDE = X_REC_ABATEMENT_OVERRIDE,
647    NEGATIVE_RENT          = X_NEGATIVE_RENT,
648    ACTUAL_INVOICED_AMOUNT = ROUND(X_ACTUAL_INVOICED_AMOUNT, l_precision),
649    PERIOD_ID              = X_PERIOD_ID,
650    FORECASTED_TERM_STATUS = X_FORECASTED_TERM_STATUS,
651    VARIANCE_TERM_STATUS   = X_VARIANCE_TERM_STATUS,
652    ACTUAL_TERM_STATUS     = X_ACTUAL_TERM_STATUS,
653    FORECASTED_EXP_CODE    = X_FORECASTED_EXP_CODE,
654    VARIANCE_EXP_CODE      = X_VARIANCE_EXP_CODE,
655    ACTUAL_EXP_CODE        = X_ACTUAL_EXP_CODE,
656    COMMENTS               = X_COMMENTS,
657    ATTRIBUTE_CATEGORY     = X_ATTRIBUTE_CATEGORY,
658    ATTRIBUTE1             = X_ATTRIBUTE1,
659    ATTRIBUTE2             = X_ATTRIBUTE2,
660    ATTRIBUTE3             = X_ATTRIBUTE3,
661    ATTRIBUTE4             = X_ATTRIBUTE4,
662    ATTRIBUTE5             = X_ATTRIBUTE5,
663    ATTRIBUTE6             = X_ATTRIBUTE6,
664    ATTRIBUTE7             = X_ATTRIBUTE7,
665    ATTRIBUTE8             = X_ATTRIBUTE8,
666    ATTRIBUTE9             = X_ATTRIBUTE9,
667    ATTRIBUTE10            = X_ATTRIBUTE10,
668    ATTRIBUTE11            = X_ATTRIBUTE11,
669    ATTRIBUTE12            = X_ATTRIBUTE12,
670    ATTRIBUTE13            = X_ATTRIBUTE13,
671    ATTRIBUTE14            = X_ATTRIBUTE14,
672    ATTRIBUTE15            = X_ATTRIBUTE15,
673    LAST_UPDATE_DATE       = X_LAST_UPDATE_DATE,
674    LAST_UPDATED_BY        = X_LAST_UPDATED_BY,
675    LAST_UPDATE_LOGIN      = X_LAST_UPDATE_LOGIN
676  WHERE VAR_RENT_INV_ID    = X_VAR_RENT_INV_ID;
677 
678 
679   IF (SQL%NOTFOUND) THEN
680     RAISE NO_DATA_FOUND;
681   END IF;
682 
683   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.UPDATE_ROW (-)');
684 
685 END UPDATE_ROW;
686 
687 
688 -------------------------------------------------------------------------------
689 -- PROCDURE     : delete_row
690 -- INVOKED FROM : delete_row procedure
691 -- PURPOSE      : deletes the row
692 -- HISTORY      :
693 -- 14-JUL-05  hareesha o Bug 4284035 - Replaced PN_VAR_RENT_INV with _ALL table
697 ) IS
694 -------------------------------------------------------------------------------
695 procedure DELETE_ROW (
696   X_VAR_RENT_INV_ID IN NUMBER
698 BEGIN
699 
700   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.DELETE_ROW (+)');
701 
702   DELETE FROM PN_VAR_RENT_INV_ALL
703   WHERE VAR_RENT_INV_ID = X_VAR_RENT_INV_ID;
704 
705   IF (SQL%NOTFOUND) THEN
706     RAISE NO_DATA_FOUND;
707   END IF;
708 
709   PNP_DEBUG_PKG.debug ('PN_VAR_RENT_INV_PKG.DELETE_ROW (-)');
710 
711 
712 END DELETE_ROW;
713 
714 END PN_VAR_RENT_INV_PKG;
715