1: PACKAGE BODY pnt_payment_terms_pkg AS
2: -- $Header: PNTPYTRB.pls 120.16 2007/05/31 06:54:04 lbala ship $
3:
4:
5: -------------------------------------------------------------------
29: ,X_ESTIMATED_AMOUNT IN NUMBER
30: )
31: IS
32: BEGIN
33: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.CHECK_PAYMENT_AMOUNTS (+)');
34: IF ((X_ACTUAL_AMOUNT IS NULL) AND
35: (X_ESTIMATED_AMOUNT IS NULL))
36: THEN
37: fnd_message.set_name ('PN','PN_PAYMENT_AMOUNT_NULL');
37: fnd_message.set_name ('PN','PN_PAYMENT_AMOUNT_NULL');
38: x_return_status := 'E';
39: END IF;
40:
41: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.CHECK_PAYMENT_AMOUNTS (-) RetStat: '||x_return_status);
42: END CHECK_PAYMENT_AMOUNTS;
43:
44: --------------------------------------------------------------------------------
45: -- PROCDURE : INSERT_ROW
202: AND GROSS_FLAG = 'Y';
203:
204:
205: BEGIN
206: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.INSERT_ROW (+)');
207:
208: -- Check IF both Estimated AND actual amount are NULL
209: l_return_status := NULL;
210: PNT_PAYMENT_TERMS_PKG.CHECK_PAYMENT_AMOUNTS (
206: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.INSERT_ROW (+)');
207:
208: -- Check IF both Estimated AND actual amount are NULL
209: l_return_status := NULL;
210: PNT_PAYMENT_TERMS_PKG.CHECK_PAYMENT_AMOUNTS (
211: l_RETURN_STATUS
212: ,X_ACTUAL_AMOUNT
213: ,X_ESTIMATED_AMOUNT);
214: IF (l_return_status IS NOT NULL) THEN
489: RAISE NO_DATA_FOUND;
490: END IF;
491: CLOSE c;
492:
493: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.INSERT_ROW (-)');
494: END insert_row;
495:
496: -------------------------------------------------------------------------------
497: -- PROCDURE : LOCK_ROW
609:
610: --tlinfo c1%rowtype;
611:
612: BEGIN
613: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.LOCK_ROW (+)');
614:
615: OPEN c1;
616: FETCH c1 INTO tlinfo;
617: IF (c1%NOTFOUND) THEN
1068: OR ((tlinfo.opex_type IS NULL) AND (x_opex_type IS NULL))) THEN
1069: pn_var_rent_pkg.lock_row_exception('RECUR_BB_CALC_DATE',tlinfo.opex_type);
1070: END IF;
1071:
1072: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.LOCK_ROW (-)');
1073:
1074: END LOCK_ROW;
1075:
1076: -------------------------------------------------------------------------------=
1209: l_update_nbp_flag VARCHAR2(1);
1210:
1211: BEGIN
1212:
1213: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.UPDATE_ROW (+)');
1214:
1215: -- Check IF both Estimated AND actual amount are NULL
1216: l_context := 'checking est AND actual amt';
1217: l_return_status := NULL;
1214:
1215: -- Check IF both Estimated AND actual amount are NULL
1216: l_context := 'checking est AND actual amt';
1217: l_return_status := NULL;
1218: PNT_PAYMENT_TERMS_PKG.CHECK_PAYMENT_AMOUNTS (
1219: l_RETURN_STATUS
1220: ,X_ACTUAL_AMOUNT
1221: ,X_ESTIMATED_AMOUNT
1222: );
1239: -----------------------------------------------------------------------------
1240: -- Bug Fix : 1668495.
1241: -- Removed the call to the
1242: -- following PROCEDURE
1243: -- PNT_PAYMENT_TERMS_PKG.CHECK_APPROVED_SCHEDULE_EXISTS
1244: -- form the UPDATE TABLE HANDLER
1245: -- to allow the user to change the
1246: -- Vendor Information , Customer Information
1247: -- AND also the GL Account even when the
1299: END IF;
1300:
1301: l_context := 'updating vendor AND customer info';
1302:
1303: PNT_PAYMENT_TERMS_PKG.UPDATE_VENDOR_AND_CUST (
1304: X_PAYMENT_TERM_ID
1305: ,X_VENDOR_ID
1306: ,X_VENDOR_SITE_ID
1307: ,X_LAST_UPDATE_DATE
1451: RAISE NO_DATA_FOUND;
1452: END IF;
1453:
1454:
1455: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.UPDATE_ROW (-)');
1456:
1457: EXCEPTION
1458: WHEN OTHERS THEN
1459: RAISE_APPLICATION_ERROR(-20001,'Error while ' || l_context || to_char(sqlcode));
1474: )
1475: IS
1476: BEGIN
1477:
1478: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.DELETE_ROW (+)');
1479:
1480: DELETE FROM pn_payment_terms_all
1481: WHERE payment_term_id = x_payment_term_id;
1482:
1483: IF (SQL%NOTFOUND) THEN
1484: RAISE NO_DATA_FOUND;
1485: END IF;
1486:
1487: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.DELETE_ROW (-)');
1488: END DELETE_ROW;
1489:
1490: -------------------------------------------------------------------------------
1491: -- PROCDURE : UPDATE_VENDOR_AND_CUST
1516: AND ppi.transferred_to_ar_flag IS NULL
1517: FOR UPDATE OF ppi.payment_item_id NOWAIT;
1518:
1519: BEGIN
1520: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_VENDOR_AND_CUST (+)');
1521: -- UPDATE each item with the new vendor AND vendor site
1522: FOR eachItem IN c1 LOOP
1523:
1524: UPDATE pn_payment_items_all
1533: WHERE payment_item_id = eachItem.payment_item_id;
1534:
1535: END LOOP;
1536:
1537: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_VENDOR_AND_CUST (-)');
1538: END UPDATE_VENDOR_AND_CUST;
1539:
1540: -------------------------------------------------------------------------------
1541: -- PROCEDURE : CHECK_APPROVED_SCHEDULE_EXISTS
1577: AND pps.schedule_date BETWEEN l_startDate AND l_endDate
1578: );
1579:
1580: BEGIN
1581: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.CHECK_APPROVED_SCHEDULE_EXISTS (+)');
1582:
1583: SELECT TRUNC(x_start_date, 'MM')
1584: ,LAST_DAY(x_end_date)
1585: INTO l_startDate
1600: fnd_message.set_token('LEASE_NUMBER', l_leaseNumber);
1601: fnd_message.set_token('START_DATE', l_startDate);
1602: fnd_message.set_token('END_DATE', l_endDate);
1603:
1604: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.CHECK_APPROVED_SCHEDULE_EXISTS (-) RetStat: '||x_return_status);
1605: END Check_Approved_Schedule_Exists;
1606:
1607: --------------------------------------------------------------------------------
1608: -- PROCEDURE : UPDATE_PNT_ITEMS_AMT
1667: l_min_acct_unit NUMBER;
1668: l_first BOOLEAN;
1669: BEGIN
1670:
1671: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_AMT (+) TermId: '
1672: ||p_pnt_term_id||', OldEstAmt: '||p_old_est_amt
1673: ||', NewEstAmt: '||p_new_est_amt||', Freq: '||p_freq_code);
1674: l_context:= 'Updating for OneTime term';
1675:
1799: END LOOP;
1800:
1801: END IF; -- p_freq_code = 'OT'
1802:
1803: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_AMT (-)');
1804: EXCEPTION
1805: WHEN OTHERS THEN
1806: RAISE_APPLICATION_ERROR(-20001,'Error while ' || l_context || TO_CHAR(sqlcode));
1807: app_exception.Raise_Exception;
1805: WHEN OTHERS THEN
1806: RAISE_APPLICATION_ERROR(-20001,'Error while ' || l_context || TO_CHAR(sqlcode));
1807: app_exception.Raise_Exception;
1808:
1809: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_AMT (-)');
1810: END UPDATE_PNT_ITEMS_AMT;
1811:
1812: -------------------------------------------------------------------------------
1813: -- PROCEDURE : UPDATE_PNT_ITEMS_RATE
1837: AND ppi.export_to_ar_flag IS NULL;
1838:
1839: BEGIN
1840:
1841: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_RATE (+)');
1842: l_context := 'opening payment rate cursor';
1843:
1844: FOR pnt_rec IN pnt_cursor LOOP
1845:
1849: WHERE payment_item_id = pnt_rec.payment_item_id;
1850:
1851: END LOOP;
1852:
1853: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_RATE (-)');
1854: EXCEPTION
1855: WHEN OTHERS THEN
1856: RAISE_APPLICATION_ERROR(-20001,'Error while ' || l_context || TO_CHAR(sqlcode));
1857: app_exception.Raise_Exception;
1854: EXCEPTION
1855: WHEN OTHERS THEN
1856: RAISE_APPLICATION_ERROR(-20001,'Error while ' || l_context || TO_CHAR(sqlcode));
1857: app_exception.Raise_Exception;
1858: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.UPDATE_PNT_ITEMS_RATE (-)');
1859: END UPDATE_PNT_ITEMS_RATE;
1860:
1861: -------------------------------------------------------------------------------
1862: -- PROCEDURE : create_hist_corr_upd
1917: FROM pn_payment_terms_history
1918: WHERE payment_term_id = p_term_id;
1919: BEGIN
1920:
1921: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.create_hist_corr_upd (+)');
1922: pnp_debug_pkg.debug('create_hist_corr_upd - IN : p_term_id :'||p_term_id);
1923: pnp_debug_pkg.debug('create_hist_corr_upd - IN : p_dist_changed :'||p_dist_changed);
1924: pnp_debug_pkg.debug('create_hist_corr_upd - IN : p_hist_dist_tab.count :'||p_hist_dist_tab.count);
1925: pnp_debug_pkg.debug('create_hist_corr_upd - IN : p_change_mode :'||p_change_mode);
3610: END LOOP;
3611: END IF;
3612: END IF;
3613:
3614: pnp_debug_pkg.debug('PNT_PAYMENT_TERMS_PKG.create_hist_corr_upd (-)');
3615:
3616: END create_hist_corr_upd;
3617:
3618: --------------------------------------------------------------------------------
3765: ,x_changed_flag IN VARCHAR2)
3766: IS
3767: BEGIN
3768:
3769: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.MODIFY_ROW (+)');
3770:
3771: UPDATE pn_payment_terms_all
3772: SET changed_flag = x_changed_flag
3773: WHERE payment_term_id = NVL(x_payment_term_id ,payment_term_id )
3772: SET changed_flag = x_changed_flag
3773: WHERE payment_term_id = NVL(x_payment_term_id ,payment_term_id )
3774: AND var_rent_inv_id = x_var_rent_inv_id;
3775:
3776: pnp_debug_pkg.debug ('PNT_PAYMENT_TERMS_PKG.MODIFY_ROW (-)');
3777:
3778: EXCEPTION
3779: WHEN others THEN
3780: NULL;
3781: END MODIFY_ROW;
3782:
3783:
3784:
3785: END PNT_PAYMENT_TERMS_PKG;