[Home] [Help]
1: PACKAGE BODY AHL_FMP_MR_REVISION_PVT AS
2: /* $Header: AHLVMRRB.pls 120.11.12020000.2 2012/12/13 05:07:43 shnatu ship $ */
3:
4: G_PKG_NAME VARCHAR2(30):='AHL_FMP_MR_REVISION_PVT';
5: G_DEBUG VARCHAR2(1) :=AHL_DEBUG_PUB.is_log_enabled;
6: G_APPLN_USAGE VARCHAR2(30) :=LTRIM(RTRIM(FND_PROFILE.VALUE('AHL_APPLN_USAGE')));
7:
8: TYPE TEMP_MR_ROUTE_REC IS RECORD
9: (
54: x_return_status:=fnd_api.g_ret_sts_success;
55:
56:
57: IF G_DEBUG='Y' THEN
58: AHL_DEBUG_PUB.enable_debug;
59: END IF;
60:
61: IF g_appln_usage is null
62: THEN
130: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
131: p_count => x_msg_count,
132: p_data => x_msg_data);
133: IF G_DEBUG='Y' THEN
134: AHL_DEBUG_PUB.disable_debug;
135: END IF;
136: WHEN FND_API.G_EXC_ERROR THEN
137: X_return_status := FND_API.G_RET_STS_ERROR;
138: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
138: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
139: p_count => x_msg_count,
140: p_data => X_msg_data);
141: IF G_DEBUG='Y' THEN
142: AHL_DEBUG_PUB.disable_debug;
143: END IF;
144:
145: WHEN OTHERS THEN
146: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
154: p_count => x_msg_count,
155: p_data => X_msg_data);
156:
157: IF G_DEBUG='Y' THEN
158: AHL_DEBUG_PUB.disable_debug;
159: END IF;
160:
161: END;
162:
752:
753: SAVEPOINT CREATE_MR_REVISION_PVT;
754:
755: IF G_DEBUG='Y' THEN
756: AHL_DEBUG_PUB.enable_debug;
757: AHL_DEBUG_PUB.debug( ' START CREATE MR REVISION ');
758: END IF;
759:
760: -- Standard call to check for call compatibility.
753: SAVEPOINT CREATE_MR_REVISION_PVT;
754:
755: IF G_DEBUG='Y' THEN
756: AHL_DEBUG_PUB.enable_debug;
757: AHL_DEBUG_PUB.debug( ' START CREATE MR REVISION ');
758: END IF;
759:
760: -- Standard call to check for call compatibility.
761:
1642:
1643: -- Check if API is called in debug mode. If yes, disable debug.
1644:
1645: IF G_DEBUG='Y' THEN
1646: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS COMPLETE');
1647: AHL_DEBUG_PUB.disable_debug;
1648: END IF;
1649:
1650: EXCEPTION
1643: -- Check if API is called in debug mode. If yes, disable debug.
1644:
1645: IF G_DEBUG='Y' THEN
1646: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS COMPLETE');
1647: AHL_DEBUG_PUB.disable_debug;
1648: END IF;
1649:
1650: EXCEPTION
1651: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1654: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1655: p_count => x_msg_count,
1656: p_data => x_msg_data);
1657: IF G_DEBUG='Y' THEN
1658: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1659: AHL_DEBUG_PUB.disable_debug;
1660: END IF;
1661:
1662:
1655: p_count => x_msg_count,
1656: p_data => x_msg_data);
1657: IF G_DEBUG='Y' THEN
1658: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1659: AHL_DEBUG_PUB.disable_debug;
1660: END IF;
1661:
1662:
1663: WHEN FND_API.G_EXC_ERROR THEN
1666: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1667: p_count => x_msg_count,
1668: p_data => X_msg_data);
1669: IF G_DEBUG='Y' THEN
1670: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1671: AHL_DEBUG_PUB.disable_debug;
1672: END IF;
1673:
1674: WHEN OTHERS THEN
1667: p_count => x_msg_count,
1668: p_data => X_msg_data);
1669: IF G_DEBUG='Y' THEN
1670: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1671: AHL_DEBUG_PUB.disable_debug;
1672: END IF;
1673:
1674: WHEN OTHERS THEN
1675: ROLLBACK TO CREATE_MR_REVISION_PVT;
1683: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
1684: p_count => x_msg_count,
1685: p_data => X_msg_data);
1686: IF G_DEBUG='Y' THEN
1687: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1688: AHL_DEBUG_PUB.DEBUG(SQLERRM||' IN '||L_API_NAME);
1689: AHL_DEBUG_PUB.disable_debug;
1690: END IF;
1691:
1684: p_count => x_msg_count,
1685: p_data => X_msg_data);
1686: IF G_DEBUG='Y' THEN
1687: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1688: AHL_DEBUG_PUB.DEBUG(SQLERRM||' IN '||L_API_NAME);
1689: AHL_DEBUG_PUB.disable_debug;
1690: END IF;
1691:
1692: END;
1685: p_data => X_msg_data);
1686: IF G_DEBUG='Y' THEN
1687: AHL_DEBUG_PUB.DEBUG('CREATION OF MR_REVISION IS NOT COMPLETE');
1688: AHL_DEBUG_PUB.DEBUG(SQLERRM||' IN '||L_API_NAME);
1689: AHL_DEBUG_PUB.disable_debug;
1690: END IF;
1691:
1692: END;
1693:
1759: BEGIN
1760: SAVEPOINT INITIATE_MR_APPROVAL_PVT;
1761:
1762: IF G_DEBUG='Y' THEN
1763: AHL_DEBUG_PUB.enable_debug;
1764: END IF;
1765:
1766: IF G_DEBUG='Y' THEN
1767: AHL_DEBUG_PUB.debug( 'Start Initiate_MR_Approval');
1763: AHL_DEBUG_PUB.enable_debug;
1764: END IF;
1765:
1766: IF G_DEBUG='Y' THEN
1767: AHL_DEBUG_PUB.debug( 'Start Initiate_MR_Approval');
1768: END IF;
1769:
1770: IF FND_API.to_boolean(l_init_msg_list) THEN
1771: FND_MSG_PUB.initialize;
1783: l_mr_appr_enabled:=nvl(l_mr_appr_enabled,'Y');
1784: END IF;
1785:
1786: IF G_DEBUG='Y' THEN
1787: AHL_DEBUG_PUB.debug( 'l_mr_appr_enabled : ' || l_mr_appr_enabled);
1788: AHL_DEBUG_PUB.debug( 'P_APPRV_TYPE : ' || P_APPRV_TYPE);
1789: END IF;
1790:
1791: IF p_source_mr_header_id is null or
1784: END IF;
1785:
1786: IF G_DEBUG='Y' THEN
1787: AHL_DEBUG_PUB.debug( 'l_mr_appr_enabled : ' || l_mr_appr_enabled);
1788: AHL_DEBUG_PUB.debug( 'P_APPRV_TYPE : ' || P_APPRV_TYPE);
1789: END IF;
1790:
1791: IF p_source_mr_header_id is null or
1792: p_source_mr_header_id=FND_API.G_MISS_NUM
1833: l_program_id:=p_source_mr_header_id;
1834: END IF;
1835:
1836: IF G_DEBUG='Y' THEN
1837: AHL_DEBUG_PUB.debug( ' Before Call to OKS_PM_ENTITLEMENTS_PUB.Check_PM_Exists');
1838: AHL_DEBUG_PUB.debug( 'l_pm_activity_id'||l_pm_activity_id);
1839: AHL_DEBUG_PUB.debug( 'l_program_id'||l_program_id);
1840: END IF;
1841:
1834: END IF;
1835:
1836: IF G_DEBUG='Y' THEN
1837: AHL_DEBUG_PUB.debug( ' Before Call to OKS_PM_ENTITLEMENTS_PUB.Check_PM_Exists');
1838: AHL_DEBUG_PUB.debug( 'l_pm_activity_id'||l_pm_activity_id);
1839: AHL_DEBUG_PUB.debug( 'l_program_id'||l_program_id);
1840: END IF;
1841:
1842:
1835:
1836: IF G_DEBUG='Y' THEN
1837: AHL_DEBUG_PUB.debug( ' Before Call to OKS_PM_ENTITLEMENTS_PUB.Check_PM_Exists');
1838: AHL_DEBUG_PUB.debug( 'l_pm_activity_id'||l_pm_activity_id);
1839: AHL_DEBUG_PUB.debug( 'l_program_id'||l_program_id);
1840: END IF;
1841:
1842:
1843: OKS_PM_ENTITLEMENTS_PUB.Check_PM_Exists
1852: x_pm_reference_exists =>l_contract_ref_exists
1853: );
1854:
1855: IF G_DEBUG='Y' THEN
1856: AHL_DEBUG_PUB.debug( 'After call to OKS_PM_ENTITLEMENTS_PUB.Check_PM_Exists');
1857: END IF;
1858:
1859:
1860: --l_contract_ref_exists:='Y'; -- TEMP CHECK
1867: FND_MESSAGE.SET_TOKEN('MRTITLE',l_mr_Rec.TITLE);
1868: FND_MSG_PUB.ADD;
1869:
1870: IF G_DEBUG='Y' THEN
1871: AHL_DEBUG_PUB.debug( 'l_contract_ref_exists---->'||l_contract_ref_exists);
1872: END IF;
1873:
1874: ELSIF l_contract_ref_exists IS NULL OR l_contract_ref_exists=FND_API.G_MISS_CHAR
1875: THEN
1876: FND_MESSAGE.SET_NAME('AHL','AHL_FMP_MR_INVALID_RET_PARAM');
1877: FND_MSG_PUB.ADD;
1878:
1879: IF G_DEBUG='Y' THEN
1880: AHL_DEBUG_PUB.debug( 'l_contract_ref_exists----> is either null or g_misschar'||l_contract_ref_exists);
1881: END IF;
1882:
1883: END IF;
1884:
1980: */
1981: l_msg_count := FND_MSG_PUB.count_msg;
1982:
1983: If G_DEBUG='Y' THEN
1984: AHL_DEBUG_PUB.debug( 'Check Error l_msg_count:'||l_msg_count);
1985: End If;
1986:
1987: IF l_msg_count > 0
1988: THEN
2094: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2095: p_count => x_msg_count,
2096: p_data => x_msg_data);
2097: IF G_DEBUG='Y' THEN
2098: AHL_DEBUG_PUB.disable_debug;
2099: END IF;
2100:
2101:
2102: WHEN FND_API.G_EXC_ERROR THEN
2105: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2106: p_count => x_msg_count,
2107: p_data => X_msg_data);
2108: IF G_DEBUG='Y' THEN
2109: AHL_DEBUG_PUB.disable_debug;
2110: END IF;
2111:
2112: WHEN OTHERS THEN
2113: ROLLBACK TO INITIATE_MR_APPROVAL_PVT;
2121: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2122: p_count => x_msg_count,
2123: p_data => X_msg_data);
2124: IF G_DEBUG='Y' THEN
2125: AHL_DEBUG_PUB.disable_debug;
2126: END IF;
2127:
2128: END;
2129:
2227: SAVEPOINT COMPLETE_MR_REVISION_PVT;
2228:
2229: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2230: IF G_DEBUG='Y' THEN
2231: AHL_DEBUG_PUB.enable_debug;
2232: AHL_DEBUG_PUB.debug( 'p_appr_Status'||p_appr_status);
2233: AHL_DEBUG_PUB.debug( 'Header Id '||p_mr_header_id);
2234: END IF;
2235:
2228:
2229: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2230: IF G_DEBUG='Y' THEN
2231: AHL_DEBUG_PUB.enable_debug;
2232: AHL_DEBUG_PUB.debug( 'p_appr_Status'||p_appr_status);
2233: AHL_DEBUG_PUB.debug( 'Header Id '||p_mr_header_id);
2234: END IF;
2235:
2236: IF p_mr_header_id is not null and p_mr_header_id<>fnd_api.g_miss_num
2229: x_return_status:=FND_API.G_RET_STS_SUCCESS;
2230: IF G_DEBUG='Y' THEN
2231: AHL_DEBUG_PUB.enable_debug;
2232: AHL_DEBUG_PUB.debug( 'p_appr_Status'||p_appr_status);
2233: AHL_DEBUG_PUB.debug( 'Header Id '||p_mr_header_id);
2234: END IF;
2235:
2236: IF p_mr_header_id is not null and p_mr_header_id<>fnd_api.g_miss_num
2237: THEN
2327: IF L_MR_REC.MR_STATUS_CODE='TERMINATE_PENDING'
2328: THEN
2329: IF G_DEBUG='Y'
2330: THEN
2331: AHL_DEBUG_PUB.debug( 'l_status:'||l_status);
2332: AHL_DEBUG_PUB.debug( 'Before Call to Terminate MR Instances');
2333: END IF;
2334:
2335: AHL_UMP_UNITMAINT_PUB.Terminate_MR_Instances(
2328: THEN
2329: IF G_DEBUG='Y'
2330: THEN
2331: AHL_DEBUG_PUB.debug( 'l_status:'||l_status);
2332: AHL_DEBUG_PUB.debug( 'Before Call to Terminate MR Instances');
2333: END IF;
2334:
2335: AHL_UMP_UNITMAINT_PUB.Terminate_MR_Instances(
2336: p_api_version =>l_api_version,
2351:
2352: IF FND_MSG_PUB.count_msg > 0
2353: THEN
2354: IF G_DEBUG='Y' THEN
2355: AHL_DEBUG_PUB.debug( 'Terminate inst fail');
2356: END IF;
2357:
2358: END IF;
2359:
2366: l_check_flag2:='Y';
2367:
2368: ELSIF l_check_flag='Y' and l_mr_rec.version_number>1
2369: THEN
2370: AHL_DEBUG_PUB.debug( ' For version_number >1');
2371:
2372: OPEN GetPrevMR_headerid(l_mr_rec.version_number,
2373: l_mr_rec.title,
2374: l_mr_rec.application_usg_code);
2517:
2518: IF FND_MSG_PUB.count_msg > 0
2519: THEN
2520: IF G_DEBUG='Y' THEN
2521: AHL_DEBUG_PUB.debug( 'Error Before TerminateInstances');
2522: END IF;
2523: X_msg_count := l_msg_count;
2524: X_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2525: RAISE FND_API.G_EXC_ERROR;
2526: END IF;
2527:
2528: IF G_DEBUG='Y'
2529: THEN
2530: AHL_DEBUG_PUB.debug( 'l_status:'||l_status);
2531: END IF;
2532:
2533: IF L_MR_REC.MR_STATUS_CODE='APPROVAL_PENDING'
2534: THEN
2598: IF FND_MSG_PUB.count_msg > 0
2599: THEN
2600:
2601: IF G_DEBUG='Y' THEN
2602: AHL_DEBUG_PUB.debug( 'Terminate inst fail');
2603: END IF;
2604:
2605: END IF;
2606: END IF;
2611: l_msg_count := FND_MSG_PUB.count_msg;
2612: IF l_msg_count > 0
2613: THEN
2614: IF G_DEBUG='Y' THEN
2615: AHL_DEBUG_PUB.debug( 'Failed To Complete:');
2616: END IF;
2617: X_msg_count := l_msg_count;
2618: X_return_status := FND_API.G_RET_STS_ERROR;
2619: RAISE FND_API.G_EXC_ERROR;
2623: l_req_id := fnd_request.submit_request('AHL','AHLWUEFF',NULL,NULL,FALSE,
2624: l_prev_mr_rec.MR_HEADER_ID, l_mr_rec.MR_HEADER_ID);
2625: IF (l_req_id = 0 OR l_req_id IS NULL) THEN
2626: IF G_debug = 'Y' THEN
2627: AHL_DEBUG_PUB.debug('Tried to submit concurrent request but failed');
2628: END IF;
2629: ELSE
2630: IF G_debug = 'Y' THEN
2631: AHL_DEBUG_PUB.debug('submit concurrent request : ' || l_req_id);
2627: AHL_DEBUG_PUB.debug('Tried to submit concurrent request but failed');
2628: END IF;
2629: ELSE
2630: IF G_debug = 'Y' THEN
2631: AHL_DEBUG_PUB.debug('submit concurrent request : ' || l_req_id);
2632: END IF;
2633: END IF;
2634: END IF;
2635:
2633: END IF;
2634: END IF;
2635:
2636: IF G_DEBUG='Y' THEN
2637: AHL_DEBUG_PUB.debug( 'Before commit Complete_mr_revision ');
2638: END IF;
2639:
2640: IF FND_API.TO_BOOLEAN(p_commit) THEN
2641: COMMIT;
2647: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2648: p_count => x_msg_count,
2649: p_data => x_msg_data);
2650: IF G_DEBUG='Y' THEN
2651: AHL_DEBUG_PUB.disable_debug;
2652: END IF;
2653: WHEN FND_API.G_EXC_ERROR THEN
2654: ROLLBACK TO COMPLETE_MR_REVISION_PVT;
2655: X_return_status := FND_API.G_RET_STS_ERROR;
2656: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2657: p_count => x_msg_count,
2658: p_data => X_msg_data);
2659: IF G_DEBUG='Y' THEN
2660: AHL_DEBUG_PUB.disable_debug;
2661: END IF;
2662:
2663: WHEN OTHERS THEN
2664: ROLLBACK TO COMPLETE_MR_REVISION_PVT;
2673: p_count => x_msg_count,
2674: p_data => X_msg_data);
2675:
2676: IF G_DEBUG='Y' THEN
2677: AHL_DEBUG_PUB.disable_debug;
2678: END IF;
2679:
2680: END;
2681:
2739: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2740: p_count => x_msg_count,
2741: p_data => x_msg_data);
2742: IF G_DEBUG='Y' THEN
2743: AHL_DEBUG_PUB.disable_debug;
2744: END IF;
2745:
2746: WHEN FND_API.G_EXC_ERROR THEN
2747: ROLLBACK TO VALIDATE_MR_REVISION;
2749: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2750: p_count => x_msg_count,
2751: p_data => X_msg_data);
2752: IF G_DEBUG='Y' THEN
2753: AHL_DEBUG_PUB.disable_debug;
2754: END IF;
2755:
2756: WHEN OTHERS THEN
2757: ROLLBACK TO VALIDATE_MR_REVISION;
2765: FND_MSG_PUB.count_and_get( p_encoded =>FND_API.G_FALSE,
2766: p_count => x_msg_count,
2767: p_data => X_msg_data);
2768: IF G_DEBUG='Y' THEN
2769: AHL_DEBUG_PUB.disable_debug;
2770: END IF;
2771: END;
2772: END AHL_FMP_MR_REVISION_PVT;