1836: P_Loan_Details_Rec.attribute20 := l_product_rec.attribute20;
1837: end if;
1838:
1839: IF g_error_count > 0 THEN
1840: RAISE fnd_api.g_exc_error;
1841: END IF;
1842:
1843: -- END OF BODY OF API
1844: x_return_status := fnd_api.g_ret_sts_success;
1840: RAISE fnd_api.g_exc_error;
1841: END IF;
1842:
1843: -- END OF BODY OF API
1844: x_return_status := fnd_api.g_ret_sts_success;
1845:
1846: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
1847:
1848: EXCEPTION
1845:
1846: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
1847:
1848: EXCEPTION
1849: WHEN fnd_api.g_exc_error THEN
1850: x_return_status := fnd_api.g_ret_sts_error;
1851: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1852: WHEN fnd_api.g_exc_unexpected_error THEN
1853: x_return_status := fnd_api.g_ret_sts_unexp_error;
1846: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
1847:
1848: EXCEPTION
1849: WHEN fnd_api.g_exc_error THEN
1850: x_return_status := fnd_api.g_ret_sts_error;
1851: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1852: WHEN fnd_api.g_exc_unexpected_error THEN
1853: x_return_status := fnd_api.g_ret_sts_unexp_error;
1854: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1848: EXCEPTION
1849: WHEN fnd_api.g_exc_error THEN
1850: x_return_status := fnd_api.g_ret_sts_error;
1851: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1852: WHEN fnd_api.g_exc_unexpected_error THEN
1853: x_return_status := fnd_api.g_ret_sts_unexp_error;
1854: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1855: WHEN others THEN
1856: x_return_status := fnd_api.g_ret_sts_unexp_error;
1849: WHEN fnd_api.g_exc_error THEN
1850: x_return_status := fnd_api.g_ret_sts_error;
1851: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1852: WHEN fnd_api.g_exc_unexpected_error THEN
1853: x_return_status := fnd_api.g_ret_sts_unexp_error;
1854: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1855: WHEN others THEN
1856: x_return_status := fnd_api.g_ret_sts_unexp_error;
1857: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
1852: WHEN fnd_api.g_exc_unexpected_error THEN
1853: x_return_status := fnd_api.g_ret_sts_unexp_error;
1854: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
1855: WHEN others THEN
1856: x_return_status := fnd_api.g_ret_sts_unexp_error;
1857: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
1858: x_msg_count := 1;
1859: x_msg_data := sqlerrm;
1860:
2113:
2114: END LOOP;
2115:
2116: IF g_error_count > 0 THEN
2117: RAISE fnd_api.g_exc_error;
2118: END IF;
2119:
2120: -- END OF BODY OF API
2121: x_return_status := fnd_api.g_ret_sts_success;
2117: RAISE fnd_api.g_exc_error;
2118: END IF;
2119:
2120: -- END OF BODY OF API
2121: x_return_status := fnd_api.g_ret_sts_success;
2122: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2123:
2124: EXCEPTION
2125: WHEN fnd_api.g_exc_error THEN
2121: x_return_status := fnd_api.g_ret_sts_success;
2122: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2123:
2124: EXCEPTION
2125: WHEN fnd_api.g_exc_error THEN
2126: x_return_status := fnd_api.g_ret_sts_error;
2127: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2128: WHEN fnd_api.g_exc_unexpected_error THEN
2129: x_return_status := fnd_api.g_ret_sts_unexp_error;
2122: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2123:
2124: EXCEPTION
2125: WHEN fnd_api.g_exc_error THEN
2126: x_return_status := fnd_api.g_ret_sts_error;
2127: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2128: WHEN fnd_api.g_exc_unexpected_error THEN
2129: x_return_status := fnd_api.g_ret_sts_unexp_error;
2130: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2124: EXCEPTION
2125: WHEN fnd_api.g_exc_error THEN
2126: x_return_status := fnd_api.g_ret_sts_error;
2127: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2128: WHEN fnd_api.g_exc_unexpected_error THEN
2129: x_return_status := fnd_api.g_ret_sts_unexp_error;
2130: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2131: WHEN others THEN
2132: x_return_status := fnd_api.g_ret_sts_unexp_error;
2125: WHEN fnd_api.g_exc_error THEN
2126: x_return_status := fnd_api.g_ret_sts_error;
2127: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2128: WHEN fnd_api.g_exc_unexpected_error THEN
2129: x_return_status := fnd_api.g_ret_sts_unexp_error;
2130: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2131: WHEN others THEN
2132: x_return_status := fnd_api.g_ret_sts_unexp_error;
2133: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2128: WHEN fnd_api.g_exc_unexpected_error THEN
2129: x_return_status := fnd_api.g_ret_sts_unexp_error;
2130: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2131: WHEN others THEN
2132: x_return_status := fnd_api.g_ret_sts_unexp_error;
2133: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2134: x_msg_count := 1;
2135: x_msg_data := sqlerrm;
2136:
2239:
2240: END LOOP;
2241:
2242: IF g_error_count > 0 THEN
2243: RAISE fnd_api.g_exc_error;
2244: END IF;
2245:
2246: -- END OF BODY OF API
2247: x_return_status := fnd_api.g_ret_sts_success;
2243: RAISE fnd_api.g_exc_error;
2244: END IF;
2245:
2246: -- END OF BODY OF API
2247: x_return_status := fnd_api.g_ret_sts_success;
2248: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2249:
2250: EXCEPTION
2251: WHEN fnd_api.g_exc_error THEN
2247: x_return_status := fnd_api.g_ret_sts_success;
2248: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2249:
2250: EXCEPTION
2251: WHEN fnd_api.g_exc_error THEN
2252: x_return_status := fnd_api.g_ret_sts_error;
2253: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2254: WHEN fnd_api.g_exc_unexpected_error THEN
2255: x_return_status := fnd_api.g_ret_sts_unexp_error;
2248: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2249:
2250: EXCEPTION
2251: WHEN fnd_api.g_exc_error THEN
2252: x_return_status := fnd_api.g_ret_sts_error;
2253: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2254: WHEN fnd_api.g_exc_unexpected_error THEN
2255: x_return_status := fnd_api.g_ret_sts_unexp_error;
2256: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2250: EXCEPTION
2251: WHEN fnd_api.g_exc_error THEN
2252: x_return_status := fnd_api.g_ret_sts_error;
2253: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2254: WHEN fnd_api.g_exc_unexpected_error THEN
2255: x_return_status := fnd_api.g_ret_sts_unexp_error;
2256: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2257: WHEN others THEN
2258: x_return_status := fnd_api.g_ret_sts_unexp_error;
2251: WHEN fnd_api.g_exc_error THEN
2252: x_return_status := fnd_api.g_ret_sts_error;
2253: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2254: WHEN fnd_api.g_exc_unexpected_error THEN
2255: x_return_status := fnd_api.g_ret_sts_unexp_error;
2256: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2257: WHEN others THEN
2258: x_return_status := fnd_api.g_ret_sts_unexp_error;
2259: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2254: WHEN fnd_api.g_exc_unexpected_error THEN
2255: x_return_status := fnd_api.g_ret_sts_unexp_error;
2256: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2257: WHEN others THEN
2258: x_return_status := fnd_api.g_ret_sts_unexp_error;
2259: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2260: x_msg_count := 1;
2261: x_msg_data := sqlerrm;
2262:
2282: l_index_date DATE;
2283:
2284: BEGIN
2285: -- Initialize API return status to success
2286: l_return_status := fnd_api.g_ret_sts_success;
2287:
2288: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' +');
2289:
2290: if p_phase = 'TERM' then
2397:
2398: END LOOP;
2399:
2400: IF g_error_count > 0 THEN
2401: RAISE fnd_api.g_exc_error;
2402: END IF;
2403:
2404: -- END OF BODY OF API
2405: x_return_status := fnd_api.g_ret_sts_success;
2401: RAISE fnd_api.g_exc_error;
2402: END IF;
2403:
2404: -- END OF BODY OF API
2405: x_return_status := fnd_api.g_ret_sts_success;
2406:
2407: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2408:
2409: EXCEPTION
2406:
2407: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2408:
2409: EXCEPTION
2410: WHEN fnd_api.g_exc_error THEN
2411: x_return_status := fnd_api.g_ret_sts_error;
2412: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2413: WHEN fnd_api.g_exc_unexpected_error THEN
2414: x_return_status := fnd_api.g_ret_sts_unexp_error;
2407: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2408:
2409: EXCEPTION
2410: WHEN fnd_api.g_exc_error THEN
2411: x_return_status := fnd_api.g_ret_sts_error;
2412: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2413: WHEN fnd_api.g_exc_unexpected_error THEN
2414: x_return_status := fnd_api.g_ret_sts_unexp_error;
2415: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2409: EXCEPTION
2410: WHEN fnd_api.g_exc_error THEN
2411: x_return_status := fnd_api.g_ret_sts_error;
2412: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2413: WHEN fnd_api.g_exc_unexpected_error THEN
2414: x_return_status := fnd_api.g_ret_sts_unexp_error;
2415: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2416: WHEN others THEN
2417: x_return_status := fnd_api.g_ret_sts_unexp_error;
2410: WHEN fnd_api.g_exc_error THEN
2411: x_return_status := fnd_api.g_ret_sts_error;
2412: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2413: WHEN fnd_api.g_exc_unexpected_error THEN
2414: x_return_status := fnd_api.g_ret_sts_unexp_error;
2415: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2416: WHEN others THEN
2417: x_return_status := fnd_api.g_ret_sts_unexp_error;
2418: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2413: WHEN fnd_api.g_exc_unexpected_error THEN
2414: x_return_status := fnd_api.g_ret_sts_unexp_error;
2415: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2416: WHEN others THEN
2417: x_return_status := fnd_api.g_ret_sts_unexp_error;
2418: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2419: x_msg_count := 1;
2420: x_msg_data := sqlerrm;
2421:
2642: l_msg_data);
2643:
2644: logmessage(fnd_log.level_statement, 'l_return_status = ' || l_return_status);
2645: IF l_return_status <> 'S' THEN
2646: RAISE FND_API.G_EXC_ERROR;
2647: END IF;
2648:
2649: logmessage(fnd_log.level_statement, 'Before opening cursor fee_account_lines');
2650: OPEN fee_account_lines(l_fee_assignment_rec.fee_id) ;
2699: CLOSE fee_account_lines ;
2700:
2701: END LOOP ;
2702:
2703: x_return_status := fnd_api.g_ret_sts_success;
2704: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2705:
2706: EXCEPTION
2707: WHEN others THEN
2704: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2705:
2706: EXCEPTION
2707: WHEN others THEN
2708: x_return_status := fnd_api.g_ret_sts_unexp_error;
2709: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2710: END create_FEE_ASSIGNMENT;
2711:
2712:
2784:
2785: END LOOP;
2786:
2787: IF g_error_count > 0 THEN
2788: RAISE fnd_api.g_exc_error;
2789: END IF;
2790:
2791: -- END OF BODY OF API
2792: x_return_status := fnd_api.g_ret_sts_success;
2788: RAISE fnd_api.g_exc_error;
2789: END IF;
2790:
2791: -- END OF BODY OF API
2792: x_return_status := fnd_api.g_ret_sts_success;
2793:
2794: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2795:
2796: EXCEPTION
2793:
2794: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2795:
2796: EXCEPTION
2797: WHEN fnd_api.g_exc_error THEN
2798: x_return_status := fnd_api.g_ret_sts_error;
2799: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2800: WHEN fnd_api.g_exc_unexpected_error THEN
2801: x_return_status := fnd_api.g_ret_sts_unexp_error;
2794: logmessage(fnd_log.level_procedure, g_pkg_name || '.' || l_api_name || ' -');
2795:
2796: EXCEPTION
2797: WHEN fnd_api.g_exc_error THEN
2798: x_return_status := fnd_api.g_ret_sts_error;
2799: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2800: WHEN fnd_api.g_exc_unexpected_error THEN
2801: x_return_status := fnd_api.g_ret_sts_unexp_error;
2802: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2796: EXCEPTION
2797: WHEN fnd_api.g_exc_error THEN
2798: x_return_status := fnd_api.g_ret_sts_error;
2799: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2800: WHEN fnd_api.g_exc_unexpected_error THEN
2801: x_return_status := fnd_api.g_ret_sts_unexp_error;
2802: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2803: WHEN others THEN
2804: x_return_status := fnd_api.g_ret_sts_unexp_error;
2797: WHEN fnd_api.g_exc_error THEN
2798: x_return_status := fnd_api.g_ret_sts_error;
2799: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2800: WHEN fnd_api.g_exc_unexpected_error THEN
2801: x_return_status := fnd_api.g_ret_sts_unexp_error;
2802: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2803: WHEN others THEN
2804: x_return_status := fnd_api.g_ret_sts_unexp_error;
2805: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2800: WHEN fnd_api.g_exc_unexpected_error THEN
2801: x_return_status := fnd_api.g_ret_sts_unexp_error;
2802: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
2803: WHEN others THEN
2804: x_return_status := fnd_api.g_ret_sts_unexp_error;
2805: logerrors('Exception at '||g_pkg_name || '.' || l_api_name ||' is '||sqlerrm);
2806: x_msg_count := 1;
2807: x_msg_data := sqlerrm;
2808:
2881:
2882: SAVEPOINT CREATE_LOAN;
2883:
2884: -- Initialize message list if p_init_msg_list is set to TRUE
2885: IF fnd_api.to_boolean(p_init_msg_list) THEN
2886: fnd_msg_pub.initialize;
2887: END IF;
2888:
2889: -- Initialize Collections and Variables
3050: ,p_token1=>'P_Application_id');
3051: END IF;
3052:
3053: IF g_error_count > 0 THEN
3054: RAISE fnd_api.g_exc_error;
3055: END IF;
3056:
3057: -- validating loan details
3058: LogMessage(FND_LOG.LEVEL_STATEMENT, ' ');
3063: ,l_msg_data);
3064:
3065: IF l_return_status <> 'S' THEN
3066: logmessage(fnd_log.level_unexpected, 'Validation failed in module - validate_loan_header_details()');
3067: RAISE fnd_api.g_exc_error;
3068: END IF;
3069:
3070: -- validating loan participants
3071: IF p_loan_part_tbl.COUNT > 0 THEN
3075: , l_msg_count
3076: , l_msg_data);
3077: IF l_return_status <> 'S' THEN
3078: logmessage(fnd_log.level_unexpected, 'Validation failed in module - validate_participants()');
3079: RAISE fnd_api.g_exc_error;
3080: END IF;
3081: END IF;
3082:
3083: -- add PRIMARY_BORROWER to participants table
3101: ,l_msg_count
3102: ,l_msg_data);
3103: IF l_return_status <> 'S' THEN
3104: logmessage(fnd_log.level_unexpected, 'Validation failed in module - validate_loan_lines()');
3105: RAISE fnd_api.g_exc_error;
3106: END IF;
3107: END IF;
3108: ELSE
3109: LogMessage(FND_LOG.LEVEL_STATEMENT, ' ');
3114: ,l_msg_count
3115: ,l_msg_data);
3116: IF l_return_status <> 'S' THEN
3117: logmessage(fnd_log.level_unexpected, 'Validation failed in module - validate_disbursements()');
3118: RAISE fnd_api.g_exc_error;
3119: END IF;
3120: END IF;
3121: END IF;
3122:
3130: ,l_msg_count
3131: ,l_msg_data);
3132: IF l_return_status <> 'S' THEN
3133: logmessage(fnd_log.level_unexpected, 'Validation failed in module - open validate_rate_sched()');
3134: RAISE fnd_api.g_exc_error;
3135: END IF;
3136: end if;
3137:
3138: -- validate term rate schedule
3144: ,l_msg_count
3145: ,l_msg_data);
3146: IF l_return_status <> 'S' THEN
3147: logmessage(fnd_log.level_unexpected, 'Validation failed in module - term validate_rate_sched()');
3148: RAISE fnd_api.g_exc_error;
3149: END IF;
3150:
3151:
3152: -- loan record
3505: IF P_Loan_Details_Rec.PAYMENT_CALC_METHOD = 'CUSTOM' and p_loan_cust_sched_tbl.COUNT = 0 THEN
3506:
3507: LNS_CUSTOM_PUB.parseClob(
3508: P_API_VERSION => 1.0,
3509: P_INIT_MSG_LIST => FND_API.G_TRUE,
3510: P_COMMIT => FND_API.G_FALSE,
3511: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3512: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
3513: P_RETAIN_DATA => 'N',
3506:
3507: LNS_CUSTOM_PUB.parseClob(
3508: P_API_VERSION => 1.0,
3509: P_INIT_MSG_LIST => FND_API.G_TRUE,
3510: P_COMMIT => FND_API.G_FALSE,
3511: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3512: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
3513: P_RETAIN_DATA => 'N',
3514: X_CUSTOM_SET_REC => l_CUSTOM_SET_REC,
3507: LNS_CUSTOM_PUB.parseClob(
3508: P_API_VERSION => 1.0,
3509: P_INIT_MSG_LIST => FND_API.G_TRUE,
3510: P_COMMIT => FND_API.G_FALSE,
3511: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
3512: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
3513: P_RETAIN_DATA => 'N',
3514: X_CUSTOM_SET_REC => l_CUSTOM_SET_REC,
3515: X_CUSTOM_TBL => l_custom_tbl,
3517: x_msg_count => l_msg_count,
3518: x_msg_data => l_msg_data);
3519:
3520: IF l_return_status <> 'S' THEN
3521: RAISE fnd_api.g_exc_error;
3522: END IF;
3523:
3524: l_end_installment_number := l_custom_tbl.COUNT;
3525:
3609: logmessage(fnd_log.level_statement, 'Synchronizing Term Rate Schedule...');
3610: synchRateSchedule(p_term_rates_tbl, l_end_installment_number);
3611:
3612: IF g_error_count > 0 THEN
3613: RAISE fnd_api.g_exc_error;
3614: END IF;
3615:
3616: -- Create Loan Header
3617: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_LOAN_HEADER_PUB.create_loan...');
3629: ,p_token1 => l_msg_data);
3630: END IF;
3631:
3632: IF g_error_count > 0 THEN
3633: RAISE fnd_api.g_exc_error;
3634: END IF;
3635:
3636: logmessage(fnd_log.level_unexpected, 'Loan object created successfully');
3637: logmessage(fnd_log.level_unexpected, 'New loan_id: ' || l_loan_id);
3651:
3652: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_PARTICIPANTS_PUB.createParticipant...');
3653: LNS_PARTICIPANTS_PUB.createParticipant (
3654: p_init_msg_list => 'T'
3655: ,p_validation_level => FND_API.G_VALID_LEVEL_NONE
3656: ,p_loan_participant_rec => l_participant_rec
3657: ,x_participant_id => l_participant_id
3658: ,x_return_status => l_part_insert_success
3659: ,x_msg_count => l_msg_count
3668: END IF;
3669: END LOOP;
3670:
3671: IF g_error_count > 0 THEN
3672: RAISE fnd_api.g_exc_error;
3673: END IF;
3674:
3675: logmessage(fnd_log.level_unexpected, 'All participant objects created successfully');
3676:
3689: ,p_token1 =>l_msg_data);
3690: END IF;
3691:
3692: IF g_error_count > 0 THEN
3693: RAISE fnd_api.g_exc_error;
3694: END IF;
3695:
3696: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Loan term object created successfully');
3697:
3823: ,p_token1 => sqlerrm);
3824: END;
3825:
3826: IF g_error_count > 0 THEN
3827: RAISE fnd_api.g_exc_error;
3828: END IF;
3829:
3830: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Frequency schedule created successfully');
3831:
3881: END;
3882: END LOOP;
3883:
3884: IF g_error_count > 0 THEN
3885: RAISE fnd_api.g_exc_error;
3886: END IF;
3887:
3888: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Term rate schedule created successfully');
3889:
3940: END;
3941: END LOOP;
3942:
3943: IF g_error_count > 0 THEN
3944: RAISE fnd_api.g_exc_error;
3945: END IF;
3946:
3947: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Open rate schedule created successfully');
3948:
3954: ,x_return_status => l_return_status
3955: ,x_msg_count => l_msg_count
3956: ,x_msg_data => l_msg_data);
3957: IF l_return_status <> 'S' THEN
3958: RAISE fnd_api.g_exc_error;
3959: END IF;
3960:
3961: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Default fees created successfully');
3962:
3964: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.create_LP_COND_ASSIGNMENT...');
3965: LNS_COND_ASSIGNMENT_PUB.create_LP_COND_ASSIGNMENT(l_loan_rec.loan_id);
3966:
3967: IF g_error_count > 0 THEN
3968: RAISE fnd_api.g_exc_error;
3969: END IF;
3970:
3971: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Default conditions created successfully');
3972:
4063:
4064: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_HEADER...');
4065: LNS_FUNDING_PUB.INSERT_DISB_HEADER(
4066: P_API_VERSION => 1.0,
4067: P_INIT_MSG_LIST => FND_API.G_TRUE,
4068: P_COMMIT => FND_API.G_FALSE,
4069: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4070: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
4071: X_RETURN_STATUS => l_return_status,
4064: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_HEADER...');
4065: LNS_FUNDING_PUB.INSERT_DISB_HEADER(
4066: P_API_VERSION => 1.0,
4067: P_INIT_MSG_LIST => FND_API.G_TRUE,
4068: P_COMMIT => FND_API.G_FALSE,
4069: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4070: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
4071: X_RETURN_STATUS => l_return_status,
4072: X_MSG_COUNT => l_msg_count,
4065: LNS_FUNDING_PUB.INSERT_DISB_HEADER(
4066: P_API_VERSION => 1.0,
4067: P_INIT_MSG_LIST => FND_API.G_TRUE,
4068: P_COMMIT => FND_API.G_FALSE,
4069: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4070: P_DISB_HEADER_REC => l_DISB_HEADER_REC,
4071: X_RETURN_STATUS => l_return_status,
4072: X_MSG_COUNT => l_msg_count,
4073: X_MSG_DATA => l_msg_data);
4074:
4075: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
4076: IF l_return_status <> 'S' THEN
4077: logmessage(fnd_log.level_unexpected, 'Call to INSERT_DISB_HEADER failed');
4078: RAISE fnd_api.g_exc_error;
4079: END IF;
4080:
4081: -- create disb line
4082: select lns_disb_lines_s.NEXTVAL into l_DISB_LINE_REC.DISB_LINE_ID from dual;
4092:
4093: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_LINE...');
4094: LNS_FUNDING_PUB.INSERT_DISB_LINE(
4095: P_API_VERSION => 1.0,
4096: P_INIT_MSG_LIST => FND_API.G_TRUE,
4097: P_COMMIT => FND_API.G_FALSE,
4098: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4099: P_DISB_LINE_REC => l_DISB_LINE_REC,
4100: X_RETURN_STATUS => l_return_status,
4093: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling INSERT_DISB_LINE...');
4094: LNS_FUNDING_PUB.INSERT_DISB_LINE(
4095: P_API_VERSION => 1.0,
4096: P_INIT_MSG_LIST => FND_API.G_TRUE,
4097: P_COMMIT => FND_API.G_FALSE,
4098: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4099: P_DISB_LINE_REC => l_DISB_LINE_REC,
4100: X_RETURN_STATUS => l_return_status,
4101: X_MSG_COUNT => l_msg_count,
4094: LNS_FUNDING_PUB.INSERT_DISB_LINE(
4095: P_API_VERSION => 1.0,
4096: P_INIT_MSG_LIST => FND_API.G_TRUE,
4097: P_COMMIT => FND_API.G_FALSE,
4098: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4099: P_DISB_LINE_REC => l_DISB_LINE_REC,
4100: X_RETURN_STATUS => l_return_status,
4101: X_MSG_COUNT => l_msg_count,
4102: X_MSG_DATA => l_msg_data);
4103:
4104: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
4105: IF l_return_status <> 'S' THEN
4106: logmessage(fnd_log.level_unexpected, 'Call to INSERT_DISB_LINE failed');
4107: RAISE fnd_api.g_exc_error;
4108: END IF;
4109:
4110: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
4111: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
4109:
4110: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
4111: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
4112: P_API_VERSION => 1.0,
4113: P_INIT_MSG_LIST => FND_API.G_TRUE,
4114: P_COMMIT => FND_API.G_FALSE,
4115: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4116: P_LOAN_ID => l_loan_rec.loan_id,
4117: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
4110: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Calling LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS...');
4111: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
4112: P_API_VERSION => 1.0,
4113: P_INIT_MSG_LIST => FND_API.G_TRUE,
4114: P_COMMIT => FND_API.G_FALSE,
4115: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4116: P_LOAN_ID => l_loan_rec.loan_id,
4117: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
4118: P_CONDITION_TYPE => 'DISBURSEMENT',
4111: LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS(
4112: P_API_VERSION => 1.0,
4113: P_INIT_MSG_LIST => FND_API.G_TRUE,
4114: P_COMMIT => FND_API.G_FALSE,
4115: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4116: P_LOAN_ID => l_loan_rec.loan_id,
4117: P_OWNER_OBJECT_ID => l_DISB_HEADER_REC.DISB_HEADER_ID,
4118: P_CONDITION_TYPE => 'DISBURSEMENT',
4119: X_RETURN_STATUS => L_RETURN_STATUS,
4122:
4123: LogMessage(FND_LOG.LEVEL_STATEMENT, 'l_return_status: ' || l_return_status);
4124: IF l_return_status <> 'S' THEN
4125: LogMessage(FND_LOG.LEVEL_STATEMENT, 'Call to LNS_COND_ASSIGNMENT_PUB.DEFAULT_COND_ASSIGNMENTS failed');
4126: RAISE FND_API.G_EXC_ERROR;
4127: END IF;
4128:
4129: END LOOP;
4130:
4137:
4138: END IF;
4139:
4140: IF g_error_count > 0 THEN
4141: RAISE fnd_api.g_exc_error;
4142: END IF;
4143:
4144: -- Create custom schedule if needed
4145: IF P_Loan_Details_Rec.custom_payments_flag = 'Y' THEN
4149: logmessage(fnd_log.level_statement, 'Calling LNS_CUSTOM_PUB.customizeSchedule...');
4150: l_custom_tbl.delete;
4151: LNS_CUSTOM_PUB.customizeSchedule(
4152: P_API_VERSION => 1.0,
4153: P_INIT_MSG_LIST => FND_API.G_TRUE,
4154: P_COMMIT => FND_API.G_FALSE,
4155: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4156: P_LOAN_ID => l_loan_id,
4157: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
4150: l_custom_tbl.delete;
4151: LNS_CUSTOM_PUB.customizeSchedule(
4152: P_API_VERSION => 1.0,
4153: P_INIT_MSG_LIST => FND_API.G_TRUE,
4154: P_COMMIT => FND_API.G_FALSE,
4155: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4156: P_LOAN_ID => l_loan_id,
4157: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
4158: X_CUSTOM_SET_REC => l_CUSTOM_SET_REC,
4151: LNS_CUSTOM_PUB.customizeSchedule(
4152: P_API_VERSION => 1.0,
4153: P_INIT_MSG_LIST => FND_API.G_TRUE,
4154: P_COMMIT => FND_API.G_FALSE,
4155: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4156: P_LOAN_ID => l_loan_id,
4157: P_CLOB => l_product_rec.CUSTOM_SCHED_DATA,
4158: X_CUSTOM_SET_REC => l_CUSTOM_SET_REC,
4159: X_CUSTOM_TBL => l_custom_tbl,
4161: x_msg_count => l_msg_count,
4162: x_msg_data => l_msg_data);
4163:
4164: IF l_return_status <> 'S' THEN
4165: RAISE fnd_api.g_exc_error;
4166: END IF;
4167:
4168: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Custom schedule cusomized successfully');
4169:
4190:
4191: -- added for bug 6961781
4192: LNS_CUSTOM_PUB.saveCustomSchedule(
4193: P_API_VERSION => 1.0,
4194: P_INIT_MSG_LIST => FND_API.G_TRUE,
4195: P_COMMIT => FND_API.G_FALSE,
4196: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4197: P_LOAN_ID => l_loan_id,
4198: P_BASED_ON_TERMS => 'ORIGINAL',
4191: -- added for bug 6961781
4192: LNS_CUSTOM_PUB.saveCustomSchedule(
4193: P_API_VERSION => 1.0,
4194: P_INIT_MSG_LIST => FND_API.G_TRUE,
4195: P_COMMIT => FND_API.G_FALSE,
4196: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4197: P_LOAN_ID => l_loan_id,
4198: P_BASED_ON_TERMS => 'ORIGINAL',
4199: P_USE_RETAINED_DATA => 'N',
4192: LNS_CUSTOM_PUB.saveCustomSchedule(
4193: P_API_VERSION => 1.0,
4194: P_INIT_MSG_LIST => FND_API.G_TRUE,
4195: P_COMMIT => FND_API.G_FALSE,
4196: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4197: P_LOAN_ID => l_loan_id,
4198: P_BASED_ON_TERMS => 'ORIGINAL',
4199: P_USE_RETAINED_DATA => 'N',
4200: P_CUSTOM_SET_REC => l_CUSTOM_SET_REC,
4203: x_msg_count => l_msg_count,
4204: x_msg_data => l_msg_data);
4205:
4206: IF l_return_status <> 'S' THEN
4207: RAISE fnd_api.g_exc_error;
4208: END IF;
4209:
4210: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Custom schedule created successfully');
4211:
4233:
4234: logmessage(fnd_log.level_statement, 'Updating floating rate schedule...');
4235: LNS_INDEX_RATES_PUB.UPDATE_LOAN_FLOATING_RATE(
4236: P_API_VERSION => 1.0,
4237: P_INIT_MSG_LIST => FND_API.G_TRUE,
4238: P_COMMIT => FND_API.G_FALSE,
4239: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4240: P_LOAN_ID => l_loan_rec.loan_id,
4241: x_return_status => l_return_status,
4234: logmessage(fnd_log.level_statement, 'Updating floating rate schedule...');
4235: LNS_INDEX_RATES_PUB.UPDATE_LOAN_FLOATING_RATE(
4236: P_API_VERSION => 1.0,
4237: P_INIT_MSG_LIST => FND_API.G_TRUE,
4238: P_COMMIT => FND_API.G_FALSE,
4239: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4240: P_LOAN_ID => l_loan_rec.loan_id,
4241: x_return_status => l_return_status,
4242: x_msg_count => l_msg_count,
4235: LNS_INDEX_RATES_PUB.UPDATE_LOAN_FLOATING_RATE(
4236: P_API_VERSION => 1.0,
4237: P_INIT_MSG_LIST => FND_API.G_TRUE,
4238: P_COMMIT => FND_API.G_FALSE,
4239: P_VALIDATION_LEVEL => FND_API.G_VALID_LEVEL_FULL,
4240: P_LOAN_ID => l_loan_rec.loan_id,
4241: x_return_status => l_return_status,
4242: x_msg_count => l_msg_count,
4243: x_msg_data => l_msg_data);
4242: x_msg_count => l_msg_count,
4243: x_msg_data => l_msg_data);
4244:
4245: IF l_return_status <> 'S' THEN
4246: RAISE fnd_api.g_exc_error;
4247: END IF;
4248:
4249: logmessage(fnd_log.LEVEL_UNEXPECTED, 'Floating rate schedule updated successfully');
4250:
4272:
4273: END IF;
4274:
4275: IF g_error_count > 0 THEN
4276: RAISE fnd_api.g_exc_error;
4277: END IF;
4278:
4279: IF p_commit = fnd_api.g_true THEN
4280: COMMIT WORK;
4275: IF g_error_count > 0 THEN
4276: RAISE fnd_api.g_exc_error;
4277: END IF;
4278:
4279: IF p_commit = fnd_api.g_true THEN
4280: COMMIT WORK;
4281: logmessage(fnd_log.level_statement, 'Commited');
4282: END IF;
4283: