1: PACKAGE BODY FPA_MAIN_PROCESS_PVT AS
2: /* $Header: FPAXWFMB.pls 120.11.12020000.3 2012/09/26 11:52:44 svmohamm ship $ */
3:
4: -- Global variables defined for logic based on called from place parameter
5: -- Please update values assigned to this variables whenever any of these
65: BEGIN
66:
67: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
68: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
69: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.begin',
70: 'Entering fpa_main_process_pvt.get_wf_attributes');
71: END IF;
72:
73: OPEN PC_ATTRIBUTES_CSR(P_PC_ID);
66:
67: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
68: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
69: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.begin',
70: 'Entering fpa_main_process_pvt.get_wf_attributes');
71: END IF;
72:
73: OPEN PC_ATTRIBUTES_CSR(P_PC_ID);
74: FETCH PC_ATTRIBUTES_CSR
98: EXCEPTION
99: WHEN OTHERS THEN
100: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
101: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
102: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.end',
103: SQLERRM);
104: END IF;
105: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_WF_ATTRIBUTES', null);
106: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
101: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
102: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.end',
103: SQLERRM);
104: END IF;
105: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_WF_ATTRIBUTES', null);
106: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
107: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
108: p_data => x_msg_data);
109: RAISE;
170: BEGIN
171:
172: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
173: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
174: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.begin',
175: 'Entering fpa_main_process_pvt.initiate_workflow');
176: END IF;
177:
178: l_itemtype := 'FPAPJP';
171:
172: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
173: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
174: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.begin',
175: 'Entering fpa_main_process_pvt.initiate_workflow');
176: END IF;
177:
178: l_itemtype := 'FPAPJP';
179:
180: l_itemkey := p_pc_id;
181:
182: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
183: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
184: 'fpa.sql.fpa_main_process_pvt.initiate_workflow',
185: 'Starting the master workflow process');
186: END IF;
187:
188: -- wf_purge.items(l_itemtype,l_itemkey,sysdate,false,true);
262: itemkey => l_itemkey);
263:
264: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
265: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
266: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
267: 'Exiting fpa_main_process_pvt.initiate_workflow');
268: END IF;
269:
270: EXCEPTION
263:
264: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
265: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
266: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
267: 'Exiting fpa_main_process_pvt.initiate_workflow');
268: END IF;
269:
270: EXCEPTION
271: WHEN OTHERS THEN
270: EXCEPTION
271: WHEN OTHERS THEN
272: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
273: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
274: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
275: SQLERRM);
276: END IF;
277: wf_core.context('FPA_MAIN_PROCESS_PVT', 'INITIATE_WORKFLOW', null);
278: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
273: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
274: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
275: SQLERRM);
276: END IF;
277: wf_core.context('FPA_MAIN_PROCESS_PVT', 'INITIATE_WORKFLOW', null);
278: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
279: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
280: p_data => x_msg_data
281: );
308: BEGIN
309:
310: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
311: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
312: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.begin',
313: 'Entering fpa_main_process_pvt.cancel_workflow');
314: END IF;
315:
316: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
309:
310: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
311: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
312: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.begin',
313: 'Entering fpa_main_process_pvt.cancel_workflow');
314: END IF;
315:
316: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
317: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
314: END IF;
315:
316: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
317: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
318: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
319: 'Cancelling the master WF process; Call wf_engine.AbortProcess');
320: END IF;
321:
322: -- Cancels the main process
325: process => l_WFProcess);
326:
327: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
328: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
329: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
330: 'Canceled the master WF process; wf_engine.AbortProcess executed');
331: END IF;
332:
333: -- Reassign a new item key to the new process
334: l_itemkey := 'FPAF' || p_pc_id;
335:
336: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
337: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
338: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
339: 'l_item_key = '||l_itemkey||'; l_itemtype = '||l_itemtype);
340: END IF;
341:
342: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
340: END IF;
341:
342: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
343: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
344: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
345: 'l_process = '||l_process||'; p_pc_id = '||p_pc_id);
346: END IF;
347:
348:
352: process => l_process);
353:
354: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
355: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
356: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
357: 'executed wf_engine.createProcess API');
358: END IF;
359:
360: -- Sets the Planning Cycle ID
365:
366:
367: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
368: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
369: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
370: 'executed wf_engine.SetItemAttrNumber API');
371: END IF;
372:
373: -- Sets the Due Date
377: avalue => p_due_date);
378:
379: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
380: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
381: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
382: 'executed wf_engine.SetItemAttrDate API');
383: END IF;
384:
385: -- Starts the workflow process
387: itemkey => l_itemkey);
388:
389: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
390: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
391: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
392: 'executed wf_engine.StartProcess API');
393: END IF;
394:
395:
394:
395:
396: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
397: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
398: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
399: 'Exiting fpa_main_process_pvt.cancel_workflow');
400: END IF;
401:
402: EXCEPTION
395:
396: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
397: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
398: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
399: 'Exiting fpa_main_process_pvt.cancel_workflow');
400: END IF;
401:
402: EXCEPTION
403: WHEN OTHERS THEN
402: EXCEPTION
403: WHEN OTHERS THEN
404: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
405: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
406: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
407: SQLERRM);
408: END IF;
409: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CANCEL_WORKFLOW', null);
410: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
405: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
406: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
407: SQLERRM);
408: END IF;
409: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CANCEL_WORKFLOW', null);
410: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
411: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
412: p_data => x_msg_data
413: );
441: BEGIN
442:
443: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
444: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
445: 'fpa.sql.fpa_main_process_pvt.launch_process.begin',
446: 'Entering fpa_main_process_pvt.launch_process');
447: END IF;
448:
449: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
442:
443: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
444: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
445: 'fpa.sql.fpa_main_process_pvt.launch_process.begin',
446: 'Entering fpa_main_process_pvt.launch_process');
447: END IF;
448:
449: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
450: itemkey => p_itemkey,
461: aname => 'FPA_SCENARIO_ID');
462:
463: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
464: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
465: 'fpa.sql.fpa_main_process_pvt.launch_process',
466: 'Starting the main workflow process');
467: END IF;
468:
469: -- Creates the workflow process
516: itemkey => l_itemkey);
517:
518: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
519: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
520: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
521: 'Exiting fpa_main_process_pvt.launch_process');
522: END IF;
523:
524: EXCEPTION
517:
518: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
519: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
520: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
521: 'Exiting fpa_main_process_pvt.launch_process');
522: END IF;
523:
524: EXCEPTION
525: WHEN OTHERS THEN
524: EXCEPTION
525: WHEN OTHERS THEN
526: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
527: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
528: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
529: SQLERRM);
530: END IF;
531: wf_core.context('FPA_MAIN_PROCESS_PVT', 'LAUNCH_PROCESS', null);
532: RAISE;
527: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
528: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
529: SQLERRM);
530: END IF;
531: wf_core.context('FPA_MAIN_PROCESS_PVT', 'LAUNCH_PROCESS', null);
532: RAISE;
533: END LAUNCH_PROCESS;
534:
535: PROCEDURE RAISE_CLOSEPC_EVENT(p_pc_id IN NUMBER,
551: BEGIN
552:
553: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
554: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
555: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.begin',
556: 'Entering fpa_main_process_pvt.raise_closepc_event for p_pc_id'||p_pc_id);
557: END IF;
558:
559: FOR c_rec IN C_abort_activepcwf LOOP
552:
553: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
554: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
555: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.begin',
556: 'Entering fpa_main_process_pvt.raise_closepc_event for p_pc_id'||p_pc_id);
557: END IF;
558:
559: FOR c_rec IN C_abort_activepcwf LOOP
560:
559: FOR c_rec IN C_abort_activepcwf LOOP
560:
561: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
562: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
563: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
564: 'Aborting workflow process '||c_rec.item_key);
565: END IF;
566:
567: -- Cancels all the workflow process associated with this Planning cycle
575: l_itemkey := 'FPAC'||p_pc_id;
576:
577: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
578: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
579: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
580: 'Calling wf_event.AddParameterToList ');
581: END IF;
582:
583: wf_event.AddParameterToList('FPA_PC_ID',p_pc_id,l_parameter_list);
583: wf_event.AddParameterToList('FPA_PC_ID',p_pc_id,l_parameter_list);
584:
585: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
586: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
587: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
588: 'Raising event oracle.apps.fpa.event.planningcycle.closed');
589: END IF;
590:
591: -- Raise Event
596: l_parameter_list.DELETE;
597:
598: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
599: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
600: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.end',
601: 'Entering fpa_main_process_pvt.raise_closepc_event');
602: END IF;
603:
604: EXCEPTION
597:
598: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
599: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
600: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.end',
601: 'Entering fpa_main_process_pvt.raise_closepc_event');
602: END IF;
603:
604: EXCEPTION
605: WHEN OTHERS THEN
604: EXCEPTION
605: WHEN OTHERS THEN
606: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
607: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
608: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.exception',
609: SQLERRM);
610: END IF;
611: RAISE;
612: END RAISE_CLOSEPC_EVENT;
729:
730: -- Get the list of users to be notified
731: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
732: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
733: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
734: 'Entering fpa_main_process_pvt.GET_USERS for p_pcid '||p_pcid);
735: END IF;
736:
737: select
730: -- Get the list of users to be notified
731: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
732: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
733: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
734: 'Entering fpa_main_process_pvt.GET_USERS for p_pcid '||p_pcid);
735: END IF;
736:
737: select
738: org_structure_version_id into l_pjp_org_version_id
754: IF p_approver = 'Y' OR p_analyst = 'Y' THEN
755:
756: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
757: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
758: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
759: 'Fetching users associated with portfolio access list');
760: END IF;
761:
762: OPEN c_get_port_users;
797: IF p_pcdlist = 'Y' THEN
798:
799: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
800: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
801: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
802: 'Fetching users associated with planning cycle distribution list');
803: END IF;
804:
805: OPEN c_get_dlist_users;
838: IF p_projmg = 'Y' THEN
839:
840: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
841: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
842: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
843: 'Fetching users associated with project managers');
844: END IF;
845:
846: OPEN c_get_projmg_users;
862: END IF;
863:
864: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
865: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
866: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
867: 'Exiting fpa_main_process_pvt.GET_USERS l_user_exists value '||l_user_exists);
868: END IF;
869:
870: p_user_exists := l_user_exists;
863:
864: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
865: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
866: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
867: 'Exiting fpa_main_process_pvt.GET_USERS l_user_exists value '||l_user_exists);
868: END IF;
869:
870: p_user_exists := l_user_exists;
871:
872: EXCEPTION
873: WHEN OTHERS THEN
874: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
875: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
876: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
877: SQLERRM);
878: END IF;
879:
880: IF c_get_port_users%ISOPEN THEN
912: BEGIN
913:
914: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
915: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
916: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
917: 'Entering fpa_main_process_pvt.create_role');
918: END IF;
919:
920: -- Get the planning cycle ID
913:
914: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
915: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
916: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
917: 'Entering fpa_main_process_pvt.create_role');
918: END IF;
919:
920: -- Get the planning cycle ID
921: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_item_type,
943: END IF;
944:
945: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
946: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
947: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
948: 'value of l_notify_role='||l_notify_role||'l_approver='||l_approver||'l_analyst='||l_analyst||'l_pcdlist='||l_pcdlist||'l_projmg='||l_projmg);
949: END IF;
950:
951: -- Create adhoc role. This will be used to send the notifications
960: EXCEPTION
961: WHEN WF_API_EXCEPTION THEN
962: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
963: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
964: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.exception',
965: SQLERRM);
966: END IF;
967:
968: END;
988: p_user_exists := l_user_exists;
989:
990: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
991: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
992: 'fpa.sql.fpa_main_process_pvt.create_role.end',
993: 'Entering fpa_main_process_pvt.create_role,value of p_user_exists'||p_user_exists);
994: END IF;
995:
996: EXCEPTION
989:
990: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
991: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
992: 'fpa.sql.fpa_main_process_pvt.create_role.end',
993: 'Entering fpa_main_process_pvt.create_role,value of p_user_exists'||p_user_exists);
994: END IF;
995:
996: EXCEPTION
997: WHEN OTHERS THEN
996: EXCEPTION
997: WHEN OTHERS THEN
998: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
999: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1000: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.end',
1001: SQLERRM);
1002: END IF;
1003: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CREATE_ROLE', SQLERRM);
1004: RAISE;
999: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1000: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.end',
1001: SQLERRM);
1002: END IF;
1003: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CREATE_ROLE', SQLERRM);
1004: RAISE;
1005: END CREATE_ROLE;
1006:
1007: -- Workflow Procedure to fetch all the users defined in the distribution list of the
1020:
1021: /* Get the list of users having project manager role */
1022: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1023: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1024: 'fpa.sql.fpa_main_process_pvt.get_dlist.begin',
1025: 'Entering fpa_main_process_pvt.get_dlist');
1026: END IF;
1027:
1028: -- Do not perform anything in CANCEL or TIMEOUT mode
1021: /* Get the list of users having project manager role */
1022: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1023: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1024: 'fpa.sql.fpa_main_process_pvt.get_dlist.begin',
1025: 'Entering fpa_main_process_pvt.get_dlist');
1026: END IF;
1027:
1028: -- Do not perform anything in CANCEL or TIMEOUT mode
1029: IF (p_funcmode <> wf_engine.eng_run) THEN
1044:
1045:
1046: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1047: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1048: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1049: 'Exiting fpa_main_process_pvt.get_dlist');
1050: END IF;
1051:
1052: EXCEPTION
1045:
1046: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1047: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1048: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1049: 'Exiting fpa_main_process_pvt.get_dlist');
1050: END IF;
1051:
1052: EXCEPTION
1053: WHEN OTHERS THEN
1052: EXCEPTION
1053: WHEN OTHERS THEN
1054: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1055: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1056: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1057: SQLERRM);
1058: END IF;
1059: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_dlist, SQLERRM);
1060: RAISE;
1055: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1056: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1057: SQLERRM);
1058: END IF;
1059: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_dlist, SQLERRM);
1060: RAISE;
1061: END GET_DLIST;
1062:
1063:
1076:
1077: -- Get the list of users to be notified
1078: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1079: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1080: 'fpa.sql.fpa_main_process_pvt.get_alist.begin',
1081: 'Entering fpa_main_process_pvt.get_alist');
1082: END IF;
1083:
1084: -- Do not perform anything in CANCEL or TIMEOUT mode
1077: -- Get the list of users to be notified
1078: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1079: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1080: 'fpa.sql.fpa_main_process_pvt.get_alist.begin',
1081: 'Entering fpa_main_process_pvt.get_alist');
1082: END IF;
1083:
1084: -- Do not perform anything in CANCEL or TIMEOUT mode
1085: IF (p_funcmode <> wf_engine.eng_run) THEN
1099: END IF;
1100:
1101: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1102: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1103: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1104: 'Exiting fpa_main_process_pvt.get_alist');
1105: END IF;
1106: EXCEPTION
1107: WHEN OTHERS THEN
1100:
1101: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1102: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1103: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1104: 'Exiting fpa_main_process_pvt.get_alist');
1105: END IF;
1106: EXCEPTION
1107: WHEN OTHERS THEN
1108: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1106: EXCEPTION
1107: WHEN OTHERS THEN
1108: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1109: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1110: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1111: SQLERRM);
1112: END IF;
1113: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_users, SQLERRM);
1114: RAISE;
1109: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1110: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1111: SQLERRM);
1112: END IF;
1113: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_users, SQLERRM);
1114: RAISE;
1115: END GET_ALIST;
1116:
1117: -- Workflow Procedure to fetch all the users defined as portfolio approvers
1129:
1130: /* Get the list of users having project manager role */
1131: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1132: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1133: 'fpa.sql.fpa_main_process_pvt.get_approver.begin',
1134: 'Entering fpa_main_process_pvt.get_approver');
1135: END IF;
1136:
1137: -- Do not perform anything in CANCEL or TIMEOUT mode
1130: /* Get the list of users having project manager role */
1131: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1132: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1133: 'fpa.sql.fpa_main_process_pvt.get_approver.begin',
1134: 'Entering fpa_main_process_pvt.get_approver');
1135: END IF;
1136:
1137: -- Do not perform anything in CANCEL or TIMEOUT mode
1138: IF (p_funcmode <> wf_engine.eng_run) THEN
1153:
1154:
1155: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1156: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1157: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1158: 'Exiting fpa_main_process_pvt.get_approver');
1159: END IF;
1160:
1161: EXCEPTION
1154:
1155: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1156: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1157: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1158: 'Exiting fpa_main_process_pvt.get_approver');
1159: END IF;
1160:
1161: EXCEPTION
1162: WHEN OTHERS THEN
1161: EXCEPTION
1162: WHEN OTHERS THEN
1163: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1164: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1165: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1166: SQLERRM);
1167: END IF;
1168: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_DLIST', SQLERRM);
1169: RAISE;
1164: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1165: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1166: SQLERRM);
1167: END IF;
1168: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_DLIST', SQLERRM);
1169: RAISE;
1170: END GET_APPROVER;
1171:
1172:
1184:
1185: /* Get the list of users having project manager role */
1186: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1187: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1188: 'fpa.sql.fpa_main_process_pvt.get_analyst.begin',
1189: 'Entering fpa_main_process_pvt.get_analyst');
1190: END IF;
1191:
1192: -- Do not perform anything in CANCEL or TIMEOUT mode
1185: /* Get the list of users having project manager role */
1186: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1187: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1188: 'fpa.sql.fpa_main_process_pvt.get_analyst.begin',
1189: 'Entering fpa_main_process_pvt.get_analyst');
1190: END IF;
1191:
1192: -- Do not perform anything in CANCEL or TIMEOUT mode
1193: IF (p_funcmode <> wf_engine.eng_run) THEN
1208:
1209:
1210: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1211: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1212: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1213: 'Exiting fpa_main_process_pvt.get_analyst');
1214: END IF;
1215:
1216: EXCEPTION
1209:
1210: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1211: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1212: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1213: 'Exiting fpa_main_process_pvt.get_analyst');
1214: END IF;
1215:
1216: EXCEPTION
1217: WHEN OTHERS THEN
1216: EXCEPTION
1217: WHEN OTHERS THEN
1218: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1219: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1220: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1221: SQLERRM);
1222: END IF;
1223: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_analyst, SQLERRM);
1224: RAISE;
1219: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1220: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1221: SQLERRM);
1222: END IF;
1223: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_analyst, SQLERRM);
1224: RAISE;
1225: END GET_ANALYST;
1226:
1227:
1242:
1243: /* Get the list of users having project manager role */
1244: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1245: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1246: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.begin',
1247: 'Entering fpa_main_process_pvt.get_pc_managers');
1248: END IF;
1249:
1250: -- Do not perform anything in CANCEL or TIMEOUT mode
1243: /* Get the list of users having project manager role */
1244: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1245: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1246: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.begin',
1247: 'Entering fpa_main_process_pvt.get_pc_managers');
1248: END IF;
1249:
1250: -- Do not perform anything in CANCEL or TIMEOUT mode
1251: IF (p_funcmode <> wf_engine.eng_run) THEN
1266:
1267:
1268: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1269: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1270: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1271: 'Exiting fpa_main_process_pvt.get_pc_managers');
1272: END IF;
1273:
1274: EXCEPTION
1267:
1268: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1269: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1270: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1271: 'Exiting fpa_main_process_pvt.get_pc_managers');
1272: END IF;
1273:
1274: EXCEPTION
1275: WHEN OTHERS THEN
1274: EXCEPTION
1275: WHEN OTHERS THEN
1276: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1277: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1278: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1279: SQLERRM);
1280: END IF;
1281: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_manager, SQLERRM);
1282: RAISE;
1277: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1278: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1279: SQLERRM);
1280: END IF;
1281: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_manager, SQLERRM);
1282: RAISE;
1283: END GET_PC_MANAGERS;
1284:
1285: /* Wrapper calls */
1303: EXCEPTION
1304: WHEN OTHERS THEN
1305: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1306: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1307: 'fpa.sql.fpa_main_process_pvt.call_proj_load.end',
1308: SQLERRM);
1309: END IF;
1310: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJ_LOAD', SQLERRM);
1311: RAISE;
1306: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1307: 'fpa.sql.fpa_main_process_pvt.call_proj_load.end',
1308: SQLERRM);
1309: END IF;
1310: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJ_LOAD', SQLERRM);
1311: RAISE;
1312: END CALL_PROJ_LOAD;
1313:
1314:
1335: BEGIN
1336:
1337: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1338: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1339: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1340: 'Entering fpa_main_process_pvt.call_create_initial_scenario');
1341: END IF;
1342:
1343: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1336:
1337: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1338: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1339: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1340: 'Entering fpa_main_process_pvt.call_create_initial_scenario');
1341: END IF;
1342:
1343: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1344: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1341: END IF;
1342:
1343: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1344: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1345: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1346: 'Getting Planning Cycle ID.');
1347: END IF;
1348:
1349:
1353: aname => 'FPA_PC_ID');
1354:
1355: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1356: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1357: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1358: 'Getting Initial scenario name.');
1359: END IF;
1360:
1361: -- Get the Initial Scenario name and description
1370: END;
1371:
1372: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1373: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1374: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1375: 'Getting discount rate and funds available.');
1376: END IF;
1377:
1378: -- Get the discount rate and funds available
1394: l_scenario_desc := l_scenario_name;
1395:
1396: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1397: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1398: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1399: 'Calling fpa_scenario_pvt.create_scenario.');
1400: END IF;
1401:
1402: -- Create a scenario
1411: x_msg_data => l_msg_data);
1412:
1413: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1414: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1415: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1416: 'Calling fpa_scenario_pvt.update_scenario_disc_rate.');
1417: END IF;
1418:
1419: -- Set the discount rate
1426: x_msg_data => l_msg_data);
1427:
1428: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1429: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1430: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1431: 'Calling fpa_scenario_pvt.update_scenario_funds_avail.');
1432: END IF;
1433:
1434: -- Set the funds available
1442:
1443:
1444: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1445: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1446: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1447: 'Calling fpa_scenario_pvt.update_scenario_initial_flag.');
1448: END IF;
1449:
1450: -- Set scenario just created as the Initial Scenario
1456: x_msg_data => l_msg_data);
1457:
1458: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1459: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1460: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1461: 'Calling fpa_scenario_pvt.update_scenario_working_flag.');
1462: END IF;
1463:
1464: -- Set scenario just created as the Working Scenario.
1470: x_msg_data => l_msg_data);
1471:
1472: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1473: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1474: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1475: 'Calling Fpa_Project_Pvt.Load_Project_Details_Aw.');
1476: END IF;
1477:
1478: Fpa_Project_Pvt.Load_Project_Details_Aw(
1487: );
1488:
1489: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1490: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1491: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1492: 'Calling fpa_scenario_pvt.calc_scenario_data.');
1493: END IF;
1494:
1495: fpa_scenario_pvt.calc_scenario_data
1505: );
1506:
1507: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1508: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1509: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1510: 'Calling fpa_scorecard_pvt.calc_scenario_data.');
1511: END IF;
1512:
1513: fpa_scorecards_pvt.Calc_Scenario_Wscores_Aw
1522:
1523:
1524: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1525: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1526: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1527: 'Calling wf_engine.SetItemAttrNumber.');
1528: END IF;
1529:
1530: wf_engine.SetItemAttrNumber(itemtype => p_itemtype,
1537: EXCEPTION
1538: WHEN OTHERS THEN
1539: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1540: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1541: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.end',
1542: SQLERRM);
1543: END IF;
1544:
1545: wf_core.context('FPA_MAIN_PROCESS_PVT',
1541: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.end',
1542: SQLERRM);
1543: END IF;
1544:
1545: wf_core.context('FPA_MAIN_PROCESS_PVT',
1546: 'CALL_CREATE_INITIAL_SCENARIO',
1547: SQLERRM);
1548:
1549: /*
1594: EXCEPTION
1595: WHEN OTHERS THEN
1596: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1597: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1598: 'fpa.sql.fpa_main_process_pvt.call_set_status.end',
1599: SQLERRM);
1600: END IF;
1601: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_SET_STATUS', SQLERRM);
1602: RAISE;
1597: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1598: 'fpa.sql.fpa_main_process_pvt.call_set_status.end',
1599: SQLERRM);
1600: END IF;
1601: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_SET_STATUS', SQLERRM);
1602: RAISE;
1603: END CALL_SET_STATUS;
1604:
1605:
1621: BEGIN
1622:
1623: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1624: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1625: 'fpa.sql.fpa_main_process_pvt.call_project_sets.begin',
1626: 'Entering fpa_main_process_pvt.call_project_sets');
1627: END IF;
1628:
1629: -- Gets the Scenario ID
1622:
1623: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1624: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1625: 'fpa.sql.fpa_main_process_pvt.call_project_sets.begin',
1626: 'Entering fpa_main_process_pvt.call_project_sets');
1627: END IF;
1628:
1629: -- Gets the Scenario ID
1630: l_scen_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
1641: x_msg_count => l_msg_count);
1642:
1643: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1644: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1645: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1646: 'Exiting fpa_main_process_pvt.call_project_sets');
1647: END IF;
1648:
1649: x_resultout := wf_engine.eng_null;
1642:
1643: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1644: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1645: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1646: 'Exiting fpa_main_process_pvt.call_project_sets');
1647: END IF;
1648:
1649: x_resultout := wf_engine.eng_null;
1650:
1651: EXCEPTION
1652: WHEN OTHERS THEN
1653: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1654: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1655: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1656: SQLERRM);
1657: END IF;
1658: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJECT_SETS', SQLERRM);
1659:
1654: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1655: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1656: SQLERRM);
1657: END IF;
1658: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJECT_SETS', SQLERRM);
1659:
1660: /*
1661: -- Detach AW Workspace
1662: fpa_utilities_pvt.detach_AW(p_api_version => 1.0,
1687: aname => 'FPA_APPROVE_PC');
1688:
1689: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1690: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1691: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.begin',
1692: 'value of l_is_approved'|| l_is_approved||'p_itemkey '||p_itemkey||'p_funcmode '||p_funcmode);
1693: END IF;
1694:
1695: IF (l_is_approved = 'Y') THEN
1701: EXCEPTION
1702: WHEN OTHERS THEN
1703: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1704: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1705: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.end',
1706: SQLERRM);
1707: END IF;
1708: wf_core.context('FPA_MAIN_PROCESS_PVT', 'IS_PLAN_APPROVED', SQLERRM);
1709: RAISE;
1704: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1705: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.end',
1706: SQLERRM);
1707: END IF;
1708: wf_core.context('FPA_MAIN_PROCESS_PVT', 'IS_PLAN_APPROVED', SQLERRM);
1709: RAISE;
1710: END IS_PLAN_APPROVED;
1711:
1712:
1748: EXCEPTION
1749: WHEN OTHERS THEN
1750: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1751: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1752: 'fpa.sql.fpa_main_process_pvt.set_status_analysis.end',
1753: SQLERRM);
1754: END IF;
1755: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_ANALYSIS', SQLERRM);
1756:
1751: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1752: 'fpa.sql.fpa_main_process_pvt.set_status_analysis.end',
1753: SQLERRM);
1754: END IF;
1755: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_ANALYSIS', SQLERRM);
1756:
1757: RAISE;
1758: END SET_STATUS_ANALYSIS;
1759:
1775: BEGIN
1776:
1777: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1778: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1779: 'fpa.sql.fpa_main_process_pvt.set_status_approved.begin',
1780: 'Entering fpa_main_process_pvt.set_status_approved p_itemkey'||p_itemkey);
1781: END IF;
1782:
1783: -- Get the Planning Cycle ID
1776:
1777: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1778: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1779: 'fpa.sql.fpa_main_process_pvt.set_status_approved.begin',
1780: 'Entering fpa_main_process_pvt.set_status_approved p_itemkey'||p_itemkey);
1781: END IF;
1782:
1783: -- Get the Planning Cycle ID
1784: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
1797:
1798:
1799: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1800: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1801: 'fpa.sql.fpa_main_process_pvt.set_status_approved',
1802: 'Value of l_pc_id ='||l_pc_id||' Value of l_pc_status='||l_pc_status||' Value of l_pc_approve ='||l_pc_approve);
1803: END IF;
1804:
1805:
1814: x_resultout := wf_engine.eng_null;
1815:
1816: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1817: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1818: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1819: 'Exiting fpa_main_process_pvt.set_status_approved');
1820: END IF;
1821:
1822: EXCEPTION
1815:
1816: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1817: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1818: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1819: 'Exiting fpa_main_process_pvt.set_status_approved');
1820: END IF;
1821:
1822: EXCEPTION
1823: WHEN OTHERS THEN
1822: EXCEPTION
1823: WHEN OTHERS THEN
1824: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1825: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1826: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1827: SQLERRM);
1828: END IF;
1829: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_APPROVED', SQLERRM);
1830:
1825: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1826: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1827: SQLERRM);
1828: END IF;
1829: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_APPROVED', SQLERRM);
1830:
1831: RAISE;
1832: END SET_STATUS_APPROVED;
1833:
1849:
1850: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1851: FND_LOG.String
1852: ( FND_LOG.LEVEL_PROCEDURE,
1853: 'fpa.sql.FPA_main_process_pvt.set_status_closed.begin',
1854: 'Calling FPA_PlanningCycle_Pvt.set_pc_status'
1855: );
1856: END IF;
1857:
1872:
1873: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1874: FND_LOG.String
1875: ( FND_LOG.LEVEL_PROCEDURE,
1876: 'FPA_main_process_pvt.set_status_closed',
1877: 'Calling FPA_PlanningCycle_Pvt.Set_Pc_Approved_Flag.'
1878: );
1879: END IF;
1880:
1891:
1892: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1893: FND_LOG.String
1894: ( FND_LOG.LEVEL_PROCEDURE,
1895: 'fpa.sql.FPA_main_process_pvt.set_status_closed.end',
1896: 'FPA_main_process_pvt.set_status_closed.end'
1897: );
1898: END IF;
1899:
1892: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1893: FND_LOG.String
1894: ( FND_LOG.LEVEL_PROCEDURE,
1895: 'fpa.sql.FPA_main_process_pvt.set_status_closed.end',
1896: 'FPA_main_process_pvt.set_status_closed.end'
1897: );
1898: END IF;
1899:
1900: EXCEPTION
1900: EXCEPTION
1901: WHEN OTHERS THEN
1902: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1903: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1904: 'fpa.sql.fpa_main_process_pvt.set_status_closed.end',
1905: SQLERRM);
1906: END IF;
1907: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_CLOSED', SQLERRM);
1908:
1903: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1904: 'fpa.sql.fpa_main_process_pvt.set_status_closed.end',
1905: SQLERRM);
1906: END IF;
1907: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_CLOSED', SQLERRM);
1908:
1909: RAISE;
1910: END SET_STATUS_CLOSED;
1911:
1948: WHEN OTHERS THEN
1949: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1950: fnd_log.string(
1951: FND_LOG.LEVEL_PROCEDURE,
1952: 'fpa.sql.fpa_main_process_pvt.set_status_collecting.end',
1953: SQLERRM);
1954: END IF;
1955: wf_core.context('FPA_MAIN_PROCESS_PVT',
1956: 'SET_STATUS_COLLECTING',
1951: FND_LOG.LEVEL_PROCEDURE,
1952: 'fpa.sql.fpa_main_process_pvt.set_status_collecting.end',
1953: SQLERRM);
1954: END IF;
1955: wf_core.context('FPA_MAIN_PROCESS_PVT',
1956: 'SET_STATUS_COLLECTING',
1957: SQLERRM);
1958:
1959: RAISE;
1999: WHEN OTHERS THEN
2000: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2001: fnd_log.string(
2002: FND_LOG.LEVEL_PROCEDURE,
2003: 'fpa.sql.fpa_main_process_pvt.set_status_submitted.end',
2004: SQLERRM);
2005: END IF;
2006: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_SUBMITTED', SQLERRM);
2007:
2002: FND_LOG.LEVEL_PROCEDURE,
2003: 'fpa.sql.fpa_main_process_pvt.set_status_submitted.end',
2004: SQLERRM);
2005: END IF;
2006: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_SUBMITTED', SQLERRM);
2007:
2008: /*
2009: -- Detach AW Workspace
2010: fpa_utilities_pvt.detach_AW(p_api_version => 1.0,
2028: BEGIN
2029:
2030: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2031: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2032: 'fpa.sql.fpa_main_process_pvt.force_user_action.begin',
2033: 'Entering fpa_main_process_pvt.force_user_action');
2034: END IF;
2035:
2036: -- Raise the user forced event
2029:
2030: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2031: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2032: 'fpa.sql.fpa_main_process_pvt.force_user_action.begin',
2033: 'Entering fpa_main_process_pvt.force_user_action');
2034: END IF;
2035:
2036: -- Raise the user forced event
2037: wf_event.raise(p_event_name, p_itemkey, null, null);
2037: wf_event.raise(p_event_name, p_itemkey, null, null);
2038:
2039: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2040: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2041: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2042: 'Exiting fpa_main_process_pvt.force_user_action');
2043: END IF;
2044:
2045: EXCEPTION
2038:
2039: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2040: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2041: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2042: 'Exiting fpa_main_process_pvt.force_user_action');
2043: END IF;
2044:
2045: EXCEPTION
2046: WHEN OTHERS THEN
2045: EXCEPTION
2046: WHEN OTHERS THEN
2047: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2048: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2049: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2050: SQLERRM);
2051: END IF;
2052: wf_core.context('FPA_MAIN_PROCESS_PVT', 'FORCE_USER_ACTION', SQLERRM);
2053: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2048: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2049: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2050: SQLERRM);
2051: END IF;
2052: wf_core.context('FPA_MAIN_PROCESS_PVT', 'FORCE_USER_ACTION', SQLERRM);
2053: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2054: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2055: p_data => x_msg_data
2056: );
2077: BEGIN
2078:
2079: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2080: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2081: 'fpa.sql.fpa_main_process_pvt.submit_plan.begin',
2082: 'Entering fpa_main_process_pvt.submit_plan value of p_itemkey'||p_itemkey);
2083: END IF;
2084:
2085: l_eventkey := 'FPAL' ||p_itemkey;
2078:
2079: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2080: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2081: 'fpa.sql.fpa_main_process_pvt.submit_plan.begin',
2082: 'Entering fpa_main_process_pvt.submit_plan value of p_itemkey'||p_itemkey);
2083: END IF;
2084:
2085: l_eventkey := 'FPAL' ||p_itemkey;
2086:
2108: -- COMMIT;
2109:
2110: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2111: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2112: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2113: 'Exiting fpa_main_process_pvt.submit_plan');
2114: END IF;
2115:
2116: EXCEPTION
2109:
2110: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2111: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2112: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2113: 'Exiting fpa_main_process_pvt.submit_plan');
2114: END IF;
2115:
2116: EXCEPTION
2117: WHEN OTHERS THEN
2116: EXCEPTION
2117: WHEN OTHERS THEN
2118: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2119: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2120: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2121: SQLERRM);
2122: END IF;
2123: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SUBMIT_PLAN', SQLERRM);
2124: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2119: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2120: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2121: SQLERRM);
2122: END IF;
2123: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SUBMIT_PLAN', SQLERRM);
2124: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2125: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2126: p_data => x_msg_data
2127: );
2147: BEGIN
2148:
2149: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2150: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2151: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.begin',
2152: 'Entering fpa_main_process_pvt.approve_reject_plan ACTION : '||p_event_name);
2153: END IF;
2154:
2155: l_eventkey := 'FPAL' ||p_itemkey;
2148:
2149: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2150: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2151: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.begin',
2152: 'Entering fpa_main_process_pvt.approve_reject_plan ACTION : '||p_event_name);
2153: END IF;
2154:
2155: l_eventkey := 'FPAL' ||p_itemkey;
2156:
2167: END IF;
2168:
2169: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2170: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2171: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2172: 'Calling fpa_utilities_pvt.attach_AW');
2173: END IF;
2174:
2175: -- Attach AW Workspace
2182:
2183: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2184: FND_LOG.String
2185: ( FND_LOG.LEVEL_PROCEDURE,
2186: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2187: 'Obtaining Approved Scenario Id for current Planning Cycle.'
2188: );
2189: END IF;
2190:
2197:
2198: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2199: FND_LOG.String
2200: ( FND_LOG.LEVEL_PROCEDURE,
2201: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2202: 'Approved Scenario Id '||l_sce_id
2203: );
2204: END IF;
2205:
2210:
2211: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2212: FND_LOG.String
2213: ( FND_LOG.LEVEL_PROCEDURE,
2214: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2215: 'Calling FPA_SCORECARDS_PVT.Update_Scenario_App_Scores.'
2216: );
2217: END IF;
2218:
2227:
2228: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2229: FND_LOG.String
2230: ( FND_LOG.LEVEL_PROCEDURE,
2231: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2232: 'Calling FPA_Project_PVT.UPDATE_PROJ_FUNDING_STATUS.'
2233: );
2234: END IF;
2235:
2245:
2246: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2247: FND_LOG.String
2248: ( FND_LOG.LEVEL_PROCEDURE,
2249: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2250: 'Calling FPA_Portfolio_Project_sets_Pvt.add_project_set_lines'
2251: );
2252: END IF;
2253:
2269:
2270: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2271: FND_LOG.String
2272: ( FND_LOG.LEVEL_PROCEDURE,
2273: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2274: 'Reject Plan: Approved Scenario Id '||l_sce_id
2275: );
2276: END IF;
2277: -- dbms_aw.execute('ALLSTAT');
2291:
2292: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2293: FND_LOG.String
2294: ( FND_LOG.LEVEL_PROCEDURE,
2295: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2296: 'Approve/ Reject Plan procedure calls ');
2297: END IF;
2298:
2299: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2297: END IF;
2298:
2299: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2300: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2301: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2302: 'Calling wf_event.raise');
2303: END IF;
2304:
2305: -- Raise the submit plan event
2312:
2313:
2314: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2315: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2316: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2317: 'Calling fpa_utilities_pvt.detach_AW');
2318: END IF;
2319:
2320: -- Detach AW Workspace
2326:
2327:
2328: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2329: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2330: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2331: 'Exiting fpa_main_process_pvt.approve_reject_plan');
2332: END IF;
2333:
2334: EXCEPTION
2327:
2328: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2329: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2330: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2331: 'Exiting fpa_main_process_pvt.approve_reject_plan');
2332: END IF;
2333:
2334: EXCEPTION
2335: WHEN OTHERS THEN
2334: EXCEPTION
2335: WHEN OTHERS THEN
2336: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2337: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2338: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2339: SQLERRM);
2340: END IF;
2341: -- Bug 4331948 If Exception raised during Approve/Reject Plan, A/w should be detached
2342: -- Detach AW Workspace
2347: x_msg_count => x_msg_count,
2348: x_msg_data => x_msg_data
2349: );
2350:
2351: wf_core.context('FPA_MAIN_PROCESS_PVT', 'APPROVE_REJECT_PLAN', SQLERRM);
2352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2353: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2354: p_data => x_msg_data
2355: );
2375: BEGIN
2376:
2377: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2378: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2379: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2380: 'Entering fpa_main_process_pvt.copy_proj_from_prev_pc ');
2381: END IF;
2382:
2383: -- Get the Planning Cycle ID
2376:
2377: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2378: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2379: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2380: 'Entering fpa_main_process_pvt.copy_proj_from_prev_pc ');
2381: END IF;
2382:
2383: -- Get the Planning Cycle ID
2384: l_last_pc_id := NULL;
2389: IF NVL(l_last_pc_id,-1) <> -1 THEN --Bug 4237493 : Introduced for scenario where there is no last PC
2390:
2391: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2392: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2393: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2394: 'Setting Last Planning cycle ID to the planning_cycle_d');
2395: END IF;
2396:
2397: dbms_aw.execute('PUSH planning_cycle_d');
2408: l_count := l_project_id_tbl.COUNT;
2409:
2410: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2411: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2412: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2413: 'NUmber of projects fetched from last PC '||l_count);
2414: END IF;
2415:
2416: FOR i in 1 .. l_count
2417: LOOP
2418:
2419: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2420: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2421: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2422: 'Looping for l_project_id_tbl(i) = '||l_project_id_tbl(i));
2423: END IF;
2424:
2425: FPA_PROJECT_PVT.Submit_Project_Aw(
2437: x_resultout := wf_engine.eng_null;
2438:
2439: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2440: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2441: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2442: 'Exiting fpa_main_process_pvt.copy_proj_from_prev_pc');
2443: END IF;
2444:
2445:
2438:
2439: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2440: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2441: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2442: 'Exiting fpa_main_process_pvt.copy_proj_from_prev_pc');
2443: END IF;
2444:
2445:
2446: EXCEPTION
2446: EXCEPTION
2447: WHEN OTHERS THEN
2448: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2449: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2450: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2451: SQLERRM);
2452: END IF;
2453: wf_core.context('FPA_MAIN_PROCESS_PVT', 'COPY_PROJ_FROM_PREV_PC', SQLERRM);
2454: RAISE;
2449: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2450: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2451: SQLERRM);
2452: END IF;
2453: wf_core.context('FPA_MAIN_PROCESS_PVT', 'COPY_PROJ_FROM_PREV_PC', SQLERRM);
2454: RAISE;
2455: END COPY_PROJ_FROM_PREV_PC;
2456:
2457: --Procedure to attach AW for workflow
2470: BEGIN
2471:
2472: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2473: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2474: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.begin',
2475: 'Entering fpa_main_process_pvt.wf_attach_aw ');
2476: END IF;
2477:
2478: Fpa_Utilities_Pvt.attach_AW
2471:
2472: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2473: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2474: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.begin',
2475: 'Entering fpa_main_process_pvt.wf_attach_aw ');
2476: END IF;
2477:
2478: Fpa_Utilities_Pvt.attach_AW
2479: (
2495: x_resultout := wf_engine.eng_null;
2496:
2497: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2498: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2499: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2500: 'Entering fpa_main_process_pvt.wf_attach_aw');
2501: END IF;
2502:
2503: EXCEPTION
2496:
2497: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2498: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2499: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2500: 'Entering fpa_main_process_pvt.wf_attach_aw');
2501: END IF;
2502:
2503: EXCEPTION
2504: WHEN OTHERS THEN
2503: EXCEPTION
2504: WHEN OTHERS THEN
2505: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2506: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2507: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2508: SQLERRM);
2509: END IF;
2510: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_ATTACH_AW', SQLERRM);
2511: RAISE;
2506: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2507: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2508: SQLERRM);
2509: END IF;
2510: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_ATTACH_AW', SQLERRM);
2511: RAISE;
2512:
2513: END;
2514:
2527: BEGIN
2528:
2529: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2530: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2531: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2532: 'Entering fpa_main_process_pvt.wf_detach_aw ');
2533: END IF;
2534:
2535: -- Sets the Planning Cycle ID
2528:
2529: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2530: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2531: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2532: 'Entering fpa_main_process_pvt.wf_detach_aw ');
2533: END IF;
2534:
2535: -- Sets the Planning Cycle ID
2536: l_wf_aw_attached := 'N';
2539: aname => 'FPA_WF_AW_ATTACHED');
2540:
2541: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2542: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2543: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2544: 'Value of l_wf_aw_attached '||l_wf_aw_attached);
2545: END IF;
2546:
2547: IF NVL(l_wf_aw_attached,'N') = 'Y' THEN
2562: x_resultout := wf_engine.eng_null;
2563:
2564: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2565: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2566: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2567: 'Entering fpa_main_process_pvt.wf_detach_aw');
2568: END IF;
2569:
2570: EXCEPTION
2563:
2564: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2565: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2566: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2567: 'Entering fpa_main_process_pvt.wf_detach_aw');
2568: END IF;
2569:
2570: EXCEPTION
2571: WHEN OTHERS THEN
2570: EXCEPTION
2571: WHEN OTHERS THEN
2572: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2573: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2574: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2575: SQLERRM);
2576: END IF;
2577: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_DETACH_AW', SQLERRM);
2578: RAISE;
2573: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2574: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2575: SQLERRM);
2576: END IF;
2577: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_DETACH_AW', SQLERRM);
2578: RAISE;
2579:
2580: END;
2581:
2578: RAISE;
2579:
2580: END;
2581:
2582: END FPA_MAIN_PROCESS_PVT;