50: 'N'
51: );
52: END IF;
53:
54: IF (p_person_id = fnd_api.g_miss_num)
55: THEN
56: l_person_id := NULL;
57: ELSE
58: l_person_id := p_person_id;
57: ELSE
58: l_person_id := p_person_id;
59: END IF;
60:
61: IF (p_user_id = fnd_api.g_miss_num)
62: THEN
63: l_user_id := NULL;
64: ELSE
65: l_user_id := p_user_id;
179: 'PERSON_ID',
180: p_person_id
181: );
182: fnd_msg_pub.ADD;
183: RAISE fnd_api.g_exc_error;
184: WHEN OTHERS
185: THEN
186: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
187: aso_debug_pub.ADD (
202: 'PERSON_ID',
203: p_person_id
204: );
205: fnd_msg_pub.ADD;
206: RAISE fnd_api.g_exc_error;
207: END get_approver_name;
208:
209: PROCEDURE get_all_approvers (
210: p_api_version_number IN NUMBER,
207: END get_approver_name;
208:
209: PROCEDURE get_all_approvers (
210: p_api_version_number IN NUMBER,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
212: p_commit IN VARCHAR2 := fnd_api.g_false,
213: p_object_id IN NUMBER,
214: p_object_type IN VARCHAR2,
215: p_application_id IN NUMBER,
208:
209: PROCEDURE get_all_approvers (
210: p_api_version_number IN NUMBER,
211: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
212: p_commit IN VARCHAR2 := fnd_api.g_false,
213: p_object_id IN NUMBER,
214: p_object_type IN VARCHAR2,
215: p_application_id IN NUMBER,
216: p_clear_transaction_flag IN VARCHAR2 := fnd_api.g_true,
212: p_commit IN VARCHAR2 := fnd_api.g_false,
213: p_object_id IN NUMBER,
214: p_object_type IN VARCHAR2,
215: p_application_id IN NUMBER,
216: p_clear_transaction_flag IN VARCHAR2 := fnd_api.g_true,
217: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
218: x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
219: x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
220: x_approvers_list OUT NOCOPY /* file.sql.39 change */ aso_apr_pub.approvers_list_tbl_type,
270: SAVEPOINT get_all_approvers_int;
271:
272: -- Standard call to check for call compatibility.
273:
274: IF NOT fnd_api.compatible_api_call (
275: l_api_version,
276: p_api_version_number,
277: l_api_name,
278: g_pkg_name
284: 1,
285: 'N'
286: );
287: END IF;
288: RAISE fnd_api.g_exc_unexpected_error;
289: END IF;
290:
291: -- Initialize message list if p_init_msg_list is set to TRUE
292:
289: END IF;
290:
291: -- Initialize message list if p_init_msg_list is set to TRUE
292:
293: IF fnd_api.to_boolean (
294: p_init_msg_list
295: )
296: THEN
297: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
305: END IF;
306:
307: -- Initialize API return status to success
308:
309: x_return_status := fnd_api.g_ret_sts_success;
310:
311: -- Clear all transactions if the flag is set to true
312:
313: IF fnd_api.to_boolean (
309: x_return_status := fnd_api.g_ret_sts_success;
310:
311: -- Clear all transactions if the flag is set to true
312:
313: IF fnd_api.to_boolean (
314: p_clear_transaction_flag
315: )
316: THEN
317: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
502: END LOOP;
503:
504: -- commit the work
505:
506: IF fnd_api.to_boolean (
507: p_commit
508: )
509: THEN
510: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
524: 'N'
525: );
526: END IF;
527: EXCEPTION
528: WHEN fnd_api.g_exc_error
529: THEN
530: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
531: aso_debug_pub.ADD (
532: 'Exception FND_API.G_EXC_ERROR in get_all_approvers ',
528: WHEN fnd_api.g_exc_error
529: THEN
530: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
531: aso_debug_pub.ADD (
532: 'Exception FND_API.G_EXC_ERROR in get_all_approvers ',
533: 1,
534: 'N'
535: );
536: END IF;
544: x_msg_count => x_msg_count,
545: x_msg_data => x_msg_data,
546: x_return_status => x_return_status
547: );
548: WHEN fnd_api.g_exc_unexpected_error
549: THEN
550: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
551: aso_debug_pub.ADD (
552: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in get_all_approvers ',
548: WHEN fnd_api.g_exc_unexpected_error
549: THEN
550: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
551: aso_debug_pub.ADD (
552: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in get_all_approvers ',
553: 1,
554: 'N'
555: );
556: END IF;
588: END get_all_approvers;
589:
590: PROCEDURE start_approval_process (
591: p_api_version_number IN NUMBER,
592: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
593: p_commit IN VARCHAR2 := fnd_api.g_false,
594: p_object_id IN NUMBER,
595: p_object_type IN VARCHAR2,
596: p_application_id IN NUMBER,
589:
590: PROCEDURE start_approval_process (
591: p_api_version_number IN NUMBER,
592: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
593: p_commit IN VARCHAR2 := fnd_api.g_false,
594: p_object_id IN NUMBER,
595: p_object_type IN VARCHAR2,
596: p_application_id IN NUMBER,
597: p_approver_sequence IN NUMBER := fnd_api.g_miss_num,
593: p_commit IN VARCHAR2 := fnd_api.g_false,
594: p_object_id IN NUMBER,
595: p_object_type IN VARCHAR2,
596: p_application_id IN NUMBER,
597: p_approver_sequence IN NUMBER := fnd_api.g_miss_num,
598: p_requester_comments IN VARCHAR2,
599: x_object_approval_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
600: x_approval_instance_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
601: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
688: END IF;
689: SAVEPOINT start_approval_process_int;
690:
691: -- Standard call to check for call compatibility.
692: IF NOT fnd_api.compatible_api_call (
693: l_api_version,
694: p_api_version_number,
695: l_api_name,
696: g_pkg_name
702: 1,
703: 'N'
704: );
705: END IF;
706: RAISE fnd_api.g_exc_unexpected_error;
707: END IF;
708:
709: -- Initialize message list if p_init_msg_list is set to TRUE
710:
707: END IF;
708:
709: -- Initialize message list if p_init_msg_list is set to TRUE
710:
711: IF fnd_api.to_boolean (
712: p_init_msg_list
713: )
714: THEN
715: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
722: fnd_msg_pub.initialize;
723: END IF;
724:
725: -- Initialize API return status to success
726: x_return_status := fnd_api.g_ret_sts_success;
727:
728:
729: OPEN C_get_duplicate_approval;
730: FETCH C_get_duplicate_approval INTO l_dup_approval ;
745: END IF;
746:
747: -- Initializing the approver sequnce , used later in skip logic
748: IF (p_approver_sequence IS NULL)
749: OR (p_approver_sequence = fnd_api.g_miss_num)
750: THEN
751: l_approver_sequence := 0;
752: ELSE
753: l_approver_sequence := p_approver_sequence;
925: );
926: END IF;
927: aso_apr_int.get_all_approvers (
928: p_api_version_number,
929: fnd_api.g_false,
930: fnd_api.g_false,
931: p_object_id,
932: p_object_type,
933: p_application_id,
926: END IF;
927: aso_apr_int.get_all_approvers (
928: p_api_version_number,
929: fnd_api.g_false,
930: fnd_api.g_false,
931: p_object_id,
932: p_object_type,
933: p_application_id,
934: fnd_api.g_true, -- p_clear_transaction_flag
930: fnd_api.g_false,
931: p_object_id,
932: p_object_type,
933: p_application_id,
934: fnd_api.g_true, -- p_clear_transaction_flag
935: l_return_status,
936: l_msg_count,
937: l_msg_data,
938: x_approvers_list,
947: END IF;
948:
949: -- Checking to find if the call to above API was successfull or not
950:
951: IF l_return_status <> fnd_api.g_ret_sts_success
952: THEN
953: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
954: aso_debug_pub.ADD (
955: 'Return Status from get_all_approvers is ' || x_return_status,
956: 1,
957: 'N'
958: );
959: END IF;
960: RAISE fnd_api.g_exc_error;
961: ELSE
962: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
963: aso_debug_pub.ADD (
964: 'No of approvers is ' || x_approvers_list.COUNT,
991: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
992: aso_debug_pub.ADD ('person_id got from AME is: '||to_char(l_employee_id),1,'N');
993: END IF;
994:
995: IF ((x_approvers_list(i).approver_person_id is null) or (x_approvers_list(i).approver_person_id = fnd_api.g_miss_num) and
996: (x_approvers_list(i).approver_user_id is not null) and (x_approvers_list(i).approver_user_id <> fnd_api.g_miss_num)) then
997:
998: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
999: aso_debug_pub.ADD ('Person_id is null from AME Hence deriving it from user_id',1,'N');
992: aso_debug_pub.ADD ('person_id got from AME is: '||to_char(l_employee_id),1,'N');
993: END IF;
994:
995: IF ((x_approvers_list(i).approver_person_id is null) or (x_approvers_list(i).approver_person_id = fnd_api.g_miss_num) and
996: (x_approvers_list(i).approver_user_id is not null) and (x_approvers_list(i).approver_user_id <> fnd_api.g_miss_num)) then
997:
998: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
999: aso_debug_pub.ADD ('Person_id is null from AME Hence deriving it from user_id',1,'N');
1000: END IF;
1219: END IF;
1220:
1221: -- commit the work
1222:
1223: IF fnd_api.to_boolean (
1224: p_commit
1225: )
1226: THEN
1227: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1241: 'N'
1242: );
1243: END IF;
1244: EXCEPTION
1245: WHEN fnd_api.g_exc_error
1246: THEN
1247: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1248: aso_debug_pub.ADD (
1249: 'Exception FND_API.G_EXC_ERROR in start_approval_process',
1245: WHEN fnd_api.g_exc_error
1246: THEN
1247: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1248: aso_debug_pub.ADD (
1249: 'Exception FND_API.G_EXC_ERROR in start_approval_process',
1250: 1,
1251: 'N'
1252: );
1253: END IF;
1261: x_msg_count => x_msg_count,
1262: x_msg_data => x_msg_data,
1263: x_return_status => x_return_status
1264: );
1265: WHEN fnd_api.g_exc_unexpected_error
1266: THEN
1267: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1268: aso_debug_pub.ADD (
1269: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in start_approval_process',
1265: WHEN fnd_api.g_exc_unexpected_error
1266: THEN
1267: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1268: aso_debug_pub.ADD (
1269: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in start_approval_process',
1270: 1,
1271: 'N'
1272: );
1273: END IF;
1306: END start_approval_process;
1307:
1308: PROCEDURE cancel_approval_process (
1309: p_api_version_number IN NUMBER,
1310: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1311: p_commit IN VARCHAR2 := fnd_api.g_false,
1312: p_object_id IN NUMBER,
1313: p_object_type IN VARCHAR2,
1314: p_application_id IN NUMBER,
1307:
1308: PROCEDURE cancel_approval_process (
1309: p_api_version_number IN NUMBER,
1310: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1311: p_commit IN VARCHAR2 := fnd_api.g_false,
1312: p_object_id IN NUMBER,
1313: p_object_type IN VARCHAR2,
1314: p_application_id IN NUMBER,
1315: p_itemtype IN VARCHAR2,
1383: END IF;
1384: SAVEPOINT cancel_approval_process_int;
1385:
1386: -- Standard call to check for call compatibility.
1387: IF NOT fnd_api.compatible_api_call (
1388: l_api_version,
1389: p_api_version_number,
1390: l_api_name,
1391: g_pkg_name
1397: 1,
1398: 'N'
1399: );
1400: END IF;
1401: RAISE fnd_api.g_exc_unexpected_error;
1402: END IF;
1403:
1404: -- Initialize message list if p_init_msg_list is set to TRUE
1405:
1402: END IF;
1403:
1404: -- Initialize message list if p_init_msg_list is set to TRUE
1405:
1406: IF fnd_api.to_boolean (
1407: p_init_msg_list
1408: )
1409: THEN
1410: fnd_msg_pub.initialize;
1410: fnd_msg_pub.initialize;
1411: END IF;
1412:
1413: -- Initialize API return status to success
1414: x_return_status := fnd_api.g_ret_sts_success;
1415:
1416: -- Check to see if required parameters are passed
1417: IF ( ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) AND
1418: ((p_object_id IS NULL) OR (p_object_id = FND_API.G_MISS_NUM)) AND
1413: -- Initialize API return status to success
1414: x_return_status := fnd_api.g_ret_sts_success;
1415:
1416: -- Check to see if required parameters are passed
1417: IF ( ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) AND
1418: ((p_object_id IS NULL) OR (p_object_id = FND_API.G_MISS_NUM)) AND
1419: ((p_object_type IS NULL) OR (p_object_type = FND_API.G_MISS_CHAR)) ) THEN
1420:
1421: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1414: x_return_status := fnd_api.g_ret_sts_success;
1415:
1416: -- Check to see if required parameters are passed
1417: IF ( ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) AND
1418: ((p_object_id IS NULL) OR (p_object_id = FND_API.G_MISS_NUM)) AND
1419: ((p_object_type IS NULL) OR (p_object_type = FND_API.G_MISS_CHAR)) ) THEN
1420:
1421: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1422: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1415:
1416: -- Check to see if required parameters are passed
1417: IF ( ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) AND
1418: ((p_object_id IS NULL) OR (p_object_id = FND_API.G_MISS_NUM)) AND
1419: ((p_object_type IS NULL) OR (p_object_type = FND_API.G_MISS_CHAR)) ) THEN
1420:
1421: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1422: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1423: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1421: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1422: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1423: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1424: FND_MSG_PUB.ADD;
1425: RAISE FND_API.G_EXC_ERROR;
1426: END IF;
1427:
1428: IF (p_object_approval_id IS NULL)
1429: OR (p_object_approval_id = fnd_api.g_miss_num)
1425: RAISE FND_API.G_EXC_ERROR;
1426: END IF;
1427:
1428: IF (p_object_approval_id IS NULL)
1429: OR (p_object_approval_id = fnd_api.g_miss_num)
1430: THEN
1431: FOR i IN get_approval_id (
1432: p_object_id,
1433: p_object_type
1475: END IF;
1476:
1477: -- Commit the work
1478:
1479: IF fnd_api.to_boolean (
1480: p_commit
1481: )
1482: THEN
1483: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1505: 'N'
1506: );
1507: END IF;
1508: EXCEPTION
1509: WHEN fnd_api.g_exc_error
1510: THEN
1511: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1512: aso_debug_pub.ADD (
1513: 'Exception FND_API.G_EXC_ERROR in CancelApproval',
1509: WHEN fnd_api.g_exc_error
1510: THEN
1511: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1512: aso_debug_pub.ADD (
1513: 'Exception FND_API.G_EXC_ERROR in CancelApproval',
1514: 1,
1515: 'N'
1516: );
1517: END IF;
1525: x_msg_count => x_msg_count,
1526: x_msg_data => x_msg_data,
1527: x_return_status => x_return_status
1528: );
1529: WHEN fnd_api.g_exc_unexpected_error
1530: THEN
1531: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1532: aso_debug_pub.ADD (
1533: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in CancelApproval',
1529: WHEN fnd_api.g_exc_unexpected_error
1530: THEN
1531: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1532: aso_debug_pub.ADD (
1533: 'Exception FND_API.G_EXC_UNEXPECTED_ERROR in CancelApproval',
1534: 1,
1535: 'N'
1536: );
1537: END IF;
1569: END cancel_approval_process;
1570:
1571: PROCEDURE skip_approver (
1572: p_api_version_number IN NUMBER,
1573: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1574: p_commit IN VARCHAR2 := fnd_api.g_false,
1575: p_object_id IN NUMBER,
1576: p_object_type IN VARCHAR2,
1577: p_approver_id IN NUMBER,
1570:
1571: PROCEDURE skip_approver (
1572: p_api_version_number IN NUMBER,
1573: p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
1574: p_commit IN VARCHAR2 := fnd_api.g_false,
1575: p_object_id IN NUMBER,
1576: p_object_type IN VARCHAR2,
1577: p_approver_id IN NUMBER,
1578: p_approval_instance_id IN NUMBER,
1592: );
1593: END IF;
1594:
1595: -- Standard call to check for call compatibility.
1596: IF NOT fnd_api.compatible_api_call (
1597: l_api_version,
1598: p_api_version_number,
1599: l_api_name,
1600: g_pkg_name
1599: l_api_name,
1600: g_pkg_name
1601: )
1602: THEN
1603: RAISE fnd_api.g_exc_unexpected_error;
1604: END IF;
1605:
1606: -- Initialize message list if p_init_msg_list is set to TRUE
1607:
1604: END IF;
1605:
1606: -- Initialize message list if p_init_msg_list is set to TRUE
1607:
1608: IF fnd_api.to_boolean (
1609: p_init_msg_list
1610: )
1611: THEN
1612: fnd_msg_pub.initialize;
1612: fnd_msg_pub.initialize;
1613: END IF;
1614:
1615: -- Initialize API return status to success
1616: x_return_status := fnd_api.g_ret_sts_success;
1617: EXCEPTION
1618: WHEN fnd_api.g_exc_error
1619: THEN
1620: aso_utility_pvt.handle_exceptions (
1614:
1615: -- Initialize API return status to success
1616: x_return_status := fnd_api.g_ret_sts_success;
1617: EXCEPTION
1618: WHEN fnd_api.g_exc_error
1619: THEN
1620: aso_utility_pvt.handle_exceptions (
1621: p_api_name => l_api_name,
1622: p_pkg_name => g_pkg_name,
1627: x_msg_count => x_msg_count,
1628: x_msg_data => x_msg_data,
1629: x_return_status => x_return_status
1630: );
1631: WHEN fnd_api.g_exc_unexpected_error
1632: THEN
1633: aso_utility_pvt.handle_exceptions (
1634: p_api_name => l_api_name,
1635: p_pkg_name => g_pkg_name,
1658:
1659:
1660: PROCEDURE get_rule_details (
1661: p_api_version_number IN NUMBER,
1662: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1663: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1664: p_object_approval_id IN NUMBER,
1665: x_rules_list OUT NOCOPY /* file.sql.39 change */ aso_apr_pub.rules_list_tbl_type,
1666: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1659:
1660: PROCEDURE get_rule_details (
1661: p_api_version_number IN NUMBER,
1662: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1663: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1664: p_object_approval_id IN NUMBER,
1665: x_rules_list OUT NOCOPY /* file.sql.39 change */ aso_apr_pub.rules_list_tbl_type,
1666: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1667: x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
1691: );
1692: END IF;
1693:
1694: -- Standard call to check for call compatibility.
1695: IF NOT fnd_api.compatible_api_call (
1696: l_api_version,
1697: p_api_version_number,
1698: l_api_name,
1699: g_pkg_name
1698: l_api_name,
1699: g_pkg_name
1700: )
1701: THEN
1702: RAISE fnd_api.g_exc_unexpected_error;
1703: END IF;
1704:
1705: -- Initialize message list if p_init_msg_list is set to TRUE
1706: IF fnd_api.to_boolean (
1702: RAISE fnd_api.g_exc_unexpected_error;
1703: END IF;
1704:
1705: -- Initialize message list if p_init_msg_list is set to TRUE
1706: IF fnd_api.to_boolean (
1707: p_init_msg_list
1708: )
1709: THEN
1710: fnd_msg_pub.initialize;
1710: fnd_msg_pub.initialize;
1711: END IF;
1712:
1713: -- Initialize API return status to success
1714: x_return_status := fnd_api.g_ret_sts_success;
1715:
1716: FOR i IN get_rule_ids(p_object_approval_id)
1717: LOOP
1718: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1758:
1759:
1760:
1761: EXCEPTION
1762: WHEN fnd_api.g_exc_error
1763: THEN
1764: aso_utility_pvt.handle_exceptions (
1765: p_api_name => l_api_name,
1766: p_pkg_name => g_pkg_name,
1771: x_msg_count => x_msg_count,
1772: x_msg_data => x_msg_data,
1773: x_return_status => x_return_status
1774: );
1775: WHEN fnd_api.g_exc_unexpected_error
1776: THEN
1777: aso_utility_pvt.handle_exceptions (
1778: p_api_name => l_api_name,
1779: p_pkg_name => g_pkg_name,
1801: END get_rule_details;
1802:
1803: PROCEDURE start_approval_workflow (
1804: p_api_version_number IN NUMBER,
1805: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1806: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1807: P_Object_approval_id IN NUMBER,
1808: P_itemtype IN VARCHAR2,
1809: P_sender_name IN VARCHAR2,
1802:
1803: PROCEDURE start_approval_workflow (
1804: p_api_version_number IN NUMBER,
1805: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1806: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1807: P_Object_approval_id IN NUMBER,
1808: P_itemtype IN VARCHAR2,
1809: P_sender_name IN VARCHAR2,
1810: x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
1845: );
1846: END IF;
1847:
1848: -- Standard call to check for call compatibility.
1849: IF NOT fnd_api.compatible_api_call (
1850: l_api_version,
1851: p_api_version_number,
1852: l_api_name,
1853: g_pkg_name
1852: l_api_name,
1853: g_pkg_name
1854: )
1855: THEN
1856: RAISE fnd_api.g_exc_unexpected_error;
1857: END IF;
1858:
1859: -- Initialize message list if p_init_msg_list is set to TRUE
1860: IF fnd_api.to_boolean (
1856: RAISE fnd_api.g_exc_unexpected_error;
1857: END IF;
1858:
1859: -- Initialize message list if p_init_msg_list is set to TRUE
1860: IF fnd_api.to_boolean (
1861: p_init_msg_list
1862: )
1863: THEN
1864: fnd_msg_pub.initialize;
1864: fnd_msg_pub.initialize;
1865: END IF;
1866:
1867: -- Initialize API return status to success
1868: x_return_status := fnd_api.g_ret_sts_success;
1869:
1870: -- Check to see if required parameters are passed
1871: IF ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) THEN
1872: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1867: -- Initialize API return status to success
1868: x_return_status := fnd_api.g_ret_sts_success;
1869:
1870: -- Check to see if required parameters are passed
1871: IF ((P_Object_approval_id IS NULL) OR (P_Object_approval_id = FND_API.G_MISS_NUM)) THEN
1872: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1873: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1874: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1875: FND_MSG_PUB.ADD;
1872: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1873: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1874: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1875: FND_MSG_PUB.ADD;
1876: RAISE FND_API.G_EXC_ERROR;
1877: ELSIF ((P_itemtype IS NULL) OR (P_itemtype = FND_API.G_MISS_CHAR)) THEN
1878: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1879: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1880: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1873: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1874: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1875: FND_MSG_PUB.ADD;
1876: RAISE FND_API.G_EXC_ERROR;
1877: ELSIF ((P_itemtype IS NULL) OR (P_itemtype = FND_API.G_MISS_CHAR)) THEN
1878: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1879: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1880: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1881: FND_MSG_PUB.ADD;
1878: FND_MESSAGE.Set_Name ('ASO' , 'ASO_API_INVALID_ID' );
1879: FND_MESSAGE.Set_Token ('COLUMN' , 'P_Object_approval_id', FALSE );
1880: FND_MESSAGE.Set_Token ( 'VALUE' , TO_CHAR ( P_Object_approval_id ) , FALSE );
1881: FND_MSG_PUB.ADD;
1882: RAISE FND_API.G_EXC_ERROR;
1883: END IF;
1884:
1885: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1886: aso_debug_pub.ADD (
1906:
1907:
1908: -- Commit the work
1909:
1910: IF fnd_api.to_boolean (
1911: p_commit
1912: )
1913: THEN
1914: IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
1940: END IF;
1941:
1942:
1943: EXCEPTION
1944: WHEN fnd_api.g_exc_error
1945: THEN
1946: aso_utility_pvt.handle_exceptions (
1947: p_api_name => l_api_name,
1948: p_pkg_name => g_pkg_name,
1953: x_msg_count => x_msg_count,
1954: x_msg_data => x_msg_data,
1955: x_return_status => x_return_status
1956: );
1957: WHEN fnd_api.g_exc_unexpected_error
1958: THEN
1959: aso_utility_pvt.handle_exceptions (
1960: p_api_name => l_api_name,
1961: p_pkg_name => g_pkg_name,
2016: aso_debug_pub.add('upd_status_self_appr: BEGIN ', 1, 'Y');
2017: END IF;
2018:
2019: -- Initialize API return status to success
2020: x_return_status := fnd_api.g_ret_sts_success;
2021:
2022: SAVEPOINT upd_status_self_appr_int;
2023:
2024: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2034: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_UPDATE_TARGET');
2035: FND_MESSAGE.Set_Token ('INFO', 'quote', FALSE);
2036: FND_MSG_PUB.Add;
2037: END IF;
2038: raise FND_API.G_EXC_ERROR;
2039: END IF;
2040: Close c_get_qte_info;
2041:
2042: IF aso_debug_pub.g_debug_flag = 'Y' THEN
2043: aso_debug_pub.add('upd_status_self_appr: l_LAST_UPDATE_DATE: '|| l_LAST_UPDATE_DATE, 1, 'Y');
2044: aso_debug_pub.add('upd_status_self_appr: l_object_version_number: '|| l_object_version_number,1,'Y');
2045: END IF;
2046:
2047: If (l_last_update_date is NULL or l_last_update_date = FND_API.G_MISS_Date ) Then
2048: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2049: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
2050: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
2051: FND_MSG_PUB.ADD;
2049: FND_MESSAGE.Set_Name('ASO', 'ASO_API_MISSING_COLUMN');
2050: FND_MESSAGE.Set_Token('COLUMN', 'Last_Update_Date', FALSE);
2051: FND_MSG_PUB.ADD;
2052: END IF;
2053: raise FND_API.G_EXC_ERROR;
2054: End if;
2055:
2056: -- Check Whether record has been changed by someone else
2057: If ( (l_last_update_date <> p_last_update_date ) OR (l_object_version_number <> p_obj_ver_num ) ) Then
2059: FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
2060: FND_MESSAGE.Set_Token('INFO', 'quote', FALSE);
2061: FND_MSG_PUB.ADD;
2062: END IF;
2063: raise FND_API.G_EXC_ERROR;
2064: End if;
2065:
2066: OPEN C_Get_Status;
2067: FETCH C_Get_Status into l_status_id;
2094: aso_debug_pub.add('upd_status_self_appr: END ', 1, 'Y');
2095: END IF;
2096:
2097: EXCEPTION
2098: WHEN fnd_api.g_exc_error
2099: THEN
2100: aso_utility_pvt.handle_exceptions (
2101: p_api_name => l_api_name,
2102: p_pkg_name => g_pkg_name,
2107: x_msg_count => x_msg_count,
2108: x_msg_data => x_msg_data,
2109: x_return_status => x_return_status
2110: );
2111: WHEN fnd_api.g_exc_unexpected_error
2112: THEN
2113: aso_utility_pvt.handle_exceptions (
2114: p_api_name => l_api_name,
2115: p_pkg_name => g_pkg_name,