633: WHERE person_id = l_approver_id
634: AND rownum <2;
635: EXCEPTION
636: WHEN NO_DATA_FOUND THEN
637: FND_MESSAGE.set_name('DPP', 'DPP_AME_NO_APP');
638: FND_MSG_PUB.add;
639: RAISE FND_API.G_EXC_ERROR;
640: WHEN OTHERS THEN
641: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
637: FND_MESSAGE.set_name('DPP', 'DPP_AME_NO_APP');
638: FND_MSG_PUB.add;
639: RAISE FND_API.G_EXC_ERROR;
640: WHEN OTHERS THEN
641: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
642: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
643: fnd_message.set_token('ERRNO', sqlcode);
644: fnd_message.set_token('REASON', sqlerrm);
645: FND_MSG_PUB.add;
638: FND_MSG_PUB.add;
639: RAISE FND_API.G_EXC_ERROR;
640: WHEN OTHERS THEN
641: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
642: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
643: fnd_message.set_token('ERRNO', sqlcode);
644: fnd_message.set_token('REASON', sqlerrm);
645: FND_MSG_PUB.add;
646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
639: RAISE FND_API.G_EXC_ERROR;
640: WHEN OTHERS THEN
641: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
642: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
643: fnd_message.set_token('ERRNO', sqlcode);
644: fnd_message.set_token('REASON', sqlerrm);
645: FND_MSG_PUB.add;
646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647: END;
640: WHEN OTHERS THEN
641: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
642: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
643: fnd_message.set_token('ERRNO', sqlcode);
644: fnd_message.set_token('REASON', sqlerrm);
645: FND_MSG_PUB.add;
646: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
647: END;
648: p_approversOut(1).first_name := l_first_name;
647: END;
648: p_approversOut(1).first_name := l_first_name;
649: p_approversOut(1).last_name := l_last_name;
650: ELSE
651: FND_MESSAGE.set_name('DPP', 'DPP_AME_NO_APP');
652: FND_MSG_PUB.add;
653: IF G_DEBUG THEN
654: dpp_utility_pvt.debug_message( 'No default approver set for the object type : '||p_approval_rec.object_type);
655: END IF;
673: AND sysdate BETWEEN effective_start_date AND effective_end_date;
674: EXCEPTION
675: WHEN NO_DATA_FOUND THEN
676: l_approver_email := NULL;
677: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_DETAIL');
678: FND_MSG_PUB.add;
679: RAISE FND_API.G_EXC_ERROR;
680: WHEN OTHERS THEN
681: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
677: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_DETAIL');
678: FND_MSG_PUB.add;
679: RAISE FND_API.G_EXC_ERROR;
680: WHEN OTHERS THEN
681: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
682: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
683: fnd_message.set_token('ERRNO', sqlcode);
684: fnd_message.set_token('REASON', sqlerrm);
685: FND_MSG_PUB.add;
678: FND_MSG_PUB.add;
679: RAISE FND_API.G_EXC_ERROR;
680: WHEN OTHERS THEN
681: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
682: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
683: fnd_message.set_token('ERRNO', sqlcode);
684: fnd_message.set_token('REASON', sqlerrm);
685: FND_MSG_PUB.add;
686: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
679: RAISE FND_API.G_EXC_ERROR;
680: WHEN OTHERS THEN
681: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
682: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
683: fnd_message.set_token('ERRNO', sqlcode);
684: fnd_message.set_token('REASON', sqlerrm);
685: FND_MSG_PUB.add;
686: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
687: END;
680: WHEN OTHERS THEN
681: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
682: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
683: fnd_message.set_token('ERRNO', sqlcode);
684: fnd_message.set_token('REASON', sqlerrm);
685: FND_MSG_PUB.add;
686: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
687: END;
688: ELSIF l_approversOut(i).user_id IS NOT NULL THEN -- If person id is null then retrieve the user id
692: FROM fnd_user
693: WHERE user_id = l_approversOut(i).user_id;
694: EXCEPTION
695: WHEN NO_DATA_FOUND THEN
696: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_DETAIL');
697: FND_MSG_PUB.add;
698: RAISE FND_API.G_EXC_ERROR;
699: WHEN OTHERS THEN
700: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
696: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_DETAIL');
697: FND_MSG_PUB.add;
698: RAISE FND_API.G_EXC_ERROR;
699: WHEN OTHERS THEN
700: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
701: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
702: fnd_message.set_token('ERRNO', sqlcode);
703: fnd_message.set_token('REASON', sqlerrm);
704: FND_MSG_PUB.add;
697: FND_MSG_PUB.add;
698: RAISE FND_API.G_EXC_ERROR;
699: WHEN OTHERS THEN
700: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
701: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
702: fnd_message.set_token('ERRNO', sqlcode);
703: fnd_message.set_token('REASON', sqlerrm);
704: FND_MSG_PUB.add;
705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
698: RAISE FND_API.G_EXC_ERROR;
699: WHEN OTHERS THEN
700: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
701: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
702: fnd_message.set_token('ERRNO', sqlcode);
703: fnd_message.set_token('REASON', sqlerrm);
704: FND_MSG_PUB.add;
705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
706: END;
699: WHEN OTHERS THEN
700: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
701: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
702: fnd_message.set_token('ERRNO', sqlcode);
703: fnd_message.set_token('REASON', sqlerrm);
704: FND_MSG_PUB.add;
705: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
706: END;
707: ELSE -- Both the person id and the user id are null
707: ELSE -- Both the person id and the user id are null
708: IF G_DEBUG THEN
709: dpp_utility_pvt.debug_message( 'No details retrieved for the Approver ');
710: END IF;
711: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_DETAIL');
712: FND_MSG_PUB.add;
713: l_approver_email := NULL;
714: END IF; --l_approversOut(i).person_id IS NOT NULL
715: --Retrieve the approval group name
719: FROM ame_approval_groups
720: WHERE approval_group_id = l_approversOut(i).group_or_chain_id;
721: EXCEPTION
722: WHEN NO_DATA_FOUND THEN
723: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_GRP_DETAIL');
724: FND_MSG_PUB.add;
725: RAISE FND_API.G_EXC_ERROR;
726: WHEN OTHERS THEN
727: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
723: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_GRP_DETAIL');
724: FND_MSG_PUB.add;
725: RAISE FND_API.G_EXC_ERROR;
726: WHEN OTHERS THEN
727: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
728: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
729: fnd_message.set_token('ERRNO', sqlcode);
730: fnd_message.set_token('REASON', sqlerrm);
731: FND_MSG_PUB.add;
724: FND_MSG_PUB.add;
725: RAISE FND_API.G_EXC_ERROR;
726: WHEN OTHERS THEN
727: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
728: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
729: fnd_message.set_token('ERRNO', sqlcode);
730: fnd_message.set_token('REASON', sqlerrm);
731: FND_MSG_PUB.add;
732: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
725: RAISE FND_API.G_EXC_ERROR;
726: WHEN OTHERS THEN
727: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
728: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
729: fnd_message.set_token('ERRNO', sqlcode);
730: fnd_message.set_token('REASON', sqlerrm);
731: FND_MSG_PUB.add;
732: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
733: END;
726: WHEN OTHERS THEN
727: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
728: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
729: fnd_message.set_token('ERRNO', sqlcode);
730: fnd_message.set_token('REASON', sqlerrm);
731: FND_MSG_PUB.add;
732: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
733: END;
734: --Retrieve the order number
739: WHERE approval_group_id = l_approversOut(i).group_or_chain_id
740: AND orig_system_id = nvl(l_approversOut(i).person_id,l_approversOut(i).user_id);
741: EXCEPTION
742: WHEN NO_DATA_FOUND THEN
743: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_SEQ');
744: FND_MSG_PUB.add;
745: RAISE FND_API.G_EXC_ERROR;
746: WHEN OTHERS THEN
747: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
743: FND_MESSAGE.set_name('DPP', 'DPP_NO_APP_SEQ');
744: FND_MSG_PUB.add;
745: RAISE FND_API.G_EXC_ERROR;
746: WHEN OTHERS THEN
747: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
748: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
749: fnd_message.set_token('ERRNO', sqlcode);
750: fnd_message.set_token('REASON', sqlerrm);
751: FND_MSG_PUB.add;
744: FND_MSG_PUB.add;
745: RAISE FND_API.G_EXC_ERROR;
746: WHEN OTHERS THEN
747: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
748: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
749: fnd_message.set_token('ERRNO', sqlcode);
750: fnd_message.set_token('REASON', sqlerrm);
751: FND_MSG_PUB.add;
752: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
745: RAISE FND_API.G_EXC_ERROR;
746: WHEN OTHERS THEN
747: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
748: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
749: fnd_message.set_token('ERRNO', sqlcode);
750: fnd_message.set_token('REASON', sqlerrm);
751: FND_MSG_PUB.add;
752: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
753: END;
746: WHEN OTHERS THEN
747: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
748: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
749: fnd_message.set_token('ERRNO', sqlcode);
750: fnd_message.set_token('REASON', sqlerrm);
751: FND_MSG_PUB.add;
752: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
753: END;
754: --Assign the approver details to the out variable
1083: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1084: END IF;
1085: -- Debug Message
1086: IF G_DEBUG THEN
1087: FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
1088: FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
1089: FND_MSG_PUB.Add;
1090: END IF;
1091: --Initialize message list if p_init_msg_list is TRUE.
1084: END IF;
1085: -- Debug Message
1086: IF G_DEBUG THEN
1087: FND_MESSAGE.Set_Name('OZF','OZF_API_DEBUG_MESSAGE');
1088: FND_MESSAGE.Set_Token('TEXT',l_api_name||': Start');
1089: FND_MSG_PUB.Add;
1090: END IF;
1091: --Initialize message list if p_init_msg_list is TRUE.
1092: IF FND_API.To_Boolean (p_init_msg_list) THEN
1763: FROM dpp_transaction_headers_all
1764: WHERE transaction_header_id = p_approval_rec.object_id;
1765: EXCEPTION
1766: WHEN NO_DATA_FOUND THEN
1767: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1768: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1769: fnd_message.set_token('ERRNO', sqlcode);
1770: fnd_message.set_token('REASON', 'Invalid Transaction Header ID');
1771: FND_MSG_PUB.add;
1764: WHERE transaction_header_id = p_approval_rec.object_id;
1765: EXCEPTION
1766: WHEN NO_DATA_FOUND THEN
1767: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1768: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1769: fnd_message.set_token('ERRNO', sqlcode);
1770: fnd_message.set_token('REASON', 'Invalid Transaction Header ID');
1771: FND_MSG_PUB.add;
1772: RAISE FND_API.G_EXC_ERROR;
1765: EXCEPTION
1766: WHEN NO_DATA_FOUND THEN
1767: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1768: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1769: fnd_message.set_token('ERRNO', sqlcode);
1770: fnd_message.set_token('REASON', 'Invalid Transaction Header ID');
1771: FND_MSG_PUB.add;
1772: RAISE FND_API.G_EXC_ERROR;
1773: WHEN OTHERS THEN
1766: WHEN NO_DATA_FOUND THEN
1767: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1768: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1769: fnd_message.set_token('ERRNO', sqlcode);
1770: fnd_message.set_token('REASON', 'Invalid Transaction Header ID');
1771: FND_MSG_PUB.add;
1772: RAISE FND_API.G_EXC_ERROR;
1773: WHEN OTHERS THEN
1774: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1770: fnd_message.set_token('REASON', 'Invalid Transaction Header ID');
1771: FND_MSG_PUB.add;
1772: RAISE FND_API.G_EXC_ERROR;
1773: WHEN OTHERS THEN
1774: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1775: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1776: fnd_message.set_token('ERRNO', sqlcode);
1777: fnd_message.set_token('REASON', sqlerrm);
1778: FND_MSG_PUB.add;
1771: FND_MSG_PUB.add;
1772: RAISE FND_API.G_EXC_ERROR;
1773: WHEN OTHERS THEN
1774: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1775: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1776: fnd_message.set_token('ERRNO', sqlcode);
1777: fnd_message.set_token('REASON', sqlerrm);
1778: FND_MSG_PUB.add;
1779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1772: RAISE FND_API.G_EXC_ERROR;
1773: WHEN OTHERS THEN
1774: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1775: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1776: fnd_message.set_token('ERRNO', sqlcode);
1777: fnd_message.set_token('REASON', sqlerrm);
1778: FND_MSG_PUB.add;
1779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1780: END;
1773: WHEN OTHERS THEN
1774: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1775: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1776: fnd_message.set_token('ERRNO', sqlcode);
1777: fnd_message.set_token('REASON', sqlerrm);
1778: FND_MSG_PUB.add;
1779: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1780: END;
1781: -- Update AME/approval tbl of users action and revoke access to existing approvers
1921: END IF;
1922: EXCEPTION
1923: WHEN OTHERS THEN
1924: ROLLBACK;
1925: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1926: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1927: fnd_message.set_token('ERRNO', sqlcode);
1928: fnd_message.set_token('REASON', sqlerrm);
1929: FND_MSG_PUB.add;
1922: EXCEPTION
1923: WHEN OTHERS THEN
1924: ROLLBACK;
1925: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1926: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1927: fnd_message.set_token('ERRNO', sqlcode);
1928: fnd_message.set_token('REASON', sqlerrm);
1929: FND_MSG_PUB.add;
1930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1923: WHEN OTHERS THEN
1924: ROLLBACK;
1925: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1926: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1927: fnd_message.set_token('ERRNO', sqlcode);
1928: fnd_message.set_token('REASON', sqlerrm);
1929: FND_MSG_PUB.add;
1930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1931: END;
1924: ROLLBACK;
1925: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
1926: fnd_message.set_token('ROUTINE', 'DPP_APPROVAL_PVT');
1927: fnd_message.set_token('ERRNO', sqlcode);
1928: fnd_message.set_token('REASON', sqlerrm);
1929: FND_MSG_PUB.add;
1930: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1931: END;
1932: --Call the Initiate execution process program to make the transaction Active