DBA Data[Home] [Help]

PACKAGE BODY: APPS.PNT_PAYMENT_ITEMS_PKG

Source


1 PACKAGE BODY pnt_payment_items_pkg AS
2   -- $Header: PNTPYITB.pls 120.4 2005/11/27 09:30:45 appldev ship $
3 
4 -------------------------------------------------------------------------------
5 -- PROCEDURE    : Insert_Row
6 -- INVOKED FROM : insert_row procedure
7 -- PURPOSE      : inserts the row
8 -- HISTORY      :
9 -- 21-JUN-05  hrodda  o Bug 4284035 - Replaced pn_payment_items
10 --                      with _ALL table.
11 -- 19-OCT-05  pikhar  o get ORG_ID based on if we are in R12 or 11i
12 -- 24-NOV-05  Kiran   o round amounts before insert
13 -------------------------------------------------------------------------------
14 PROCEDURE Insert_Row (
15               X_ROWID                          IN OUT NOCOPY VARCHAR2,
16               X_PAYMENT_ITEM_ID                IN OUT NOCOPY NUMBER,
17               X_DUE_DATE                       IN     DATE,
18               X_SET_OF_BOOKS_ID                IN     NUMBER,
19               X_CURRENCY_CODE                  IN     VARCHAR2,
20               X_EXPORT_CURRENCY_CODE           IN     VARCHAR2,
21               X_RATE                           IN     NUMBER,
22               X_PMT_ITEM_TYPE_LOOKUP_CODE      IN     VARCHAR2,
23               X_PAYMENT_SCHEDULE_ID            IN     NUMBER,
24               X_PAYMENT_TERM_ID                IN OUT NOCOPY NUMBER,
25               X_VENDOR_ID                      IN     NUMBER,
26               X_CUSTOMER_ID                    IN     NUMBER,
27               X_VENDOR_SITE_ID                 IN     NUMBER,
28               X_CUSTOMER_SITE_USE_ID           IN     NUMBER,
29               X_ACTUAL_AMOUNT                  IN     NUMBER,
30               X_ACCOUNTED_AMOUNT               IN     NUMBER,
31               X_ACCOUNTED_DATE                 IN     DATE,
32               X_EXPORT_CURRENCY_AMOUNT         IN     NUMBER,
33               X_ESTIMATED_AMOUNT               IN     NUMBER,
34               X_CREATION_DATE                  IN     DATE,
35               X_CREATED_BY                     IN     NUMBER,
36               X_LAST_UPDATE_DATE               IN     DATE,
37               X_LAST_UPDATED_BY                IN     NUMBER,
38               X_LAST_UPDATE_LOGIN              IN     NUMBER,
39               X_ENTERED_BY_LEASE               IN     VARCHAR2,
40               X_EXPORT_TO_AP_FLAG              IN     VARCHAR2,
41               X_EXPORT_TO_AR_FLAG              IN     VARCHAR2,
42               X_CUST_SHIP_SITE_ID              IN     NUMBER,
43               x_org_id                         IN     NUMBER,
44               x_comments                       IN     VARCHAR2,
45               x_AP_INVOICE_NUM                 IN     VARCHAR2,
46               x_GROUPING_RULE_ID               IN     NUMBER,
47               x_adj_start_date                 IN     DATE,
48               x_ADJ_END_DATE                   IN     DATE,
49               x_LAST_ADJUSTMENT_TYPE_CODE      IN     VARCHAR2,
50               x_ATTRIBUTE_CATEGORY             IN     VARCHAR2,
51               x_ATTRIBUTE1                     IN     VARCHAR2,
52               x_ATTRIBUTE2                     IN     VARCHAR2,
53               x_ATTRIBUTE3                     IN     VARCHAR2,
54               x_ATTRIBUTE4                     IN     VARCHAR2,
55               x_ATTRIBUTE5                     IN     VARCHAR2,
56               x_ATTRIBUTE6                     IN     VARCHAR2,
57               x_ATTRIBUTE7                     IN     VARCHAR2,
58               x_ATTRIBUTE8                     IN     VARCHAR2,
59               x_ATTRIBUTE9                     IN     VARCHAR2,
60               x_ATTRIBUTE10                    IN     VARCHAR2,
61               x_ATTRIBUTE11                    IN     VARCHAR2,
62               x_ATTRIBUTE12                    IN     VARCHAR2,
63               x_ATTRIBUTE13                    IN     VARCHAR2,
64               x_ATTRIBUTE14                    IN     VARCHAR2,
65               x_ATTRIBUTE15                    IN     VARCHAR2
66                      )
67 IS
68 
69   CURSOR c IS
70   SELECT ROWID
71   FROM   PN_PAYMENT_ITEMS_ALL
72   WHERE  PAYMENT_ITEM_ID = X_PAYMENT_ITEM_ID;
73 
74   l_org_id NUMBER;
75 
76   CURSOR org_cur IS
77     SELECT org_id FROM pn_payment_terms_all WHERE payment_term_ID = X_PAYMENT_TERM_ID ;
78 
79   l_precision     NUMBER;
80   l_ext_precision NUMBER;
81   l_min_acct_unit NUMBER;
82 
83 BEGIN
84 
85    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.insert_row (+)');
86 
87    /* get currency info for rounding */
88    fnd_currency.get_info( currency_code => x_currency_code
89                          ,precision     => l_precision
90                          ,ext_precision => l_ext_precision
91                          ,min_acct_unit => l_min_acct_unit);
92 
93    IF x_payment_item_id IS NULL THEN
94 
95       SELECT pn_payment_items_s.NEXTVAL
96       INTO   x_payment_item_id
97       FROM   DUAL;
98 
99    END IF;
100 
101    IF NOT(pn_mo_cache_utils.is_MOAC_enabled) THEN
102      l_org_ID := fnd_profile.value('ORG_ID');
103    ELSE
104      IF x_org_ID IS NULL THEN
105        FOR rec IN org_cur LOOP
106          l_org_id := rec.org_id;
107        END LOOP;
108      ELSE
109        l_org_ID := x_org_ID;
110      END IF;
111    END IF;
112 
113    INSERT INTO pn_payment_items_all (
114                                  PAYMENT_ITEM_ID,
115                                  LAST_UPDATE_DATE,
116                                  LAST_UPDATED_BY,
117                                  CREATION_DATE,
118                                  CREATED_BY,
119                                  LAST_UPDATE_LOGIN,
120                                  DUE_DATE,
121                                  SET_OF_BOOKS_ID,
122                                  CURRENCY_CODE,
123                                  EXPORT_CURRENCY_CODE,
124                                  RATE,
125                                  PAYMENT_ITEM_TYPE_LOOKUP_CODE,
126                                  PAYMENT_SCHEDULE_ID,
127                                  PAYMENT_TERM_ID,
128                                  VENDOR_ID,
129                                  CUSTOMER_ID,
130                                  VENDOR_SITE_ID,
131                                  CUSTOMER_SITE_USE_ID,
132                                  ACTUAL_AMOUNT,
133                                  ACCOUNTED_AMOUNT,
134                                  ACCOUNTED_DATE,
135                                  EXPORT_CURRENCY_AMOUNT,
136                                  ESTIMATED_AMOUNT,
137                                  ENTERED_BY_LEASE,
138                                  EXPORT_TO_AP_FLAG ,
139                                  EXPORT_TO_AR_FLAG,
140                                  CUST_SHIP_SITE_ID,
141                                  org_id,
142                                  COMMENTS,
143                                  AP_INVOICE_NUM,
144                                  GROUPING_RULE_ID,
145                                  ADJ_START_DATE,
146                                  ADJ_END_DATE,
147                                  LAST_ADJUSTMENT_TYPE_CODE,
148                                  ATTRIBUTE_CATEGORY,
149                                  ATTRIBUTE1,
150                                  ATTRIBUTE2,
151                                  ATTRIBUTE3,
152                                  ATTRIBUTE4,
153                                  ATTRIBUTE5,
154                                  ATTRIBUTE6,
155                                  ATTRIBUTE7,
156                                  ATTRIBUTE8,
157                                  ATTRIBUTE9,
158                                  ATTRIBUTE10,
159                                  ATTRIBUTE11,
160                                  ATTRIBUTE12,
161                                  ATTRIBUTE13,
162                                  ATTRIBUTE14,
163                                  ATTRIBUTE15
164                                )
165    VALUES                       (
166                                  X_PAYMENT_ITEM_ID,
167                                  X_LAST_UPDATE_DATE,
168                                  X_LAST_UPDATED_BY,
169                                  X_CREATION_DATE,
170                                  X_CREATED_BY,
171                                  X_LAST_UPDATE_LOGIN,
172                                  X_DUE_DATE,
173                                  X_SET_OF_BOOKS_ID,
174                                  X_CURRENCY_CODE,
175                                  X_EXPORT_CURRENCY_CODE,
176                                  X_RATE,
177                                  X_PMT_ITEM_TYPE_LOOKUP_CODE,
178                                  X_PAYMENT_SCHEDULE_ID,
179                                  X_PAYMENT_TERM_ID,
180                                  X_VENDOR_ID,
181                                  X_CUSTOMER_ID,
182                                  X_VENDOR_SITE_ID,
183                                  X_CUSTOMER_SITE_USE_ID,
184                                  ROUND(X_ACTUAL_AMOUNT,l_precision),
185                                  ROUND(X_ACCOUNTED_AMOUNT,l_precision),
186                                  trunc(X_ACCOUNTED_DATE),
187                                  ROUND(X_EXPORT_CURRENCY_AMOUNT,l_precision),
188                                  ROUND(X_ESTIMATED_AMOUNT,l_precision),
189                                  X_ENTERED_BY_LEASE,
190                                  X_EXPORT_TO_AP_FLAG,
191                                  X_EXPORT_TO_AR_FLAG,
192                                  X_CUST_SHIP_SITE_ID,
193                                  l_org_id,
194                                  X_COMMENTS,
195                                  X_AP_INVOICE_NUM,
196                                  X_GROUPING_RULE_ID,
197                                  X_ADJ_START_DATE,
198                                  X_ADJ_END_DATE,
199                                  X_LAST_ADJUSTMENT_TYPE_CODE,
200                                  X_ATTRIBUTE_CATEGORY,
201                                  X_ATTRIBUTE1,
202                                  X_ATTRIBUTE2,
203                                  X_ATTRIBUTE3,
204                                  X_ATTRIBUTE4,
205                                  X_ATTRIBUTE5,
206                                  X_ATTRIBUTE6,
207                                  X_ATTRIBUTE7,
208                                  X_ATTRIBUTE8,
209                                  X_ATTRIBUTE9,
210                                  X_ATTRIBUTE10,
211                                  X_ATTRIBUTE11,
212                                  X_ATTRIBUTE12,
213                                  X_ATTRIBUTE13,
214                                  X_ATTRIBUTE14,
215                                  X_ATTRIBUTE15
216 
217                                );
218    OPEN C;
219       FETCH C INTO X_ROWID;
220       IF (c%NOTFOUND) THEN
221          CLOSE c;
222          RAISE NO_DATA_FOUND;
223       END IF;
224    CLOSE C;
225 
226    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.insert_row (-)');
227 
228 END Insert_Row;
229 
230 -------------------------------------------------------------------------------
231 -- PROCEDURE    : Lock_Row
232 -- INVOKED FROM : Lock_Row procedure
233 -- PURPOSE      : locks the row
234 -- HISTORY      :
235 -- 21-JUN-05  hrodda  o Bug 4284035 - Replaced pn_payment_items
236 --                      with _ALL table.
237 -------------------------------------------------------------------------------
238 PROCEDURE Lock_Row (
239               x_PAYMENT_ITEM_ID                IN     NUMBER,
240               x_ESTIMATED_AMOUNT               IN     NUMBER,
241               x_ACTUAL_AMOUNT                  IN     NUMBER,
242               x_PAYMENT_SCHEDULE_ID            IN     NUMBER,
243               x_DUE_DATE                       IN     DATE,
244               x_RATE                           IN     NUMBER,
245               x_COMMENTS                       IN     VARCHAR2,
246               x_AP_INVOICE_NUM                 IN     VARCHAR2,
247               x_GROUPING_RULE_ID               IN     NUMBER,
248               x_ADJ_START_DATE                 IN     DATE,
249               x_ADJ_END_DATE                   IN     DATE,
250               x_LAST_ADJUSTMENT_TYPE_CODE      IN     VARCHAR2,
251               x_ATTRIBUTE_CATEGORY             IN     VARCHAR2,
252               x_ATTRIBUTE1                     IN     VARCHAR2,
253               x_ATTRIBUTE2                     IN     VARCHAR2,
254               x_ATTRIBUTE3                     IN     VARCHAR2,
255               x_ATTRIBUTE4                     IN     VARCHAR2,
256               x_ATTRIBUTE5                     IN     VARCHAR2,
257               x_ATTRIBUTE6                     IN     VARCHAR2,
258               x_ATTRIBUTE7                     IN     VARCHAR2,
259               x_ATTRIBUTE8                     IN     VARCHAR2,
260               x_ATTRIBUTE9                     IN     VARCHAR2,
261               x_ATTRIBUTE10                    IN     VARCHAR2,
262               x_ATTRIBUTE11                    IN     VARCHAR2,
263               x_ATTRIBUTE12                    IN     VARCHAR2,
264               x_ATTRIBUTE13                    IN     VARCHAR2,
265               x_ATTRIBUTE14                    IN     VARCHAR2,
266               x_ATTRIBUTE15                    IN     VARCHAR2
267                    )
268 IS
269 
270   CURSOR c1 IS
271   SELECT *
272   FROM   pn_payment_items_all
273   WHERE  payment_item_id = x_payment_item_id
274   FOR    UPDATE OF payment_item_id NOWAIT;
275 
276   tlinfo c1%ROWTYPE;
277 
278 BEGIN
279 
280    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.lock_row (+)');
281    OPEN c1;
282       FETCH c1 INTO tlinfo;
283       IF (c1%NOTFOUND) THEN
284          CLOSE c1;
285          RETURN;
286       END IF;
287    CLOSE c1;
288 
289    IF NOT (tlinfo.PAYMENT_ITEM_ID = X_PAYMENT_ITEM_ID) THEN
290       pn_var_rent_pkg.lock_row_exception('PAYMENT_ITEM_ID',tlinfo.PAYMENT_ITEM_ID);
291    END IF;
292 
293    IF NOT ((tlinfo.ESTIMATED_AMOUNT = X_ESTIMATED_AMOUNT)
294        OR ((tlinfo.ESTIMATED_AMOUNT IS NULL) AND (X_ESTIMATED_AMOUNT IS NULL))) THEN
295       pn_var_rent_pkg.lock_row_exception('ESTIMATED_AMOUNT',tlinfo.ESTIMATED_AMOUNT);
296    END IF;
297 
298    IF NOT ((tlinfo.ACTUAL_AMOUNT = X_ACTUAL_AMOUNT)
299        OR ((tlinfo.ACTUAL_AMOUNT IS NULL) AND (X_ACTUAL_AMOUNT IS NULL))) THEN
300       pn_var_rent_pkg.lock_row_exception('ACTUAL_AMOUNT',tlinfo.ACTUAL_AMOUNT);
301    END IF;
302 
303    IF NOT ((tlinfo.PAYMENT_SCHEDULE_ID = X_PAYMENT_SCHEDULE_ID)
304        OR ((tlinfo.PAYMENT_SCHEDULE_ID IS NULL) AND (X_PAYMENT_SCHEDULE_ID IS NULL))) THEN
305       pn_var_rent_pkg.lock_row_exception('PAYMENT_SCHEDULE_ID',tlinfo.PAYMENT_SCHEDULE_ID);
306    END IF;
307 
308    IF NOT ((tlinfo.DUE_DATE = X_DUE_DATE)
309        OR ((tlinfo.DUE_DATE IS NULL) AND (X_DUE_DATE IS NULL))) THEN
310       pn_var_rent_pkg.lock_row_exception('DUE_DATE',tlinfo.DUE_DATE);
311    END IF;
312 
313    IF NOT ((tlinfo.RATE = X_RATE)
314        OR ((tlinfo.RATE IS NULL) AND (X_RATE IS NULL))) THEN
315       pn_var_rent_pkg.lock_row_exception('RATE',tlinfo.RATE);
316    END IF;
317 
318    IF NOT ((tlinfo.COMMENTS = X_COMMENTS)
319        OR ((tlinfo.COMMENTS IS NULL) AND (X_COMMENTS IS NULL))) THEN
320       pn_var_rent_pkg.lock_row_exception('COMMENTS',tlinfo.COMMENTS);
321    END IF;
322 
323    IF NOT ((tlinfo.AP_INVOICE_NUM = X_AP_INVOICE_NUM)
324        OR ((tlinfo.AP_INVOICE_NUM IS NULL) AND (X_AP_INVOICE_NUM IS NULL))) THEN
325       pn_var_rent_pkg.lock_row_exception('AP_INVOICE_NUM',tlinfo.AP_INVOICE_NUM);
326    END IF;
327 
328    IF NOT ((tlinfo.GROUPING_RULE_ID = X_GROUPING_RULE_ID)
329        OR ((tlinfo.GROUPING_RULE_ID IS NULL) AND (X_GROUPING_RULE_ID IS NULL))) THEN
330       pn_var_rent_pkg.lock_row_exception('GROUPING_RULE_ID',tlinfo.GROUPING_RULE_ID);
331    END IF;
332 
333    IF NOT ((tlinfo.ADJ_START_DATE = X_ADJ_START_DATE)
334        OR ((tlinfo.ADJ_START_DATE IS NULL) AND (X_ADJ_START_DATE IS NULL))) THEN
335       pn_var_rent_pkg.lock_row_exception('ADJ_START_DATE',tlinfo.ADJ_START_DATE);
336    END IF;
337 
338    IF NOT ((tlinfo.ADJ_END_DATE = X_ADJ_END_DATE)
339        OR ((tlinfo.ADJ_END_DATE IS NULL) AND (X_ADJ_END_DATE IS NULL))) THEN
340       pn_var_rent_pkg.lock_row_exception('ADJ_END_DATE',tlinfo.ADJ_END_DATE);
341    END IF;
342 
343    IF NOT ((tlinfo.LAST_ADJUSTMENT_TYPE_CODE = X_LAST_ADJUSTMENT_TYPE_CODE)
344        OR ((tlinfo.LAST_ADJUSTMENT_TYPE_CODE IS NULL) AND (X_LAST_ADJUSTMENT_TYPE_CODE IS NULL))) THEN
345       pn_var_rent_pkg.lock_row_exception('LAST_ADJUSTMENT_TYPE_CODE',tlinfo.LAST_ADJUSTMENT_TYPE_CODE);
346    END IF;
347 
348    IF NOT ((tlinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY)
349        OR ((tlinfo.ATTRIBUTE_CATEGORY IS NULL) AND (X_ATTRIBUTE_CATEGORY IS NULL))) THEN
350       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE_CATEGORY',tlinfo.ATTRIBUTE_CATEGORY);
351    END IF;
352 
353    IF NOT ((tlinfo.ATTRIBUTE1 = X_ATTRIBUTE1)
354        OR ((tlinfo.ATTRIBUTE1 IS NULL) AND (X_ATTRIBUTE1 IS NULL))) THEN
355       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE1',tlinfo.ATTRIBUTE1);
356    END IF;
357 
358    IF NOT ((tlinfo.ATTRIBUTE2 = X_ATTRIBUTE2)
359        OR ((tlinfo.ATTRIBUTE2 IS NULL) AND (X_ATTRIBUTE2 IS NULL))) THEN
360       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE2',tlinfo.ATTRIBUTE2);
361    END IF;
362 
363    IF NOT ((tlinfo.ATTRIBUTE3 = X_ATTRIBUTE3)
364        OR ((tlinfo.ATTRIBUTE3 IS NULL) AND (X_ATTRIBUTE3 IS NULL))) THEN
365       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE3',tlinfo.ATTRIBUTE3);
366    END IF;
367 
368    IF NOT ((tlinfo.ATTRIBUTE4 = X_ATTRIBUTE4)
369        OR ((tlinfo.ATTRIBUTE4 IS NULL) AND (X_ATTRIBUTE4 IS NULL))) THEN
370       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE4',tlinfo.ATTRIBUTE4);
371    END IF;
372 
373    IF NOT ((tlinfo.ATTRIBUTE5 = X_ATTRIBUTE5)
374        OR ((tlinfo.ATTRIBUTE5 IS NULL) AND (X_ATTRIBUTE5 IS NULL))) THEN
375       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE5',tlinfo.ATTRIBUTE5);
376    END IF;
377 
378    IF NOT ((tlinfo.ATTRIBUTE6 = X_ATTRIBUTE6)
379        OR ((tlinfo.ATTRIBUTE6 IS NULL) AND (X_ATTRIBUTE6 IS NULL))) THEN
380       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE6',tlinfo.ATTRIBUTE6);
381    END IF;
382 
383    IF NOT ((tlinfo.ATTRIBUTE7 = X_ATTRIBUTE7)
384        OR ((tlinfo.ATTRIBUTE7 IS NULL) AND (X_ATTRIBUTE7 IS NULL))) THEN
385       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE7',tlinfo.ATTRIBUTE7);
386    END IF;
387 
388    IF NOT ((tlinfo.ATTRIBUTE8 = X_ATTRIBUTE8)
389        OR ((tlinfo.ATTRIBUTE8 IS NULL) AND (X_ATTRIBUTE8 IS NULL))) THEN
390       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE8',tlinfo.ATTRIBUTE8);
391    END IF;
392 
393    IF NOT ((tlinfo.ATTRIBUTE9 = X_ATTRIBUTE9)
394        OR ((tlinfo.ATTRIBUTE9 IS NULL) AND (X_ATTRIBUTE9 IS NULL))) THEN
395       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE9',tlinfo.ATTRIBUTE9);
396    END IF;
397 
398    IF NOT ((tlinfo.ATTRIBUTE10 = X_ATTRIBUTE10)
399        OR ((tlinfo.ATTRIBUTE10 IS NULL) AND (X_ATTRIBUTE10 IS NULL))) THEN
400       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE10',tlinfo.ATTRIBUTE10);
401    END IF;
402 
403    IF NOT ((tlinfo.ATTRIBUTE11 = X_ATTRIBUTE11)
404        OR ((tlinfo.ATTRIBUTE11 IS NULL) AND (X_ATTRIBUTE11 IS NULL))) THEN
405       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE11',tlinfo.ATTRIBUTE11);
406    END IF;
407 
408    IF NOT ((tlinfo.ATTRIBUTE12 = X_ATTRIBUTE12)
409        OR ((tlinfo.ATTRIBUTE12 IS NULL) AND (X_ATTRIBUTE12 IS NULL))) THEN
410       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE12',tlinfo.ATTRIBUTE12);
411    END IF;
412 
413    IF NOT ((tlinfo.ATTRIBUTE13 = X_ATTRIBUTE13)
414        OR ((tlinfo.ATTRIBUTE13 IS NULL) AND (X_ATTRIBUTE13 IS NULL))) THEN
415       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE13',tlinfo.ATTRIBUTE13);
416    END IF;
417 
418    IF NOT ((tlinfo.ATTRIBUTE14 = X_ATTRIBUTE14)
419        OR ((tlinfo.ATTRIBUTE14 IS NULL) AND (X_ATTRIBUTE14 IS NULL))) THEN
420       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE14',tlinfo.ATTRIBUTE14);
421    END IF;
422 
423    IF NOT ((tlinfo.ATTRIBUTE15 = X_ATTRIBUTE15)
424        OR ((tlinfo.ATTRIBUTE15 IS NULL) AND (X_ATTRIBUTE15 IS NULL))) THEN
425       pn_var_rent_pkg.lock_row_exception('ATTRIBUTE15',tlinfo.ATTRIBUTE15);
426    END IF;
427 
428    RETURN;
429    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.lock_row (-)');
430 
431 END Lock_Row;
432 
433 -------------------------------------------------------------------------------
434 -- PROCEDURE    : Update_Row
435 -- INVOKED FROM : Update_Row procedure
436 -- PURPOSE      : updates the row
437 -- HISTORY      :
438 -- 21-JUN-05  hrodda  o Bug 4284035 - Replaced pn_payment_items with _ALL table
439 -- 24-NOV-05  Kiran   o round amounts before update
440 -------------------------------------------------------------------------------
441 PROCEDURE Update_Row (
442               X_PAYMENT_ITEM_ID                IN     NUMBER,
443               X_DUE_DATE                       IN     DATE,
444               X_VENDOR_ID                      IN     NUMBER,
445               X_CUSTOMER_ID                    IN     NUMBER,
446               X_VENDOR_SITE_ID                 IN     NUMBER,
447               X_CUSTOMER_SITE_USE_ID           IN     NUMBER,
448               X_ESTIMATED_AMOUNT               IN     NUMBER,
449               X_ACTUAL_AMOUNT                  IN     NUMBER,
450               X_ACCOUNTED_AMOUNT               IN     NUMBER,
451               X_ACCOUNTED_DATE                 IN     DATE,
452               X_EXPORT_CURRENCY_AMOUNT         IN     NUMBER,
453               X_LAST_UPDATE_DATE               IN     DATE,
454               X_LAST_UPDATED_BY                IN     NUMBER,
455               X_LAST_UPDATE_LOGIN              IN     NUMBER,
456               X_PAYMENT_SCHEDULE_ID            IN     NUMBER,
457               X_ENTERED_BY_LEASE               IN     VARCHAR2,
458               X_EXPORT_TO_AP_FLAG              IN     VARCHAR2,
459               X_EXPORT_TO_AR_FLAG              IN     VARCHAR2,
460               X_CUST_SHIP_SITE_ID              IN     NUMBER,
461               X_RATE                           IN     NUMBER,
462               x_comments                       IN     VARCHAR2,
463               x_AP_INVOICE_NUM                 IN     VARCHAR2,
464               x_GROUPING_RULE_ID               IN     NUMBER,
465               x_ADJ_START_DATE                 IN     DATE,
466               x_ADJ_END_DATE                   IN     DATE,
467               x_LAST_ADJUSTMENT_TYPE_CODE      IN     VARCHAR2,
468               x_ATTRIBUTE_CATEGORY             IN     VARCHAR2,
469               x_ATTRIBUTE1                     IN     VARCHAR2,
470               x_ATTRIBUTE2                     IN     VARCHAR2,
471               x_ATTRIBUTE3                     IN     VARCHAR2,
472               x_ATTRIBUTE4                     IN     VARCHAR2,
473               x_ATTRIBUTE5                     IN     VARCHAR2,
474               x_ATTRIBUTE6                     IN     VARCHAR2,
475               x_ATTRIBUTE7                     IN     VARCHAR2,
476               x_ATTRIBUTE8                     IN     VARCHAR2,
477               x_ATTRIBUTE9                     IN     VARCHAR2,
478               x_ATTRIBUTE10                    IN     VARCHAR2,
479               x_ATTRIBUTE11                    IN     VARCHAR2,
480               x_ATTRIBUTE12                    IN     VARCHAR2,
481               x_ATTRIBUTE13                    IN     VARCHAR2,
482               x_ATTRIBUTE14                    IN     VARCHAR2,
483               x_ATTRIBUTE15                    IN     VARCHAR2
484                      )
485 IS
486 
487   l_precision     NUMBER;
488   l_ext_precision NUMBER;
489   l_min_acct_unit NUMBER;
490 
491    CURSOR currency_cur IS
492      SELECT currency_code FROM pn_payment_items_all WHERE payment_item_id = X_PAYMENT_ITEM_ID;
493 BEGIN
494 
495    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.update_row (+)');
496 
497    /* get currency info for rounding */
498    FOR rec IN currency_cur LOOP
499      fnd_currency.get_info( currency_code => rec.currency_code
500                            ,precision     => l_precision
501                            ,ext_precision => l_ext_precision
502                            ,min_acct_unit => l_min_acct_unit);
503    END LOOP;
504 
505    UPDATE pn_payment_items_all
506    SET    VENDOR_ID                       = X_VENDOR_ID,
507           DUE_DATE                        = X_DUE_DATE,
508           CUSTOMER_ID                     = X_CUSTOMER_ID,
509           VENDOR_SITE_ID                  = X_VENDOR_SITE_ID,
510           CUSTOMER_SITE_USE_ID            = X_CUSTOMER_SITE_USE_ID,
511           ESTIMATED_AMOUNT                = ROUND(X_ESTIMATED_AMOUNT,l_precision),
512           ACTUAL_AMOUNT                   = ROUND(X_ACTUAL_AMOUNT,l_precision),
513           ACCOUNTED_AMOUNT                = ROUND(X_ACCOUNTED_AMOUNT,l_precision),
514           ACCOUNTED_DATE                  = trunc(X_ACCOUNTED_DATE),
515           EXPORT_CURRENCY_AMOUNT          = ROUND(X_EXPORT_CURRENCY_AMOUNT,l_precision),
516           LAST_UPDATE_DATE                = X_LAST_UPDATE_DATE,
517           LAST_UPDATED_BY                 = X_LAST_UPDATED_BY,
518           LAST_UPDATE_LOGIN               = X_LAST_UPDATE_LOGIN,
519           PAYMENT_SCHEDULE_ID             = X_PAYMENT_SCHEDULE_ID,
520           ENTERED_BY_LEASE                = X_ENTERED_BY_LEASE,
521           EXPORT_TO_AP_FLAG               = X_EXPORT_TO_AP_FLAG,
522           EXPORT_TO_AR_FLAG               = X_EXPORT_TO_AR_FLAG,
523           CUST_SHIP_SITE_ID               = X_CUST_SHIP_SITE_ID,
524           RATE                            = X_RATE,
525           COMMENTS                        = X_COMMENTS,
526           AP_INVOICE_NUM                  = x_AP_INVOICE_NUM,
527           GROUPING_RULE_ID                = x_GROUPING_RULE_ID,
528           ADJ_START_DATE                  = x_ADJ_START_DATE,
529           ADJ_END_DATE                    = x_ADJ_END_DATE,
530           LAST_ADJUSTMENT_TYPE_CODE       = x_LAST_ADJUSTMENT_TYPE_CODE,
531           ATTRIBUTE_CATEGORY              = x_ATTRIBUTE_CATEGORY,
532           ATTRIBUTE1                      = x_ATTRIBUTE1,
533           ATTRIBUTE2                      = x_ATTRIBUTE2,
534           ATTRIBUTE3                      = x_ATTRIBUTE3,
535           ATTRIBUTE4                      = x_ATTRIBUTE4,
536           ATTRIBUTE5                      = x_ATTRIBUTE5,
537           ATTRIBUTE6                      = x_ATTRIBUTE6,
538           ATTRIBUTE7                      = x_ATTRIBUTE7,
539           ATTRIBUTE8                      = x_ATTRIBUTE8,
540           ATTRIBUTE9                      = x_ATTRIBUTE9,
541           ATTRIBUTE10                     = x_ATTRIBUTE10,
542           ATTRIBUTE11                     = x_ATTRIBUTE11,
543           ATTRIBUTE12                     = x_ATTRIBUTE12,
544           ATTRIBUTE13                     = x_ATTRIBUTE13,
545           ATTRIBUTE14                     = x_ATTRIBUTE14,
546           ATTRIBUTE15                     = x_ATTRIBUTE15
547    WHERE  PAYMENT_ITEM_ID                 = X_PAYMENT_ITEM_ID;
548 
549    IF (SQL%NOTFOUND) THEN
550       RAISE NO_DATA_FOUND;
551    END IF;
552 
553    PNP_DEBUG_PKG.debug ('PN_PAYMENT_ITEMS_PKG.update_row (-)');
554 
555 END Update_Row;
556 
557 -------------------------------------------------------------------------------
558 -- PROCEDURE    : Delete_Row
559 -- INVOKED FROM : Delete_Row procedure
560 -- PURPOSE      : deletes the row
561 -- HISTORY      :
562 -- 21-JUN-05  hrodda  o Bug 4284035 - Replaced pn_payment_items
563 --                      with _ALL table.
564 -------------------------------------------------------------------------------
565 PROCEDURE Delete_Row (
566                         X_PAYMENT_ITEM_ID               IN     NUMBER
567                      )
568 IS
569 BEGIN
570 
571    DELETE FROM pn_payment_items_all
572    WHERE payment_item_id = x_payment_item_id;
573 
574    IF (SQL%NOTFOUND) THEN
575       RAISE NO_DATA_FOUND;
576    END IF;
577 
578 END Delete_Row;
579 
580 
581 END pnt_payment_items_pkg;