145: -- API savepoint
146: SAVEPOINT Launch_Workflow_PUB;
147:
148: -- Check version number
149: IF NOT FND_API.Compatible_API_Call( l_api_version,
150: p_api_version,
151: l_api_name,
152: G_PKG_NAME ) THEN
153: raise FND_API.G_EXC_UNEXPECTED_ERROR;
149: IF NOT FND_API.Compatible_API_Call( l_api_version,
150: p_api_version,
151: l_api_name,
152: G_PKG_NAME ) THEN
153: raise FND_API.G_EXC_UNEXPECTED_ERROR;
154: END IF;
155:
156: IF FND_API.to_Boolean( p_init_msg_list ) THEN
157: FND_MSG_PUB.initialize;
152: G_PKG_NAME ) THEN
153: raise FND_API.G_EXC_UNEXPECTED_ERROR;
154: END IF;
155:
156: IF FND_API.to_Boolean( p_init_msg_list ) THEN
157: FND_MSG_PUB.initialize;
158: END IF;
159:
160: -- Initialize return status to SUCCESS
157: FND_MSG_PUB.initialize;
158: END IF;
159:
160: -- Initialize return status to SUCCESS
161: p_return_status := FND_API.G_RET_STS_SUCCESS;
162:
163: -- Set nowait option
164: IF FND_API.to_Boolean( p_nowait ) THEN
165: l_nowait := TRUE;
160: -- Initialize return status to SUCCESS
161: p_return_status := FND_API.G_RET_STS_SUCCESS;
162:
163: -- Set nowait option
164: IF FND_API.to_Boolean( p_nowait ) THEN
165: l_nowait := TRUE;
166: END IF;
167:
168: -- Get the Workflow Administrator Role
294: END IF;
295:
296: IF p_initiator_user_id = -1 OR
297: p_initiator_user_id IS NULL OR
298: p_initiator_user_id = FND_API.G_MISS_NUM THEN
299: l_user_id := FND_GLOBAL.User_Id;
300: ELSE
301: l_user_id := p_initiator_user_id;
302: END IF;
303:
304:
305: IF p_initiator_resp_id = -1 OR
306: p_initiator_resp_id IS NULL OR
307: p_initiator_resp_id = FND_API.G_MISS_NUM THEN
308: l_resp_id := FND_GLOBAL.resp_Id;
309: ELSE
310: l_resp_id := p_initiator_resp_id;
311: END IF;
312:
313:
314: IF p_initiator_resp_appl_id = -1 OR
315: p_initiator_resp_appl_id IS NULL OR
316: p_initiator_resp_appl_id = FND_API.G_MISS_NUM THEN
317: l_resp_appl_id := FND_GLOBAL.resp_appl_Id;
318: ELSE
319: l_resp_appl_id := p_initiator_resp_appl_id;
320: END IF;
443:
444: END IF;
445:
446: -- Insert audit record
447: l_change_flags_rec.new_workflow := FND_API.G_TRUE;
448:
449: CS_ServiceRequest_PVT.Create_Audit_Record (
450: p_api_version => 2.0,
451: p_init_msg_list => FND_API.G_FALSE,
447: l_change_flags_rec.new_workflow := FND_API.G_TRUE;
448:
449: CS_ServiceRequest_PVT.Create_Audit_Record (
450: p_api_version => 2.0,
451: p_init_msg_list => FND_API.G_FALSE,
452: p_commit => FND_API.G_FALSE,
453: x_return_status => l_return_status,
454: x_msg_count => l_msg_count,
455: x_msg_data => l_msg_data,
448:
449: CS_ServiceRequest_PVT.Create_Audit_Record (
450: p_api_version => 2.0,
451: p_init_msg_list => FND_API.G_FALSE,
452: p_commit => FND_API.G_FALSE,
453: x_return_status => l_return_status,
454: x_msg_count => l_msg_count,
455: x_msg_data => l_msg_data,
456: p_request_id => l_request_id,
503:
504: /******************
505: CS_ServiceRequest_PVT.Update_ServiceRequest
506: ( p_api_version => 3.0, -- Changed from 2.0 for 11.5.9
507: p_init_msg_list => fnd_api.g_false,
508: p_commit => fnd_api.g_false,
509: p_validation_level => fnd_api.g_valid_level_full,
510: x_return_status => l_return_status,
511: x_msg_count => l_msg_count,
504: /******************
505: CS_ServiceRequest_PVT.Update_ServiceRequest
506: ( p_api_version => 3.0, -- Changed from 2.0 for 11.5.9
507: p_init_msg_list => fnd_api.g_false,
508: p_commit => fnd_api.g_false,
509: p_validation_level => fnd_api.g_valid_level_full,
510: x_return_status => l_return_status,
511: x_msg_count => l_msg_count,
512: x_msg_data => l_msg_data,
505: CS_ServiceRequest_PVT.Update_ServiceRequest
506: ( p_api_version => 3.0, -- Changed from 2.0 for 11.5.9
507: p_init_msg_list => fnd_api.g_false,
508: p_commit => fnd_api.g_false,
509: p_validation_level => fnd_api.g_valid_level_full,
510: x_return_status => l_return_status,
511: x_msg_count => l_msg_count,
512: x_msg_data => l_msg_data,
513: p_request_id => l_request_id,
516: p_last_update_date => sysdate,
517: p_service_request_rec => l_service_request_rec,
518: p_notes => l_notes,
519: p_contacts => l_contacts,
520: p_called_by_workflow => FND_API.G_TRUE,
521: p_workflow_process_id => l_wf_process_id,
522: x_interaction_id => l_interaction_id,
523: x_workflow_process_id => out_wf_process_id
524: );
525:
526: -- dbms_output.put_line('after Update call status' || l_return_status);
527:
528: -- Check for possible errors returned by the API
529: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
530: raise FND_API.G_EXC_ERROR;
531: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
533: END IF;
526: -- dbms_output.put_line('after Update call status' || l_return_status);
527:
528: -- Check for possible errors returned by the API
529: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
530: raise FND_API.G_EXC_ERROR;
531: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
533: END IF;
534:
527:
528: -- Check for possible errors returned by the API
529: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
530: raise FND_API.G_EXC_ERROR;
531: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
533: END IF;
534:
535: ***************************/
528: -- Check for possible errors returned by the API
529: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
530: raise FND_API.G_EXC_ERROR;
531: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
532: raise FND_API.G_EXC_UNEXPECTED_ERROR;
533: END IF;
534:
535: ***************************/
536:
545: -- Set up return value
546: p_itemkey := l_itemkey;
547:
548: /***
549: IF (FND_API.To_Boolean( p_commit ) and
550: l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
551: COMMIT WORK;
552: END IF;
553: ***/
546: p_itemkey := l_itemkey;
547:
548: /***
549: IF (FND_API.To_Boolean( p_commit ) and
550: l_return_status = FND_API.G_RET_STS_SUCCESS) THEN
551: COMMIT WORK;
552: END IF;
553: ***/
554:
551: COMMIT WORK;
552: END IF;
553: ***/
554:
555: IF (FND_API.To_Boolean( p_commit )) THEN
556: COMMIT WORK;
557: END IF;
558:
559: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
557: END IF;
558:
559: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
560: p_data => p_msg_data,
561: p_encoded => FND_API.G_FALSE );
562:
563: EXCEPTION
564: WHEN l_SR_NO_WORKFLOW THEN
565: ROLLBACK TO Launch_Workflow_PUB;
562:
563: EXCEPTION
564: WHEN l_SR_NO_WORKFLOW THEN
565: ROLLBACK TO Launch_Workflow_PUB;
566: p_return_status := FND_API.G_RET_STS_ERROR;
567: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
568: FND_MESSAGE.SET_NAME('CS', 'CS_SR_NO_WORKFLOW');
569: FND_MSG_PUB.Add;
570: END IF;
569: FND_MSG_PUB.Add;
570: END IF;
571: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
572: p_data => p_msg_data,
573: p_encoded => FND_API.G_FALSE );
574:
575: WHEN l_SR_CLOSED_STATUS THEN
576: ROLLBACK TO Launch_Workflow_PUB;
577: p_return_status := FND_API.G_RET_STS_ERROR;
573: p_encoded => FND_API.G_FALSE );
574:
575: WHEN l_SR_CLOSED_STATUS THEN
576: ROLLBACK TO Launch_Workflow_PUB;
577: p_return_status := FND_API.G_RET_STS_ERROR;
578: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
579: FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_WF_CLOSED_STATUS');
580: FND_MESSAGE.SET_TOKEN('API_NAME', G_PKG_NAME||'.'||l_api_name);
581: FND_MSG_PUB.Add;
581: FND_MSG_PUB.Add;
582: END IF;
583: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
584: p_data => p_msg_data,
585: p_encoded => FND_API.G_FALSE );
586:
587: WHEN l_ADMINISTRATOR_NOT_SET THEN
588: ROLLBACK TO Launch_Workflow_PUB;
589: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
585: p_encoded => FND_API.G_FALSE );
586:
587: WHEN l_ADMINISTRATOR_NOT_SET THEN
588: ROLLBACK TO Launch_Workflow_PUB;
589: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
590: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
591: FND_MESSAGE.SET_NAME('CS', 'CS_ALL_WF_ADMINISTRATOR');
592: FND_MSG_PUB.Add;
593: END IF;
592: FND_MSG_PUB.Add;
593: END IF;
594: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
595: p_data => p_msg_data,
596: p_encoded => FND_API.G_FALSE );
597:
598: WHEN l_RESET_ADMINISTRATOR THEN
599: ROLLBACK TO Launch_Workflow_PUB;
600: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
596: p_encoded => FND_API.G_FALSE );
597:
598: WHEN l_RESET_ADMINISTRATOR THEN
599: ROLLBACK TO Launch_Workflow_PUB;
600: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
601: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
602: FND_MESSAGE.SET_NAME('CS', 'CS_ALL_RESET_WF_ADMINI');
603: FND_MSG_PUB.Add;
604: END IF;
603: FND_MSG_PUB.Add;
604: END IF;
605: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
606: p_data => p_msg_data,
607: p_encoded => FND_API.G_FALSE );
608:
609: WHEN l_WORKFLOW_IN_PROGRESS THEN
610: /****
611: IF (l_ServeReq_NW_csr%ISOPEN) THEN
618: CLOSE l_ServeReq_csr;
619: END IF;
620:
621: ROLLBACK TO Launch_Workflow_PUB;
622: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
623: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
624: FND_MESSAGE.Set_Name('CS', 'CS_SR_WORKFLOW_IN_PROGRESS');
625: FND_MSG_PUB.Add;
626: END IF;
625: FND_MSG_PUB.Add;
626: END IF;
627: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
628: p_data => p_msg_data,
629: p_encoded => FND_API.G_FALSE );
630:
631: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
632: ROLLBACK TO Launch_Workflow_PUB;
633: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
629: p_encoded => FND_API.G_FALSE );
630:
631: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
632: ROLLBACK TO Launch_Workflow_PUB;
633: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
634: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
635: FND_MESSAGE.Set_Name('CS', 'CS_SR_WF_RECORD_LOCKED');
636: FND_MSG_PUB.Add;
637: END IF;
636: FND_MSG_PUB.Add;
637: END IF;
638: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
639: p_data => p_msg_data,
640: p_encoded => FND_API.G_FALSE );
641:
642: WHEN FND_API.G_EXC_ERROR THEN
643: /****
644: IF (l_ServeReq_NW_csr%ISOPEN) THEN
638: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
639: p_data => p_msg_data,
640: p_encoded => FND_API.G_FALSE );
641:
642: WHEN FND_API.G_EXC_ERROR THEN
643: /****
644: IF (l_ServeReq_NW_csr%ISOPEN) THEN
645: CLOSE l_ServeReq_NW_csr;
646: ELSIF (l_ServeReq_csr%ISOPEN) THEN
651: CLOSE l_ServeReq_csr;
652: END IF;
653:
654: ROLLBACK TO Launch_Workflow_PUB;
655: p_return_status := FND_API.G_RET_STS_ERROR;
656: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
657: p_data => p_msg_data,
658: p_encoded => FND_API.G_FALSE );
659:
654: ROLLBACK TO Launch_Workflow_PUB;
655: p_return_status := FND_API.G_RET_STS_ERROR;
656: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
657: p_data => p_msg_data,
658: p_encoded => FND_API.G_FALSE );
659:
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661: /****
662: IF (l_ServeReq_NW_csr%ISOPEN) THEN
656: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
657: p_data => p_msg_data,
658: p_encoded => FND_API.G_FALSE );
659:
660: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
661: /****
662: IF (l_ServeReq_NW_csr%ISOPEN) THEN
663: CLOSE l_ServeReq_NW_csr;
664: ELSIF (l_ServeReq_csr%ISOPEN) THEN
669: CLOSE l_ServeReq_csr;
670: END IF;
671:
672: ROLLBACK TO Launch_Workflow_PUB;
673: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
674: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
675: p_data => p_msg_data,
676: p_encoded => FND_API.G_FALSE );
677:
672: ROLLBACK TO Launch_Workflow_PUB;
673: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
674: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
675: p_data => p_msg_data,
676: p_encoded => FND_API.G_FALSE );
677:
678: WHEN OTHERS THEN
679: /****
680: IF (l_ServeReq_NW_csr%ISOPEN) THEN
687: CLOSE l_ServeReq_csr;
688: END IF;
689:
690: ROLLBACK TO Launch_Workflow_PUB;
691: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
692: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
693: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
694: l_api_name );
695: END IF;
694: l_api_name );
695: END IF;
696: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
697: p_data => p_msg_data,
698: p_encoded => FND_API.G_FALSE );
699:
700: END Launch_Servereq_Workflow;
701:
702:
739: -- API savepoint
740: SAVEPOINT Cancel_Workflow_PUB;
741:
742: -- Check version number
743: IF NOT FND_API.Compatible_API_Call( l_api_version,
744: p_api_version,
745: l_api_name,
746: G_PKG_NAME ) THEN
747: raise FND_API.G_EXC_UNEXPECTED_ERROR;
743: IF NOT FND_API.Compatible_API_Call( l_api_version,
744: p_api_version,
745: l_api_name,
746: G_PKG_NAME ) THEN
747: raise FND_API.G_EXC_UNEXPECTED_ERROR;
748: END IF;
749:
750: IF FND_API.to_Boolean( p_init_msg_list ) THEN
751: FND_MSG_PUB.initialize;
746: G_PKG_NAME ) THEN
747: raise FND_API.G_EXC_UNEXPECTED_ERROR;
748: END IF;
749:
750: IF FND_API.to_Boolean( p_init_msg_list ) THEN
751: FND_MSG_PUB.initialize;
752: END IF;
753:
754: -- Initialize return status to SUCCESS
751: FND_MSG_PUB.initialize;
752: END IF;
753:
754: -- Initialize return status to SUCCESS
755: p_return_status := FND_API.G_RET_STS_SUCCESS;
756:
757: --
758: -- First construct the item key
759: -- If we ever change the format of the itemkey, the following code
826: itemtype => 'EAMSRAPR',
827: itemkey => l_itemkey );
828: END IF;
829:
830: IF FND_API.To_Boolean( p_commit ) THEN
831: COMMIT WORK;
832: END IF;
833:
834: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
832: END IF;
833:
834: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
835: p_data => p_msg_data,
836: p_encoded => FND_API.G_FALSE );
837:
838: EXCEPTION
839: WHEN l_NOT_ACTIVE THEN
840: ROLLBACK TO Cancel_Workflow_PUB;
837:
838: EXCEPTION
839: WHEN l_NOT_ACTIVE THEN
840: ROLLBACK TO Cancel_Workflow_PUB;
841: p_return_status := FND_API.G_RET_STS_ERROR;
842: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
843: FND_MESSAGE.SET_NAME('CS', 'CS_SR_WORKFLOW_NOT_ACTIVE');
844: FND_MSG_PUB.Add;
845: END IF;
844: FND_MSG_PUB.Add;
845: END IF;
846: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
847: p_data => p_msg_data,
848: p_encoded => FND_API.G_FALSE );
849:
850: WHEN OTHERS THEN
851: ROLLBACK TO Cancel_Workflow_PUB;
852: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
848: p_encoded => FND_API.G_FALSE );
849:
850: WHEN OTHERS THEN
851: ROLLBACK TO Cancel_Workflow_PUB;
852: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
853: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
854: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
855: l_api_name );
856: END IF;
855: l_api_name );
856: END IF;
857: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
858: p_data => p_msg_data,
859: p_encoded => FND_API.G_FALSE );
860:
861: END Cancel_Servereq_Workflow;
862:
863:
897: l_INVALID_ITEMKEY EXCEPTION;
898:
899: BEGIN
900: -- Check version number
901: IF NOT FND_API.Compatible_API_Call( l_api_version,
902: p_api_version,
903: l_api_name,
904: G_PKG_NAME ) THEN
905: raise FND_API.G_EXC_UNEXPECTED_ERROR;
901: IF NOT FND_API.Compatible_API_Call( l_api_version,
902: p_api_version,
903: l_api_name,
904: G_PKG_NAME ) THEN
905: raise FND_API.G_EXC_UNEXPECTED_ERROR;
906: END IF;
907:
908: IF FND_API.to_Boolean( p_init_msg_list ) THEN
909: FND_MSG_PUB.initialize;
904: G_PKG_NAME ) THEN
905: raise FND_API.G_EXC_UNEXPECTED_ERROR;
906: END IF;
907:
908: IF FND_API.to_Boolean( p_init_msg_list ) THEN
909: FND_MSG_PUB.initialize;
910: END IF;
911:
912: -- Initialize return value
909: FND_MSG_PUB.initialize;
910: END IF;
911:
912: -- Initialize return value
913: p_return_status := FND_API.G_RET_STS_SUCCESS;
914:
915: --l_dash_pos := instr(p_itemkey, '-');
916: l_dash_pos := instr(p_itemkey, '-',-1,1); -- Bug # 4007088
917:
928: p_data => p_msg_data );
929:
930: EXCEPTION
931: WHEN l_INVALID_ITEMKEY THEN
932: p_return_status := FND_API.G_RET_STS_ERROR;
933: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
934: FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_INVALID_ARGUMENT');
935: FND_MESSAGE.SET_TOKEN('API_NAME', G_PKG_NAME||'.'||l_api_name);
936: FND_MESSAGE.SET_TOKEN('VALUE', p_itemkey);
939: END IF;
940: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
941: p_data => p_msg_data );
942:
943: WHEN FND_API.G_EXC_ERROR THEN
944: p_return_status := FND_API.G_RET_STS_ERROR;
945: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
946: p_data => p_msg_data );
947:
940: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
941: p_data => p_msg_data );
942:
943: WHEN FND_API.G_EXC_ERROR THEN
944: p_return_status := FND_API.G_RET_STS_ERROR;
945: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
946: p_data => p_msg_data );
947:
948: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
944: p_return_status := FND_API.G_RET_STS_ERROR;
945: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
946: p_data => p_msg_data );
947:
948: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
949: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
950: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
951: p_data => p_msg_data );
952:
945: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
946: p_data => p_msg_data );
947:
948: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
949: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
950: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
951: p_data => p_msg_data );
952:
953: WHEN OTHERS THEN
950: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
951: p_data => p_msg_data );
952:
953: WHEN OTHERS THEN
954: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
955: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
956: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
957: l_api_name );
958: END IF;
991: l_api_name_full CONSTANT VARCHAR2(61) := G_PKG_NAME||'.'||l_api_name;
992:
993: BEGIN
994: -- Check version number
995: IF NOT FND_API.Compatible_API_Call( l_api_version,
996: p_api_version,
997: l_api_name,
998: G_PKG_NAME ) THEN
999: raise FND_API.G_EXC_UNEXPECTED_ERROR;
995: IF NOT FND_API.Compatible_API_Call( l_api_version,
996: p_api_version,
997: l_api_name,
998: G_PKG_NAME ) THEN
999: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1000: END IF;
1001:
1002: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1003: FND_MSG_PUB.initialize;
998: G_PKG_NAME ) THEN
999: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1000: END IF;
1001:
1002: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1003: FND_MSG_PUB.initialize;
1004: END IF;
1005:
1006: -- Initialize return value
1003: FND_MSG_PUB.initialize;
1004: END IF;
1005:
1006: -- Initialize return value
1007: p_return_status := FND_API.G_RET_STS_SUCCESS;
1008:
1009: -- Validate arguments
1010: If (p_request_number IS NULL) THEN
1011: CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
1010: If (p_request_number IS NULL) THEN
1011: CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
1012: p_token_an => l_api_name_full,
1013: p_token_np => 'p_request_number' );
1014: raise FND_API.G_EXC_ERROR;
1015: ELSIF (p_wf_process_id IS NULL) THEN
1016: CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
1017: p_token_an => l_api_name_full,
1018: p_token_np => 'p_wf_process_id' );
1015: ELSIF (p_wf_process_id IS NULL) THEN
1016: CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
1017: p_token_an => l_api_name_full,
1018: p_token_np => 'p_wf_process_id' );
1019: raise FND_API.G_EXC_ERROR;
1020: END IF;
1021:
1022: p_itemkey := p_request_number||'-'||to_char(p_wf_process_id);
1023:
1024: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1025: p_data => p_msg_data );
1026:
1027: EXCEPTION
1028: WHEN FND_API.G_EXC_ERROR THEN
1029: p_return_status := FND_API.G_RET_STS_ERROR;
1030: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1031: p_data => p_msg_data );
1032:
1025: p_data => p_msg_data );
1026:
1027: EXCEPTION
1028: WHEN FND_API.G_EXC_ERROR THEN
1029: p_return_status := FND_API.G_RET_STS_ERROR;
1030: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1031: p_data => p_msg_data );
1032:
1033: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1029: p_return_status := FND_API.G_RET_STS_ERROR;
1030: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1031: p_data => p_msg_data );
1032:
1033: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1034: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1035: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1036: p_data => p_msg_data );
1037:
1030: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1031: p_data => p_msg_data );
1032:
1033: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1034: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1035: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1036: p_data => p_msg_data );
1037:
1038: WHEN OTHERS THEN
1035: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1036: p_data => p_msg_data );
1037:
1038: WHEN OTHERS THEN
1039: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1040: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1041: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
1042: l_api_name );
1043: END IF;
1071: l_employee_id NUMBER;
1072:
1073: BEGIN
1074: -- Check version number
1075: IF NOT FND_API.Compatible_API_Call( l_api_version,
1076: p_api_version,
1077: l_api_name,
1078: G_PKG_NAME ) THEN
1079: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1075: IF NOT FND_API.Compatible_API_Call( l_api_version,
1076: p_api_version,
1077: l_api_name,
1078: G_PKG_NAME ) THEN
1079: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1080: END IF;
1081:
1082: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1083: FND_MSG_PUB.initialize;
1078: G_PKG_NAME ) THEN
1079: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1080: END IF;
1081:
1082: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1083: FND_MSG_PUB.initialize;
1084: END IF;
1085:
1086: -- Initialize return status to SUCCESS
1083: FND_MSG_PUB.initialize;
1084: END IF;
1085:
1086: -- Initialize return status to SUCCESS
1087: p_return_status := FND_API.G_RET_STS_SUCCESS;
1088:
1089: -- Validate the parameters and get the employee ID
1090: Get_Employee_ID(
1091: p_api_version => 1.0,
1088:
1089: -- Validate the parameters and get the employee ID
1090: Get_Employee_ID(
1091: p_api_version => 1.0,
1092: p_init_msg_list => FND_API.G_FALSE,
1093: p_return_status => l_return_status,
1094: p_msg_count => l_msg_count,
1095: p_msg_data => l_msg_data,
1096: p_api_name => G_PKG_NAME||'.'||l_api_name,
1098: p_emp_last_name => p_emp_last_name,
1099: p_emp_first_name => p_emp_first_name,
1100: p_employee_id_out => l_employee_id );
1101:
1102: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1103: raise FND_API.G_EXC_ERROR;
1104: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1105: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1106: END IF;
1099: p_emp_first_name => p_emp_first_name,
1100: p_employee_id_out => l_employee_id );
1101:
1102: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1103: raise FND_API.G_EXC_ERROR;
1104: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1105: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1106: END IF;
1107:
1100: p_employee_id_out => l_employee_id );
1101:
1102: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1103: raise FND_API.G_EXC_ERROR;
1104: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1105: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1106: END IF;
1107:
1108: -- Call Workflow API to get the role
1101:
1102: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1103: raise FND_API.G_EXC_ERROR;
1104: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1105: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1106: END IF;
1107:
1108: -- Call Workflow API to get the role
1109: -- If there is more than one role for this employee, the API will
1118: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1119: p_data => p_msg_data );
1120:
1121: EXCEPTION
1122: WHEN FND_API.G_EXC_ERROR THEN
1123: p_return_status := FND_API.G_RET_STS_ERROR;
1124: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1125: p_data => p_msg_data );
1126:
1119: p_data => p_msg_data );
1120:
1121: EXCEPTION
1122: WHEN FND_API.G_EXC_ERROR THEN
1123: p_return_status := FND_API.G_RET_STS_ERROR;
1124: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1125: p_data => p_msg_data );
1126:
1127: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1123: p_return_status := FND_API.G_RET_STS_ERROR;
1124: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1125: p_data => p_msg_data );
1126:
1127: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1128: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1129: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1130: p_data => p_msg_data );
1131:
1124: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1125: p_data => p_msg_data );
1126:
1127: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1128: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1129: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1130: p_data => p_msg_data );
1131:
1132: WHEN OTHERS THEN
1129: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1130: p_data => p_msg_data );
1131:
1132: WHEN OTHERS THEN
1133: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1134: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1135: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
1136: l_api_name );
1137: END IF;
1185:
1186: BEGIN
1187:
1188: -- Check version number
1189: IF NOT FND_API.Compatible_API_Call( l_api_version,
1190: p_api_version,
1191: l_api_name,
1192: G_PKG_NAME ) THEN
1193: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1189: IF NOT FND_API.Compatible_API_Call( l_api_version,
1190: p_api_version,
1191: l_api_name,
1192: G_PKG_NAME ) THEN
1193: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1194: END IF;
1195:
1196: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1197: FND_MSG_PUB.initialize;
1192: G_PKG_NAME ) THEN
1193: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1194: END IF;
1195:
1196: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1197: FND_MSG_PUB.initialize;
1198: END IF;
1199:
1200: -- Initialize return values
1197: FND_MSG_PUB.initialize;
1198: END IF;
1199:
1200: -- Initialize return values
1201: p_return_status := FND_API.G_RET_STS_SUCCESS;
1202: p_supervisor_role := NULL;
1203: p_supervisor_name := NULL;
1204:
1205: -- Validate the parameters and get the employee ID
1204:
1205: -- Validate the parameters and get the employee ID
1206: Get_Employee_ID(
1207: p_api_version => 1.0,
1208: p_init_msg_list => FND_API.G_FALSE,
1209: p_return_status => l_return_status,
1210: p_msg_count => l_msg_count,
1211: p_msg_data => l_msg_data,
1212: p_api_name => G_PKG_NAME||'.'||l_api_name,
1214: p_emp_last_name => p_emp_last_name,
1215: p_emp_first_name => p_emp_first_name,
1216: p_employee_id_out => l_employee_id );
1217:
1218: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1219: raise FND_API.G_EXC_ERROR;
1220: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1221: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1222: END IF;
1215: p_emp_first_name => p_emp_first_name,
1216: p_employee_id_out => l_employee_id );
1217:
1218: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1219: raise FND_API.G_EXC_ERROR;
1220: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1221: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1222: END IF;
1223:
1216: p_employee_id_out => l_employee_id );
1217:
1218: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1219: raise FND_API.G_EXC_ERROR;
1220: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1221: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1222: END IF;
1223:
1224: l_supervisor_id := NULL;
1217:
1218: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1219: raise FND_API.G_EXC_ERROR;
1220: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1221: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1222: END IF;
1223:
1224: l_supervisor_id := NULL;
1225:
1240: p_role_name => p_supervisor_role,
1241: p_role_display_name => p_supervisor_name );
1242:
1243: -- Check for possible errors returned by the API
1244: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1245: raise FND_API.G_EXC_ERROR;
1246: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1241: p_role_display_name => p_supervisor_name );
1242:
1243: -- Check for possible errors returned by the API
1244: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1245: raise FND_API.G_EXC_ERROR;
1246: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1249:
1242:
1243: -- Check for possible errors returned by the API
1244: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1245: raise FND_API.G_EXC_ERROR;
1246: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1249:
1250: END IF;
1243: -- Check for possible errors returned by the API
1244: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1245: raise FND_API.G_EXC_ERROR;
1246: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1247: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1248: END IF;
1249:
1250: END IF;
1251:
1252: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1253: p_data => p_msg_data );
1254:
1255: EXCEPTION
1256: WHEN FND_API.G_EXC_ERROR THEN
1257: p_return_status := FND_API.G_RET_STS_ERROR;
1258: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1259: p_data => p_msg_data );
1260:
1253: p_data => p_msg_data );
1254:
1255: EXCEPTION
1256: WHEN FND_API.G_EXC_ERROR THEN
1257: p_return_status := FND_API.G_RET_STS_ERROR;
1258: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1259: p_data => p_msg_data );
1260:
1261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1257: p_return_status := FND_API.G_RET_STS_ERROR;
1258: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1259: p_data => p_msg_data );
1260:
1261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1262: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1263: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1264: p_data => p_msg_data );
1265:
1258: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1259: p_data => p_msg_data );
1260:
1261: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1262: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1263: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1264: p_data => p_msg_data );
1265:
1266: WHEN OTHERS THEN
1263: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1264: p_data => p_msg_data );
1265:
1266: WHEN OTHERS THEN
1267: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1268: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1269: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
1270: l_api_name );
1271: END IF;
1304:
1305: BEGIN
1306:
1307: -- Check version number
1308: IF NOT FND_API.Compatible_API_Call( l_api_version,
1309: p_api_version,
1310: l_api_name,
1311: G_PKG_NAME ) THEN
1312: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1308: IF NOT FND_API.Compatible_API_Call( l_api_version,
1309: p_api_version,
1310: l_api_name,
1311: G_PKG_NAME ) THEN
1312: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1313: END IF;
1314:
1315: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1316: FND_MSG_PUB.initialize;
1311: G_PKG_NAME ) THEN
1312: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1313: END IF;
1314:
1315: IF FND_API.to_Boolean( p_init_msg_list ) THEN
1316: FND_MSG_PUB.initialize;
1317: END IF;
1318:
1319: -- Initialize return value
1316: FND_MSG_PUB.initialize;
1317: END IF;
1318:
1319: -- Initialize return value
1320: p_return_status := FND_API.G_RET_STS_SUCCESS;
1321:
1322: -- Validate the parameters and get the employee ID
1323: Get_Employee_ID(
1324: p_api_version => 1.0,
1321:
1322: -- Validate the parameters and get the employee ID
1323: Get_Employee_ID(
1324: p_api_version => 1.0,
1325: p_init_msg_list => FND_API.G_FALSE,
1326: p_return_status => l_return_status,
1327: p_msg_count => l_msg_count,
1328: p_msg_data => l_msg_data,
1329: p_api_name => G_PKG_NAME||'.'||l_api_name,
1331: p_emp_last_name => p_emp_last_name,
1332: p_emp_first_name => p_emp_first_name,
1333: p_employee_id_out => l_employee_id );
1334:
1335: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1336: raise FND_API.G_EXC_ERROR;
1337: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1338: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1339: END IF;
1332: p_emp_first_name => p_emp_first_name,
1333: p_employee_id_out => l_employee_id );
1334:
1335: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1336: raise FND_API.G_EXC_ERROR;
1337: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1338: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1339: END IF;
1340:
1333: p_employee_id_out => l_employee_id );
1334:
1335: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1336: raise FND_API.G_EXC_ERROR;
1337: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1338: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1339: END IF;
1340:
1341: -- Bug 654417: TOO_MANY_ROWS exception when SELECT INTO statement
1334:
1335: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1336: raise FND_API.G_EXC_ERROR;
1337: ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1338: raise FND_API.G_EXC_UNEXPECTED_ERROR;
1339: END IF;
1340:
1341: -- Bug 654417: TOO_MANY_ROWS exception when SELECT INTO statement
1342: -- returns more than one row
1348: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1349: p_data => p_msg_data );
1350:
1351: EXCEPTION
1352: WHEN FND_API.G_EXC_ERROR THEN
1353: p_return_status := FND_API.G_RET_STS_ERROR;
1354: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1355: p_data => p_msg_data );
1356:
1349: p_data => p_msg_data );
1350:
1351: EXCEPTION
1352: WHEN FND_API.G_EXC_ERROR THEN
1353: p_return_status := FND_API.G_RET_STS_ERROR;
1354: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1355: p_data => p_msg_data );
1356:
1357: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1353: p_return_status := FND_API.G_RET_STS_ERROR;
1354: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1355: p_data => p_msg_data );
1356:
1357: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1358: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1359: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1360: p_data => p_msg_data );
1361:
1354: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1355: p_data => p_msg_data );
1356:
1357: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1358: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1359: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1360: p_data => p_msg_data );
1361:
1362: WHEN OTHERS THEN
1359: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
1360: p_data => p_msg_data );
1361:
1362: WHEN OTHERS THEN
1363: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1364: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1365: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
1366: l_api_name );
1367: END IF;
1380: ----------------------------------------------------------------------
1381:
1382: /*PROCEDURE Launch_Action_Workflow
1383: ( p_api_version IN NUMBER,
1384: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1385: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1386: p_return_status OUT VARCHAR2,
1387: p_msg_count OUT NUMBER,
1388: p_msg_data OUT VARCHAR2,
1381:
1382: /*PROCEDURE Launch_Action_Workflow
1383: ( p_api_version IN NUMBER,
1384: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1385: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1386: p_return_status OUT VARCHAR2,
1387: p_msg_count OUT NUMBER,
1388: p_msg_data OUT VARCHAR2,
1389: p_request_id IN NUMBER,
1390: p_action_number IN NUMBER,
1391: p_initiator_user_id IN NUMBER := NULL,
1392: p_initiator_resp_id IN NUMBER := NULL,
1393: p_initiator_resp_appl_id IN NUMBER := NULL,
1394: p_launched_by_dispatch IN VARCHAR2 := FND_API.G_FALSE,
1395: p_nowait IN VARCHAR2 := FND_API.G_FALSE,
1396: p_itemkey OUT VARCHAR2
1397: )
1398: IS
1391: p_initiator_user_id IN NUMBER := NULL,
1392: p_initiator_resp_id IN NUMBER := NULL,
1393: p_initiator_resp_appl_id IN NUMBER := NULL,
1394: p_launched_by_dispatch IN VARCHAR2 := FND_API.G_FALSE,
1395: p_nowait IN VARCHAR2 := FND_API.G_FALSE,
1396: p_itemkey OUT VARCHAR2
1397: )
1398: IS
1399: l_api_name CONSTANT VARCHAR2(30) := 'Launch_Action_Workflow';
1441: -- Standard Start of API savepoint
1442: SAVEPOINT Launch_Action_Workflow_PUB;
1443:
1444: -- Standard call to check for call compatibility
1445: IF NOT FND_API.Compatible_API_Call ( l_api_version,
1446: p_api_version,
1447: l_api_name,
1448: G_PKG_NAME )
1449: THEN
1446: p_api_version,
1447: l_api_name,
1448: G_PKG_NAME )
1449: THEN
1450: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1451: END IF;
1452:
1453: -- Initialize message list if p_init_msg_list is set to TRUE
1454: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1450: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1451: END IF;
1452:
1453: -- Initialize message list if p_init_msg_list is set to TRUE
1454: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1455: FND_MSG_PUB.Initialize;
1456: END IF;
1457:
1458: -- Initialize API return status to SUCCESS
1455: FND_MSG_PUB.Initialize;
1456: END IF;
1457:
1458: -- Initialize API return status to SUCCESS
1459: p_return_status := FND_API.G_RET_STS_SUCCESS;
1460:
1461: -- Set nowait option
1462: IF FND_API.To_Boolean( p_nowait ) THEN
1463: l_nowait := TRUE;
1458: -- Initialize API return status to SUCCESS
1459: p_return_status := FND_API.G_RET_STS_SUCCESS;
1460:
1461: -- Set nowait option
1462: IF FND_API.To_Boolean( p_nowait ) THEN
1463: l_nowait := TRUE;
1464: END IF;
1465:
1466: -- Get the Workflow Administrator Role
1640:
1641: -- Set up return value
1642: p_itemkey := l_itemkey;
1643:
1644: IF FND_API.To_Boolean( p_commit ) THEN
1645: COMMIT WORK;
1646: END IF;
1647:
1648: FND_MSG_PUB.Count_And_Get
1647:
1648: FND_MSG_PUB.Count_And_Get
1649: ( p_count => p_msg_count,
1650: p_data => p_msg_data,
1651: p_encoded => FND_API.G_FALSE
1652: );
1653:
1654: EXCEPTION
1655: WHEN l_exc_administrator_not_set THEN
1653:
1654: EXCEPTION
1655: WHEN l_exc_administrator_not_set THEN
1656: ROLLBACK TO Launch_Action_Workflow_PUB;
1657: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1658: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1659: FND_MESSAGE.Set_Name('CS', 'CS_ALL_WF_ADMINISTRATOR');
1660: FND_MSG_PUB.Add;
1661: END IF;
1661: END IF;
1662: FND_MSG_PUB.Count_And_Get
1663: ( p_count => p_msg_count,
1664: p_data => p_msg_data,
1665: p_encoded => FND_API.G_FALSE
1666: );
1667: WHEN l_exc_reset_administrator THEN
1668: ROLLBACK TO Launch_Action_Workflow_PUB;
1669: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1665: p_encoded => FND_API.G_FALSE
1666: );
1667: WHEN l_exc_reset_administrator THEN
1668: ROLLBACK TO Launch_Action_Workflow_PUB;
1669: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1670: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1671: FND_MESSAGE.Set_Name('CS', 'CS_ALL_RESET_WF_ADMINI');
1672: FND_MSG_PUB.Add;
1673: END IF;
1673: END IF;
1674: FND_MSG_PUB.Count_And_Get
1675: ( p_count => p_msg_count,
1676: p_data => p_msg_data,
1677: p_encoded => FND_API.G_FALSE
1678: );
1679: WHEN l_exc_workflow_in_progress THEN
1680: IF (l_action_nw_csr%ISOPEN) THEN
1681: CLOSE l_action_nw_csr;
1682: ELSIF (l_action_csr%ISOPEN) THEN
1683: CLOSE l_action_csr;
1684: END IF;
1685: ROLLBACK TO Launch_Action_Workflow_PUB;
1686: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1687: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1688: FND_MESSAGE.Set_Name('CS', 'CS_ACT_WORKFLOW_IN_PROGRESS');
1689: FND_MSG_PUB.Add;
1690: END IF;
1690: END IF;
1691: FND_MSG_PUB.Count_And_Get
1692: ( p_count => p_msg_count,
1693: p_data => p_msg_data,
1694: p_encoded => FND_API.G_FALSE
1695: );
1696: WHEN l_exc_sr_no_workflow THEN
1697: ROLLBACK TO Launch_Action_Workflow_PUB;
1698: p_return_status := FND_API.G_RET_STS_ERROR;
1694: p_encoded => FND_API.G_FALSE
1695: );
1696: WHEN l_exc_sr_no_workflow THEN
1697: ROLLBACK TO Launch_Action_Workflow_PUB;
1698: p_return_status := FND_API.G_RET_STS_ERROR;
1699: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1700: FND_MESSAGE.Set_Name('CS', 'CS_ACT_NO_WORKFLOW');
1701: FND_MSG_PUB.Add;
1702: END IF;
1702: END IF;
1703: FND_MSG_PUB.Count_And_Get
1704: ( p_count => p_msg_count,
1705: p_data => p_msg_data,
1706: p_encoded => FND_API.G_FALSE
1707: );
1708: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
1709: ROLLBACK TO Launch_Action_Workflow_PUB;
1710: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1706: p_encoded => FND_API.G_FALSE
1707: );
1708: WHEN APP_EXCEPTION.RECORD_LOCK_EXCEPTION THEN
1709: ROLLBACK TO Launch_Action_Workflow_PUB;
1710: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1711: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1712: FND_MESSAGE.Set_Name('CS', 'CS_ACT_WF_RECORD_LOCKED');
1713: FND_MSG_PUB.Add;
1714: END IF;
1714: END IF;
1715: FND_MSG_PUB.Count_And_Get
1716: ( p_count => p_msg_count,
1717: p_data => p_msg_data,
1718: p_encoded => FND_API.G_FALSE
1719: );
1720: WHEN FND_API.G_EXC_ERROR THEN
1721: IF (l_action_nw_csr%ISOPEN) THEN
1722: CLOSE l_action_nw_csr;
1716: ( p_count => p_msg_count,
1717: p_data => p_msg_data,
1718: p_encoded => FND_API.G_FALSE
1719: );
1720: WHEN FND_API.G_EXC_ERROR THEN
1721: IF (l_action_nw_csr%ISOPEN) THEN
1722: CLOSE l_action_nw_csr;
1723: ELSIF (l_action_csr%ISOPEN) THEN
1724: CLOSE l_action_csr;
1723: ELSIF (l_action_csr%ISOPEN) THEN
1724: CLOSE l_action_csr;
1725: END IF;
1726: ROLLBACK TO Launch_Action_Workflow_PUB;
1727: p_return_status := FND_API.G_RET_STS_ERROR;
1728: FND_MSG_PUB.Count_And_Get
1729: ( p_count => p_msg_count,
1730: p_data => p_msg_data,
1731: p_encoded => FND_API.G_FALSE
1727: p_return_status := FND_API.G_RET_STS_ERROR;
1728: FND_MSG_PUB.Count_And_Get
1729: ( p_count => p_msg_count,
1730: p_data => p_msg_data,
1731: p_encoded => FND_API.G_FALSE
1732: );
1733: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1734: IF (l_action_nw_csr%ISOPEN) THEN
1735: CLOSE l_action_nw_csr;
1729: ( p_count => p_msg_count,
1730: p_data => p_msg_data,
1731: p_encoded => FND_API.G_FALSE
1732: );
1733: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1734: IF (l_action_nw_csr%ISOPEN) THEN
1735: CLOSE l_action_nw_csr;
1736: ELSIF (l_action_csr%ISOPEN) THEN
1737: CLOSE l_action_csr;
1736: ELSIF (l_action_csr%ISOPEN) THEN
1737: CLOSE l_action_csr;
1738: END IF;
1739: ROLLBACK TO Launch_Action_Workflow_PUB;
1740: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1741: FND_MSG_PUB.Count_And_Get
1742: ( p_count => p_msg_count,
1743: p_data => p_msg_data,
1744: p_encoded => FND_API.G_FALSE
1740: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1741: FND_MSG_PUB.Count_And_Get
1742: ( p_count => p_msg_count,
1743: p_data => p_msg_data,
1744: p_encoded => FND_API.G_FALSE
1745: );
1746: WHEN OTHERS THEN
1747: IF (l_action_nw_csr%ISOPEN) THEN
1748: CLOSE l_action_nw_csr;
1749: ELSIF (l_action_csr%ISOPEN) THEN
1750: CLOSE l_action_csr;
1751: END IF;
1752: ROLLBACK TO Launch_Action_Workflow_PUB;
1753: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1754: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1755: FND_MSG_PUB.Add_Exc_Msg
1756: ( G_PKG_NAME,
1757: l_api_name
1759: END IF;
1760: FND_MSG_PUB.Count_And_Get
1761: ( p_count => p_msg_count,
1762: p_data => p_msg_data,
1763: p_encoded => FND_API.G_FALSE
1764: );
1765:
1766: END Launch_Action_Workflow;*/
1767:
1771: ----------------------------------------------------------------------
1772:
1773: PROCEDURE Cancel_Action_Workflow
1774: ( p_api_version IN NUMBER,
1775: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1776: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1777: p_return_status OUT NOCOPY VARCHAR2,
1778: p_msg_count OUT NOCOPY NUMBER,
1779: p_msg_data OUT NOCOPY VARCHAR2,
1772:
1773: PROCEDURE Cancel_Action_Workflow
1774: ( p_api_version IN NUMBER,
1775: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1776: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1777: p_return_status OUT NOCOPY VARCHAR2,
1778: p_msg_count OUT NOCOPY NUMBER,
1779: p_msg_data OUT NOCOPY VARCHAR2,
1780: p_request_id IN NUMBER,
1810: -- Standard Start of API savepoint
1811: SAVEPOINT Cancel_Action_Workflow_PUB;
1812:
1813: -- Standard call to check for call compatibility
1814: IF NOT FND_API.Compatible_API_Call ( l_api_version,
1815: p_api_version,
1816: l_api_name,
1817: G_PKG_NAME )
1818: THEN
1815: p_api_version,
1816: l_api_name,
1817: G_PKG_NAME )
1818: THEN
1819: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1820: END IF;
1821:
1822: -- Initialize message list if p_init_msg_list is set to TRUE
1823: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1819: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1820: END IF;
1821:
1822: -- Initialize message list if p_init_msg_list is set to TRUE
1823: IF FND_API.To_Boolean( p_init_msg_list ) THEN
1824: FND_MSG_PUB.Initialize;
1825: END IF;
1826:
1827: -- Initialize API return status to success
1824: FND_MSG_PUB.Initialize;
1825: END IF;
1826:
1827: -- Initialize API return status to success
1828: p_return_status := FND_API.G_RET_STS_SUCCESS;
1829:
1830: --
1831: -- First construct the item key
1832: -- If we ever change the format of the itemkey, the following code
1929: itemkey => l_itemkey,
1930: aname => 'LAUNCHED_BY_DISPATCH'
1931: );
1932:
1933: IF FND_API.To_Boolean( p_commit ) THEN
1934: COMMIT WORK;
1935: END IF;
1936:
1937: FND_MSG_PUB.Count_And_Get
1936:
1937: FND_MSG_PUB.Count_And_Get
1938: ( p_count => p_msg_count,
1939: p_data => p_msg_data,
1940: p_encoded => FND_API.G_FALSE
1941: );
1942:
1943: EXCEPTION
1944: WHEN l_exc_not_active THEN
1942:
1943: EXCEPTION
1944: WHEN l_exc_not_active THEN
1945: ROLLBACK TO Cancel_Action_Workflow_PUB;
1946: p_return_status := FND_API.G_RET_STS_ERROR;
1947: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
1948: FND_MESSAGE.Set_Name('CS', 'CS_SR_WORKFLOW_NOT_ACTIVE');
1949: FND_MSG_PUB.Add;
1950: END IF;
1950: END IF;
1951: FND_MSG_PUB.Count_And_Get
1952: ( p_count => p_msg_count,
1953: p_data => p_msg_data,
1954: p_encoded => FND_API.G_FALSE
1955: );
1956: WHEN OTHERS THEN
1957: ROLLBACK TO Cancel_Action_Workflow_PUB;
1958: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1954: p_encoded => FND_API.G_FALSE
1955: );
1956: WHEN OTHERS THEN
1957: ROLLBACK TO Cancel_Action_Workflow_PUB;
1958: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1959: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1960: FND_MSG_PUB.Add_Exc_Msg
1961: ( G_PKG_NAME,
1962: l_api_name
1964: END IF;
1965: FND_MSG_PUB.Count_And_Get
1966: ( p_count => p_msg_count,
1967: p_data => p_msg_data,
1968: p_encoded => FND_API.G_FALSE
1969: );
1970:
1971: END Cancel_Action_Workflow;
1972:
1981: --------------------------------------------------------------------------
1982:
1983: PROCEDURE Decode_Action_Itemkey
1984: ( p_api_version IN NUMBER,
1985: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1986: p_return_status OUT NOCOPY VARCHAR2,
1987: p_msg_count OUT NOCOPY NUMBER,
1988: p_msg_data OUT NOCOPY VARCHAR2,
1989: p_itemkey IN VARCHAR2,
2001: l_exc_invalid_itemkey EXCEPTION;
2002:
2003: BEGIN
2004: -- Standard call to check for call compatibility
2005: IF NOT FND_API.Compatible_API_Call ( l_api_version,
2006: p_api_version,
2007: l_api_name,
2008: G_PKG_NAME )
2009: THEN
2006: p_api_version,
2007: l_api_name,
2008: G_PKG_NAME )
2009: THEN
2010: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2011: END IF;
2012:
2013: -- Initialize message list if p_init_msg_list is set to TRUE
2014: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2010: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2011: END IF;
2012:
2013: -- Initialize message list if p_init_msg_list is set to TRUE
2014: IF FND_API.To_Boolean( p_init_msg_list ) THEN
2015: FND_MSG_PUB.Initialize;
2016: END IF;
2017:
2018: -- Initialize API return status to success
2015: FND_MSG_PUB.Initialize;
2016: END IF;
2017:
2018: -- Initialize API return status to success
2019: p_return_status := FND_API.G_RET_STS_SUCCESS;
2020:
2021: l_dash_pos1 := INSTR(p_itemkey, '-');
2022: l_dash_pos2 := INSTR(p_itemkey, '-', l_dash_pos1+1);
2023: IF ((l_dash_pos1 = 0) OR (l_dash_pos2 = 0)) THEN
2034: );
2035:
2036: EXCEPTION
2037: WHEN l_exc_invalid_itemkey THEN
2038: p_return_status := FND_API.G_RET_STS_ERROR;
2039: CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg
2040: ( p_token_an => G_PKG_NAME||'.'||l_api_name,
2041: p_token_v => p_itemkey,
2042: p_token_p => 'p_itemkey'
2044: FND_MSG_PUB.Count_And_Get
2045: ( p_count => p_msg_count,
2046: p_data => p_msg_data
2047: );
2048: WHEN FND_API.G_EXC_ERROR THEN
2049: p_return_status := FND_API.G_RET_STS_ERROR;
2050: FND_MSG_PUB.Count_And_Get
2051: ( p_count => p_msg_count,
2052: p_data => p_msg_data
2045: ( p_count => p_msg_count,
2046: p_data => p_msg_data
2047: );
2048: WHEN FND_API.G_EXC_ERROR THEN
2049: p_return_status := FND_API.G_RET_STS_ERROR;
2050: FND_MSG_PUB.Count_And_Get
2051: ( p_count => p_msg_count,
2052: p_data => p_msg_data
2053: );
2050: FND_MSG_PUB.Count_And_Get
2051: ( p_count => p_msg_count,
2052: p_data => p_msg_data
2053: );
2054: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2055: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2056: FND_MSG_PUB.Count_And_Get
2057: ( p_count => p_msg_count,
2058: p_data => p_msg_data
2051: ( p_count => p_msg_count,
2052: p_data => p_msg_data
2053: );
2054: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2055: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2056: FND_MSG_PUB.Count_And_Get
2057: ( p_count => p_msg_count,
2058: p_data => p_msg_data
2059: );
2057: ( p_count => p_msg_count,
2058: p_data => p_msg_data
2059: );
2060: WHEN OTHERS THEN
2061: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2062: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2063: FND_MSG_PUB.Add_Exc_Msg
2064: ( G_PKG_NAME,
2065: l_api_name
2101: l_DUPLICATE_VALUE EXCEPTION;
2102:
2103: BEGIN
2104: -- Check version number
2105: IF NOT FND_API.Compatible_API_Call( l_api_version,
2106: p_api_version,
2107: l_api_name,
2108: G_PKG_NAME ) THEN
2109: raise FND_API.G_EXC_UNEXPECTED_ERROR;
2105: IF NOT FND_API.Compatible_API_Call( l_api_version,
2106: p_api_version,
2107: l_api_name,
2108: G_PKG_NAME ) THEN
2109: raise FND_API.G_EXC_UNEXPECTED_ERROR;
2110: END IF;
2111:
2112: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2113: FND_MSG_PUB.initialize;
2108: G_PKG_NAME ) THEN
2109: raise FND_API.G_EXC_UNEXPECTED_ERROR;
2110: END IF;
2111:
2112: IF FND_API.to_Boolean( p_init_msg_list ) THEN
2113: FND_MSG_PUB.initialize;
2114: END IF;
2115:
2116: -- Initialize return status to SUCCESS
2113: FND_MSG_PUB.initialize;
2114: END IF;
2115:
2116: -- Initialize return status to SUCCESS
2117: p_return_status := FND_API.G_RET_STS_SUCCESS;
2118:
2119: -- Verify arguments
2120: IF (p_employee_id IS NULL) THEN
2121: IF (p_emp_last_name IS NULL) AND
2122: (p_emp_first_name IS NULL) THEN
2123: CS_ServiceRequest_UTIL.Add_Null_Parameter_Msg(
2124: p_token_an => p_api_name,
2125: p_token_np => 'p_employee_id' );
2126: raise FND_API.G_EXC_ERROR;
2127: END IF;
2128: ELSE
2129: IF (p_emp_last_name IS NOT NULL) THEN
2130: CS_ServiceRequest_UTIL.Add_Param_Ignored_Msg(
2190: CS_ServiceRequest_UTIL.Add_Invalid_Argument_Msg(
2191: p_token_an => P_api_name,
2192: p_token_v => to_char(p_employee_id),
2193: p_token_p => 'p_employee_id' );
2194: raise FND_API.G_EXC_ERROR;
2195: END;
2196:
2197: END IF;
2198:
2200: p_data => p_msg_data );
2201:
2202: EXCEPTION
2203: WHEN l_INVALID_EMP_NAME THEN
2204: p_return_status := FND_API.G_RET_STS_ERROR;
2205: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2206: FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_INVALID_EMP_NAME');
2207: FND_MESSAGE.SET_TOKEN('API_NAME', p_api_name);
2208: FND_MESSAGE.SET_TOKEN('FIRST_NAME', p_emp_first_name);
2212: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2213: p_data => p_msg_data );
2214:
2215: WHEN l_DUPLICATE_VALUE THEN
2216: p_return_status := FND_API.G_RET_STS_ERROR;
2217: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
2218: FND_MESSAGE.SET_NAME('CS', 'CS_API_SR_DUPLICATE_EMPLOYEE');
2219: FND_MESSAGE.SET_TOKEN('API_NAME', p_api_name);
2220: FND_MESSAGE.SET_TOKEN('FIRST_NAME', p_emp_first_name);
2223: END IF;
2224: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2225: p_data => p_msg_data );
2226:
2227: WHEN FND_API.G_EXC_ERROR THEN
2228: p_return_status := FND_API.G_RET_STS_ERROR;
2229: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2230: p_data => p_msg_data );
2231:
2224: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2225: p_data => p_msg_data );
2226:
2227: WHEN FND_API.G_EXC_ERROR THEN
2228: p_return_status := FND_API.G_RET_STS_ERROR;
2229: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2230: p_data => p_msg_data );
2231:
2232: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2228: p_return_status := FND_API.G_RET_STS_ERROR;
2229: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2230: p_data => p_msg_data );
2231:
2232: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2233: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2234: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2235: p_data => p_msg_data );
2236:
2229: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2230: p_data => p_msg_data );
2231:
2232: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2233: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2234: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2235: p_data => p_msg_data );
2236:
2237: WHEN OTHERS THEN
2234: FND_MSG_PUB.Count_And_Get( p_count => p_msg_count,
2235: p_data => p_msg_data );
2236:
2237: WHEN OTHERS THEN
2238: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2239: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2240: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,
2241: l_api_name );
2242: END IF;