66:
67:
68: BEGIN
69:
70: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
71: FND_MSG_PUB.initialize;
72: END IF;
73:
74: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
70: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
71: FND_MSG_PUB.initialize;
72: END IF;
73:
74: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
75: l_api_name, g_pkg_name)
76: THEN
77: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78: END IF;
73:
74: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
75: l_api_name, g_pkg_name)
76: THEN
77: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
78: END IF;
79:
80: If (p_po_release_id is not null) then
81: OPEN l_rel_ship_not_acked_csr;
101:
102: END IF;
103:
104: If (L_ship_not_acked_flag = 'Y') THEN
105: return FND_API.G_FALSE;
106: ELSE
107: return FND_API.G_TRUE;
108: END IF;
109:
103:
104: If (L_ship_not_acked_flag = 'Y') THEN
105: return FND_API.G_FALSE;
106: ELSE
107: return FND_API.G_TRUE;
108: END IF;
109:
110: EXCEPTION
111: WHEN OTHERS THEN
237:
238: /* If all shipments were either changed or acknowledged. */
239: IF (PO_ACKNOWLEDGE_PO_PVT.All_Shipments_Responded (
240: 1.0,
241: FND_API.G_FALSE,
242: null,
243: p_po_release_id,
244: l_arch_revision_num ) = FND_API.G_TRUE AND
245: l_change_requested_by = 'SUPPLIER' ) THEN
240: 1.0,
241: FND_API.G_FALSE,
242: null,
243: p_po_release_id,
244: l_arch_revision_num ) = FND_API.G_TRUE AND
245: l_change_requested_by = 'SUPPLIER' ) THEN
246: return 'SUPPLIER_CHANGE_PENDING';
247:
248: /* return partially acknowledged when changes are made to shipments */
357:
358: /* If all shipments were either changed or acknowledged. */
359: ELSIF (PO_ACKNOWLEDGE_PO_PVT.All_Shipments_Responded (
360: 1.0,
361: FND_API.G_FALSE,
362: p_po_header_id,
363: null,
364: l_arch_revision_num) = FND_API.G_TRUE AND
365: l_change_requested_by = 'SUPPLIER' ) THEN
360: 1.0,
361: FND_API.G_FALSE,
362: p_po_header_id,
363: null,
364: l_arch_revision_num) = FND_API.G_TRUE AND
365: l_change_requested_by = 'SUPPLIER' ) THEN
366: return 'SUPPLIER_CHANGE_PENDING';
367:
368: /* return partially acknowledged when changes are made to shipments */
590: and initiator = 'SUPPLIER';
591:
592: BEGIN
593:
594: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
595: FND_MSG_PUB.initialize;
596: END IF;
597:
598: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
594: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
595: FND_MSG_PUB.initialize;
596: END IF;
597:
598: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
599: l_api_name, g_pkg_name)
600: THEN
601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
602: END IF;
597:
598: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
599: l_api_name, g_pkg_name)
600: THEN
601: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
602: END IF;
603:
604: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
605: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
792:
793:
794: BEGIN
795:
796: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
797: FND_MSG_PUB.initialize;
798: END IF;
799:
800: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
796: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
797: FND_MSG_PUB.initialize;
798: END IF;
799:
800: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
801: l_api_name, g_pkg_name) THEN
802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
803: END IF;
804:
798: END IF;
799:
800: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
801: l_api_name, g_pkg_name) THEN
802: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
803: END IF;
804:
805: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
806: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1036:
1037:
1038: BEGIN
1039:
1040: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1041: FND_MSG_PUB.initialize;
1042: END IF;
1043:
1044: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1040: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1041: FND_MSG_PUB.initialize;
1042: END IF;
1043:
1044: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1045: l_api_name, g_pkg_name)
1046: THEN
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1043:
1044: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1045: l_api_name, g_pkg_name)
1046: THEN
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1049:
1050: x_return_status := FND_API.G_RET_STS_SUCCESS;
1051:
1046: THEN
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1049:
1050: x_return_status := FND_API.G_RET_STS_SUCCESS;
1051:
1052: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1053: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1054: l_api_name || '.invoked', 'Line_location_id: ' ||
1100: END IF;
1101:
1102:
1103: EXCEPTION
1104: WHEN FND_API.g_exc_error THEN
1105: x_return_status := FND_API.g_ret_sts_error;
1106: WHEN FND_API.g_exc_unexpected_error THEN
1107: x_return_status := FND_API.g_ret_sts_unexp_error;
1108: WHEN OTHERS THEN
1101:
1102:
1103: EXCEPTION
1104: WHEN FND_API.g_exc_error THEN
1105: x_return_status := FND_API.g_ret_sts_error;
1106: WHEN FND_API.g_exc_unexpected_error THEN
1107: x_return_status := FND_API.g_ret_sts_unexp_error;
1108: WHEN OTHERS THEN
1109: x_return_status := FND_API.g_ret_sts_unexp_error;
1102:
1103: EXCEPTION
1104: WHEN FND_API.g_exc_error THEN
1105: x_return_status := FND_API.g_ret_sts_error;
1106: WHEN FND_API.g_exc_unexpected_error THEN
1107: x_return_status := FND_API.g_ret_sts_unexp_error;
1108: WHEN OTHERS THEN
1109: x_return_status := FND_API.g_ret_sts_unexp_error;
1110: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1103: EXCEPTION
1104: WHEN FND_API.g_exc_error THEN
1105: x_return_status := FND_API.g_ret_sts_error;
1106: WHEN FND_API.g_exc_unexpected_error THEN
1107: x_return_status := FND_API.g_ret_sts_unexp_error;
1108: WHEN OTHERS THEN
1109: x_return_status := FND_API.g_ret_sts_unexp_error;
1110: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1111: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1105: x_return_status := FND_API.g_ret_sts_error;
1106: WHEN FND_API.g_exc_unexpected_error THEN
1107: x_return_status := FND_API.g_ret_sts_unexp_error;
1108: WHEN OTHERS THEN
1109: x_return_status := FND_API.g_ret_sts_unexp_error;
1110: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1111: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1112: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1113: FND_LOG.string(FND_LOG.level_unexpected, g_module_prefix ||
1126: * Effects: Carry over the shipment_level acknowledgement results from the
1127: * previous revision, it is called before launching PO approval
1128: * workflow after supplier's change has been accepted by buyer.
1129: * Returns:
1130: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1131: * FND_API.G_RET_STS_ERROR if an error occurs
1132: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1133: */
1134: PROCEDURE Carry_Over_Acknowledgement (
1127: * previous revision, it is called before launching PO approval
1128: * workflow after supplier's change has been accepted by buyer.
1129: * Returns:
1130: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1131: * FND_API.G_RET_STS_ERROR if an error occurs
1132: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1133: */
1134: PROCEDURE Carry_Over_Acknowledgement (
1135: p_api_version IN NUMBER,
1128: * workflow after supplier's change has been accepted by buyer.
1129: * Returns:
1130: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1131: * FND_API.G_RET_STS_ERROR if an error occurs
1132: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1133: */
1134: PROCEDURE Carry_Over_Acknowledgement (
1135: p_api_version IN NUMBER,
1136: p_Init_Msg_List IN VARCHAR2,
1234: -- End of Bug 2850566
1235:
1236: BEGIN
1237:
1238: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1239: FND_MSG_PUB.initialize;
1240: END IF;
1241:
1242:
1239: FND_MSG_PUB.initialize;
1240: END IF;
1241:
1242:
1243: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1244: l_api_name, g_pkg_name)
1245: THEN
1246: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1247: END IF;
1242:
1243: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1244: l_api_name, g_pkg_name)
1245: THEN
1246: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1247: END IF;
1248:
1249: x_return_status := FND_API.G_RET_STS_SUCCESS;
1250:
1245: THEN
1246: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1247: END IF;
1248:
1249: x_return_status := FND_API.G_RET_STS_SUCCESS;
1250:
1251: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1252: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1253: l_api_name || '.invoked', 'po_header_id: ' ||
1397: /* If all shipments are acknowledged after carryover, post header-level
1398: acknowledgement. */
1399: IF (PO_ACKNOWLEDGE_PO_PVT.All_Shipments_Acknowledged(
1400: 1.0,
1401: FND_API.G_FALSE,
1402: p_po_header_id,
1403: p_po_release_id,
1404: p_revision_num ) = FND_API.G_TRUE ) THEN
1405:
1400: 1.0,
1401: FND_API.G_FALSE,
1402: p_po_header_id,
1403: p_po_release_id,
1404: p_revision_num ) = FND_API.G_TRUE ) THEN
1405:
1406: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1407: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1408: l_api_name || '.All_Shipments_Acknowledged. ', 'Log');
1461: END IF;
1462:
1463:
1464: EXCEPTION
1465: WHEN FND_API.g_exc_error THEN
1466: x_return_status := FND_API.g_ret_sts_error;
1467: WHEN FND_API.g_exc_unexpected_error THEN
1468: x_return_status := FND_API.g_ret_sts_unexp_error;
1469: WHEN OTHERS THEN
1462:
1463:
1464: EXCEPTION
1465: WHEN FND_API.g_exc_error THEN
1466: x_return_status := FND_API.g_ret_sts_error;
1467: WHEN FND_API.g_exc_unexpected_error THEN
1468: x_return_status := FND_API.g_ret_sts_unexp_error;
1469: WHEN OTHERS THEN
1470: x_return_status := FND_API.g_ret_sts_unexp_error;
1463:
1464: EXCEPTION
1465: WHEN FND_API.g_exc_error THEN
1466: x_return_status := FND_API.g_ret_sts_error;
1467: WHEN FND_API.g_exc_unexpected_error THEN
1468: x_return_status := FND_API.g_ret_sts_unexp_error;
1469: WHEN OTHERS THEN
1470: x_return_status := FND_API.g_ret_sts_unexp_error;
1471: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1464: EXCEPTION
1465: WHEN FND_API.g_exc_error THEN
1466: x_return_status := FND_API.g_ret_sts_error;
1467: WHEN FND_API.g_exc_unexpected_error THEN
1468: x_return_status := FND_API.g_ret_sts_unexp_error;
1469: WHEN OTHERS THEN
1470: x_return_status := FND_API.g_ret_sts_unexp_error;
1471: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1472: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1466: x_return_status := FND_API.g_ret_sts_error;
1467: WHEN FND_API.g_exc_unexpected_error THEN
1468: x_return_status := FND_API.g_ret_sts_unexp_error;
1469: WHEN OTHERS THEN
1470: x_return_status := FND_API.g_ret_sts_unexp_error;
1471: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1472: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1473: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1474: FND_LOG.string(FND_LOG.level_unexpected, g_module_prefix ||
1570:
1571:
1572: BEGIN
1573:
1574: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1575: FND_MSG_PUB.initialize;
1576: END IF;
1577:
1578: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1574: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1575: FND_MSG_PUB.initialize;
1576: END IF;
1577:
1578: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1579: l_api_name, g_pkg_name)
1580: THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1577:
1578: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1579: l_api_name, g_pkg_name)
1580: THEN
1581: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1582: END IF;
1583:
1584: If (p_po_release_id is not null) then
1585: OPEN l_rel_ship_not_responded_csr;
1605:
1606: END IF;
1607:
1608: If (L_ship_not_responded_flag = 'Y') THEN
1609: return FND_API.G_FALSE;
1610: ELSE
1611: return FND_API.G_TRUE;
1612: END IF;
1613:
1607:
1608: If (L_ship_not_responded_flag = 'Y') THEN
1609: return FND_API.G_FALSE;
1610: ELSE
1611: return FND_API.G_TRUE;
1612: END IF;
1613:
1614: EXCEPTION
1615: WHEN OTHERS THEN
1634: * satisfied, post the header level acknowledgement record.
1635: * This API should be called after supplier submits the change requests and
1636: * after buyer responds to all supplier changes without revision increase.
1637: * Returns:
1638: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1639: * FND_API.G_RET_STS_ERROR if an error occurs
1640: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1641: */
1642: PROCEDURE Set_Header_Acknowledgement (
1635: * This API should be called after supplier submits the change requests and
1636: * after buyer responds to all supplier changes without revision increase.
1637: * Returns:
1638: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1639: * FND_API.G_RET_STS_ERROR if an error occurs
1640: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1641: */
1642: PROCEDURE Set_Header_Acknowledgement (
1643: p_api_version IN NUMBER,
1636: * after buyer responds to all supplier changes without revision increase.
1637: * Returns:
1638: * x_return_status - FND_API.G_RET_STS_SUCCESS if all messages are appended
1639: * FND_API.G_RET_STS_ERROR if an error occurs
1640: * FND_API.G_RET_STS_UNEXP_ERROR if unexpected error occurs
1641: */
1642: PROCEDURE Set_Header_Acknowledgement (
1643: p_api_version IN NUMBER,
1644: p_Init_Msg_List IN VARCHAR2,
1671: AND po_line_location_id is not null;
1672:
1673: BEGIN
1674:
1675: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1676: FND_MSG_PUB.initialize;
1677: END IF;
1678:
1679: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1675: IF fnd_api.to_boolean(P_Init_Msg_List) THEN
1676: FND_MSG_PUB.initialize;
1677: END IF;
1678:
1679: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1680: l_api_name, g_pkg_name)
1681: THEN
1682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1683: END IF;
1678:
1679: IF NOT FND_API.Compatible_API_Call(l_api_version, p_api_version,
1680: l_api_name, g_pkg_name)
1681: THEN
1682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1683: END IF;
1684:
1685: x_return_status := FND_API.G_RET_STS_SUCCESS;
1686:
1681: THEN
1682: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1683: END IF;
1684:
1685: x_return_status := FND_API.G_RET_STS_SUCCESS;
1686:
1687: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1688: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1689: l_api_name || '.invoked', 'po_header_id: ' ||
1729: acknowledged. */
1730: IF (NVL(l_change_requested_by, ' ') <> 'SUPPLIER' AND
1731: PO_ACKNOWLEDGE_PO_PVT.All_Shipments_Acknowledged (
1732: 1.0,
1733: FND_API.G_FALSE,
1734: P_po_header_id,
1735: p_po_release_id,
1736: l_revision_num ) = FND_API.G_TRUE ) THEN
1737:
1732: 1.0,
1733: FND_API.G_FALSE,
1734: P_po_header_id,
1735: p_po_release_id,
1736: l_revision_num ) = FND_API.G_TRUE ) THEN
1737:
1738: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1739: FND_LOG.string(FND_LOG.LEVEL_PROCEDURE, g_module_prefix ||
1740: l_api_name || '.All_Shipments_Acknowledged', 'po_header_id: ' ||
1819:
1820: END IF; -- End if all_shipments_acknowledged
1821:
1822: EXCEPTION
1823: WHEN FND_API.g_exc_error THEN
1824: x_return_status := FND_API.g_ret_sts_error;
1825: WHEN FND_API.g_exc_unexpected_error THEN
1826: x_return_status := FND_API.g_ret_sts_unexp_error;
1827: WHEN OTHERS THEN
1820: END IF; -- End if all_shipments_acknowledged
1821:
1822: EXCEPTION
1823: WHEN FND_API.g_exc_error THEN
1824: x_return_status := FND_API.g_ret_sts_error;
1825: WHEN FND_API.g_exc_unexpected_error THEN
1826: x_return_status := FND_API.g_ret_sts_unexp_error;
1827: WHEN OTHERS THEN
1828: x_return_status := FND_API.g_ret_sts_unexp_error;
1821:
1822: EXCEPTION
1823: WHEN FND_API.g_exc_error THEN
1824: x_return_status := FND_API.g_ret_sts_error;
1825: WHEN FND_API.g_exc_unexpected_error THEN
1826: x_return_status := FND_API.g_ret_sts_unexp_error;
1827: WHEN OTHERS THEN
1828: x_return_status := FND_API.g_ret_sts_unexp_error;
1829: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1822: EXCEPTION
1823: WHEN FND_API.g_exc_error THEN
1824: x_return_status := FND_API.g_ret_sts_error;
1825: WHEN FND_API.g_exc_unexpected_error THEN
1826: x_return_status := FND_API.g_ret_sts_unexp_error;
1827: WHEN OTHERS THEN
1828: x_return_status := FND_API.g_ret_sts_unexp_error;
1829: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1830: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1824: x_return_status := FND_API.g_ret_sts_error;
1825: WHEN FND_API.g_exc_unexpected_error THEN
1826: x_return_status := FND_API.g_ret_sts_unexp_error;
1827: WHEN OTHERS THEN
1828: x_return_status := FND_API.g_ret_sts_unexp_error;
1829: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_unexp_error) THEN
1830: FND_MSG_PUB.add_exc_msg(g_pkg_name, l_api_name);
1831: IF (g_fnd_debug = 'Y') AND FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1832: FND_LOG.string(FND_LOG.level_unexpected, g_module_prefix ||