1: PACKAGE BODY FPA_MAIN_PROCESS_PVT AS
2: /* $Header: FPAXWFMB.pls 120.6.12010000.1 2008/07/30 16:28:18 appldev 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
63: BEGIN
64:
65: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
66: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
67: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.begin',
68: 'Entering fpa_main_process_pvt.get_wf_attributes');
69: END IF;
70:
71: OPEN PC_ATTRIBUTES_CSR(P_PC_ID);
64:
65: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
66: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
67: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.begin',
68: 'Entering fpa_main_process_pvt.get_wf_attributes');
69: END IF;
70:
71: OPEN PC_ATTRIBUTES_CSR(P_PC_ID);
72: FETCH PC_ATTRIBUTES_CSR
94: EXCEPTION
95: WHEN OTHERS THEN
96: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
97: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
98: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.end',
99: SQLERRM);
100: END IF;
101: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_WF_ATTRIBUTES', null);
102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
97: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
98: 'fpa.sql.fpa_main_process_pvt.get_wf_attributes.end',
99: SQLERRM);
100: END IF;
101: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_WF_ATTRIBUTES', null);
102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
103: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
104: p_data => x_msg_data);
105: RAISE;
166: BEGIN
167:
168: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
169: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
170: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.begin',
171: 'Entering fpa_main_process_pvt.initiate_workflow');
172: END IF;
173:
174: l_itemtype := 'FPAPJP';
167:
168: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
169: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
170: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.begin',
171: 'Entering fpa_main_process_pvt.initiate_workflow');
172: END IF;
173:
174: l_itemtype := 'FPAPJP';
175:
176: l_itemkey := p_pc_id;
177:
178: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
179: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
180: 'fpa.sql.fpa_main_process_pvt.initiate_workflow',
181: 'Starting the master workflow process');
182: END IF;
183:
184: -- wf_purge.items(l_itemtype,l_itemkey,sysdate,false,true);
258: itemkey => l_itemkey);
259:
260: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
261: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
262: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
263: 'Exiting fpa_main_process_pvt.initiate_workflow');
264: END IF;
265:
266: EXCEPTION
259:
260: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
261: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
262: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
263: 'Exiting fpa_main_process_pvt.initiate_workflow');
264: END IF;
265:
266: EXCEPTION
267: WHEN OTHERS THEN
266: EXCEPTION
267: WHEN OTHERS THEN
268: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
269: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
270: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
271: SQLERRM);
272: END IF;
273: wf_core.context('FPA_MAIN_PROCESS_PVT', 'INITIATE_WORKFLOW', null);
274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
269: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
270: 'fpa.sql.fpa_main_process_pvt.initiate_workflow.end',
271: SQLERRM);
272: END IF;
273: wf_core.context('FPA_MAIN_PROCESS_PVT', 'INITIATE_WORKFLOW', null);
274: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
275: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
276: p_data => x_msg_data
277: );
304: BEGIN
305:
306: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
307: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
308: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.begin',
309: 'Entering fpa_main_process_pvt.cancel_workflow');
310: END IF;
311:
312: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
305:
306: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
307: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
308: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.begin',
309: 'Entering fpa_main_process_pvt.cancel_workflow');
310: END IF;
311:
312: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
313: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
310: END IF;
311:
312: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
313: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
314: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
315: 'Cancelling the master WF process; Call wf_engine.AbortProcess');
316: END IF;
317:
318: -- Cancels the main process
321: process => l_WFProcess);
322:
323: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
324: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
325: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
326: 'Canceled the master WF process; wf_engine.AbortProcess executed');
327: END IF;
328:
329: -- Reassign a new item key to the new process
330: l_itemkey := 'FPAF' || p_pc_id;
331:
332: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
333: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
334: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
335: 'l_item_key = '||l_itemkey||'; l_itemtype = '||l_itemtype);
336: END IF;
337:
338: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
336: END IF;
337:
338: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
339: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
340: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
341: 'l_process = '||l_process||'; p_pc_id = '||p_pc_id);
342: END IF;
343:
344:
348: process => l_process);
349:
350: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
351: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
352: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
353: 'executed wf_engine.createProcess API');
354: END IF;
355:
356: -- Sets the Planning Cycle ID
361:
362:
363: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
364: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
365: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
366: 'executed wf_engine.SetItemAttrNumber API');
367: END IF;
368:
369: -- Sets the Due Date
373: avalue => p_due_date);
374:
375: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
376: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
377: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
378: 'executed wf_engine.SetItemAttrDate API');
379: END IF;
380:
381: -- Starts the workflow process
383: itemkey => l_itemkey);
384:
385: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
386: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
387: 'fpa.sql.fpa_main_process_pvt.cancel_workflow',
388: 'executed wf_engine.StartProcess API');
389: END IF;
390:
391:
390:
391:
392: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
393: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
394: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
395: 'Exiting fpa_main_process_pvt.cancel_workflow');
396: END IF;
397:
398: EXCEPTION
391:
392: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
393: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
394: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
395: 'Exiting fpa_main_process_pvt.cancel_workflow');
396: END IF;
397:
398: EXCEPTION
399: WHEN OTHERS THEN
398: EXCEPTION
399: WHEN OTHERS THEN
400: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
401: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
402: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
403: SQLERRM);
404: END IF;
405: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CANCEL_WORKFLOW', null);
406: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
401: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
402: 'fpa.sql.fpa_main_process_pvt.cancel_workflow.end',
403: SQLERRM);
404: END IF;
405: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CANCEL_WORKFLOW', null);
406: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
407: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
408: p_data => x_msg_data
409: );
437: BEGIN
438:
439: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
440: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
441: 'fpa.sql.fpa_main_process_pvt.launch_process.begin',
442: 'Entering fpa_main_process_pvt.launch_process');
443: END IF;
444:
445: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
438:
439: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
440: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
441: 'fpa.sql.fpa_main_process_pvt.launch_process.begin',
442: 'Entering fpa_main_process_pvt.launch_process');
443: END IF;
444:
445: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
446: itemkey => p_itemkey,
457: aname => 'FPA_SCENARIO_ID');
458:
459: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
460: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
461: 'fpa.sql.fpa_main_process_pvt.launch_process',
462: 'Starting the main workflow process');
463: END IF;
464:
465: -- Creates the workflow process
512: itemkey => l_itemkey);
513:
514: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
515: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
516: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
517: 'Exiting fpa_main_process_pvt.launch_process');
518: END IF;
519:
520: EXCEPTION
513:
514: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
515: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
516: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
517: 'Exiting fpa_main_process_pvt.launch_process');
518: END IF;
519:
520: EXCEPTION
521: WHEN OTHERS THEN
520: EXCEPTION
521: WHEN OTHERS THEN
522: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
523: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
524: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
525: SQLERRM);
526: END IF;
527: wf_core.context('FPA_MAIN_PROCESS_PVT', 'LAUNCH_PROCESS', null);
528: RAISE;
523: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
524: 'fpa.sql.fpa_main_process_pvt.launch_process.end',
525: SQLERRM);
526: END IF;
527: wf_core.context('FPA_MAIN_PROCESS_PVT', 'LAUNCH_PROCESS', null);
528: RAISE;
529: END LAUNCH_PROCESS;
530:
531: PROCEDURE RAISE_CLOSEPC_EVENT(p_pc_id IN NUMBER,
547: BEGIN
548:
549: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
550: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
551: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.begin',
552: 'Entering fpa_main_process_pvt.raise_closepc_event for p_pc_id'||p_pc_id);
553: END IF;
554:
555: FOR c_rec IN C_abort_activepcwf LOOP
548:
549: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
550: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
551: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.begin',
552: 'Entering fpa_main_process_pvt.raise_closepc_event for p_pc_id'||p_pc_id);
553: END IF;
554:
555: FOR c_rec IN C_abort_activepcwf LOOP
556:
555: FOR c_rec IN C_abort_activepcwf LOOP
556:
557: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
558: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
559: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
560: 'Aborting workflow process '||c_rec.item_key);
561: END IF;
562:
563: -- Cancels all the workflow process associated with this Planning cycle
571: l_itemkey := 'FPAC'||p_pc_id;
572:
573: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
574: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
575: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
576: 'Calling wf_event.AddParameterToList ');
577: END IF;
578:
579: wf_event.AddParameterToList('FPA_PC_ID',p_pc_id,l_parameter_list);
579: wf_event.AddParameterToList('FPA_PC_ID',p_pc_id,l_parameter_list);
580:
581: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
582: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
583: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event',
584: 'Raising event oracle.apps.fpa.event.planningcycle.closed');
585: END IF;
586:
587: -- Raise Event
592: l_parameter_list.DELETE;
593:
594: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
595: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
596: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.end',
597: 'Entering fpa_main_process_pvt.raise_closepc_event');
598: END IF;
599:
600: EXCEPTION
593:
594: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
595: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
596: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.end',
597: 'Entering fpa_main_process_pvt.raise_closepc_event');
598: END IF;
599:
600: EXCEPTION
601: WHEN OTHERS THEN
600: EXCEPTION
601: WHEN OTHERS THEN
602: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
603: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
604: 'fpa.sql.fpa_main_process_pvt.raise_closepc_event.exception',
605: SQLERRM);
606: END IF;
607: RAISE;
608: END RAISE_CLOSEPC_EVENT;
719:
720: -- Get the list of users to be notified
721: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
722: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
723: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
724: 'Entering fpa_main_process_pvt.GET_USERS for p_pcid '||p_pcid);
725: END IF;
726:
727: select
720: -- Get the list of users to be notified
721: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
722: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
723: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
724: 'Entering fpa_main_process_pvt.GET_USERS for p_pcid '||p_pcid);
725: END IF;
726:
727: select
728: org_structure_version_id into l_pjp_org_version_id
744: IF p_approver = 'Y' OR p_analyst = 'Y' THEN
745:
746: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
747: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
748: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
749: 'Fetching users associated with portfolio access list');
750: END IF;
751:
752: OPEN c_get_port_users;
784: IF p_pcdlist = 'Y' THEN
785:
786: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
787: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
788: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
789: 'Fetching users associated with planning cycle distribution list');
790: END IF;
791:
792: OPEN c_get_dlist_users;
822: IF p_projmg = 'Y' THEN
823:
824: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
825: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
826: 'fpa.sql.fpa_main_process_pvt.GET_USERS.begin',
827: 'Fetching users associated with project managers');
828: END IF;
829:
830: OPEN c_get_projmg_users;
844: END IF;
845:
846: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
847: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
848: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
849: 'Exiting fpa_main_process_pvt.GET_USERS l_user_exists value '||l_user_exists);
850: END IF;
851:
852: p_user_exists := l_user_exists;
845:
846: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
847: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
848: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
849: 'Exiting fpa_main_process_pvt.GET_USERS l_user_exists value '||l_user_exists);
850: END IF;
851:
852: p_user_exists := l_user_exists;
853:
854: EXCEPTION
855: WHEN OTHERS THEN
856: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
857: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
858: 'fpa.sql.fpa_main_process_pvt.GET_USERS.end',
859: SQLERRM);
860: END IF;
861:
862: IF c_get_port_users%ISOPEN THEN
894: BEGIN
895:
896: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
897: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
898: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
899: 'Entering fpa_main_process_pvt.create_role');
900: END IF;
901:
902: -- Get the planning cycle ID
895:
896: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
897: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
898: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
899: 'Entering fpa_main_process_pvt.create_role');
900: END IF;
901:
902: -- Get the planning cycle ID
903: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_item_type,
925: END IF;
926:
927: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
928: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
929: 'fpa.sql.fpa_main_process_pvt.create_role.begin',
930: 'value of l_notify_role='||l_notify_role||'l_approver='||l_approver||'l_analyst='||l_analyst||'l_pcdlist='||l_pcdlist||'l_projmg='||l_projmg);
931: END IF;
932:
933: -- Create adhoc role. This will be used to send the notifications
940: EXCEPTION
941: WHEN WF_API_EXCEPTION THEN
942: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
943: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
944: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.exception',
945: SQLERRM);
946: END IF;
947:
948: END;
967: p_user_exists := l_user_exists;
968:
969: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
970: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
971: 'fpa.sql.fpa_main_process_pvt.create_role.end',
972: 'Entering fpa_main_process_pvt.create_role,value of p_user_exists'||p_user_exists);
973: END IF;
974:
975: EXCEPTION
968:
969: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
970: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
971: 'fpa.sql.fpa_main_process_pvt.create_role.end',
972: 'Entering fpa_main_process_pvt.create_role,value of p_user_exists'||p_user_exists);
973: END IF;
974:
975: EXCEPTION
976: WHEN OTHERS THEN
975: EXCEPTION
976: WHEN OTHERS THEN
977: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
978: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
979: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.end',
980: SQLERRM);
981: END IF;
982: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CREATE_ROLE', SQLERRM);
983: RAISE;
978: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
979: 'fpa.sql.fpa_main_process_pvt.CREATE_ROLE.end',
980: SQLERRM);
981: END IF;
982: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CREATE_ROLE', SQLERRM);
983: RAISE;
984: END CREATE_ROLE;
985:
986: -- Workflow Procedure to fetch all the users defined in the distribution list of the
999:
1000: /* Get the list of users having project manager role */
1001: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1002: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1003: 'fpa.sql.fpa_main_process_pvt.get_dlist.begin',
1004: 'Entering fpa_main_process_pvt.get_dlist');
1005: END IF;
1006:
1007: -- Do not perform anything in CANCEL or TIMEOUT mode
1000: /* Get the list of users having project manager role */
1001: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1002: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1003: 'fpa.sql.fpa_main_process_pvt.get_dlist.begin',
1004: 'Entering fpa_main_process_pvt.get_dlist');
1005: END IF;
1006:
1007: -- Do not perform anything in CANCEL or TIMEOUT mode
1008: IF (p_funcmode <> wf_engine.eng_run) THEN
1023:
1024:
1025: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1026: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1027: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1028: 'Exiting fpa_main_process_pvt.get_dlist');
1029: END IF;
1030:
1031: EXCEPTION
1024:
1025: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1026: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1027: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1028: 'Exiting fpa_main_process_pvt.get_dlist');
1029: END IF;
1030:
1031: EXCEPTION
1032: WHEN OTHERS THEN
1031: EXCEPTION
1032: WHEN OTHERS THEN
1033: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1034: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1035: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1036: SQLERRM);
1037: END IF;
1038: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_dlist, SQLERRM);
1039: RAISE;
1034: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1035: 'fpa.sql.fpa_main_process_pvt.get_dlist.end',
1036: SQLERRM);
1037: END IF;
1038: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_dlist, SQLERRM);
1039: RAISE;
1040: END GET_DLIST;
1041:
1042:
1055:
1056: -- Get the list of users to be notified
1057: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1058: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1059: 'fpa.sql.fpa_main_process_pvt.get_alist.begin',
1060: 'Entering fpa_main_process_pvt.get_alist');
1061: END IF;
1062:
1063: -- Do not perform anything in CANCEL or TIMEOUT mode
1056: -- Get the list of users to be notified
1057: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1058: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1059: 'fpa.sql.fpa_main_process_pvt.get_alist.begin',
1060: 'Entering fpa_main_process_pvt.get_alist');
1061: END IF;
1062:
1063: -- Do not perform anything in CANCEL or TIMEOUT mode
1064: IF (p_funcmode <> wf_engine.eng_run) THEN
1078: END IF;
1079:
1080: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1081: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1082: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1083: 'Exiting fpa_main_process_pvt.get_alist');
1084: END IF;
1085: EXCEPTION
1086: WHEN OTHERS THEN
1079:
1080: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1081: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1082: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1083: 'Exiting fpa_main_process_pvt.get_alist');
1084: END IF;
1085: EXCEPTION
1086: WHEN OTHERS THEN
1087: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1085: EXCEPTION
1086: WHEN OTHERS THEN
1087: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1088: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1089: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1090: SQLERRM);
1091: END IF;
1092: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_users, SQLERRM);
1093: RAISE;
1088: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1089: 'fpa.sql.fpa_main_process_pvt.get_alist.end',
1090: SQLERRM);
1091: END IF;
1092: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_users, SQLERRM);
1093: RAISE;
1094: END GET_ALIST;
1095:
1096: -- Workflow Procedure to fetch all the users defined as portfolio approvers
1108:
1109: /* Get the list of users having project manager role */
1110: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1111: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1112: 'fpa.sql.fpa_main_process_pvt.get_approver.begin',
1113: 'Entering fpa_main_process_pvt.get_approver');
1114: END IF;
1115:
1116: -- Do not perform anything in CANCEL or TIMEOUT mode
1109: /* Get the list of users having project manager role */
1110: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1111: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1112: 'fpa.sql.fpa_main_process_pvt.get_approver.begin',
1113: 'Entering fpa_main_process_pvt.get_approver');
1114: END IF;
1115:
1116: -- Do not perform anything in CANCEL or TIMEOUT mode
1117: IF (p_funcmode <> wf_engine.eng_run) THEN
1132:
1133:
1134: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1135: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1136: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1137: 'Exiting fpa_main_process_pvt.get_approver');
1138: END IF;
1139:
1140: EXCEPTION
1133:
1134: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1135: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1136: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1137: 'Exiting fpa_main_process_pvt.get_approver');
1138: END IF;
1139:
1140: EXCEPTION
1141: WHEN OTHERS THEN
1140: EXCEPTION
1141: WHEN OTHERS THEN
1142: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1143: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1144: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1145: SQLERRM);
1146: END IF;
1147: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_DLIST', SQLERRM);
1148: RAISE;
1143: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1144: 'fpa.sql.fpa_main_process_pvt.get_approver.end',
1145: SQLERRM);
1146: END IF;
1147: wf_core.context('FPA_MAIN_PROCESS_PVT', 'GET_DLIST', SQLERRM);
1148: RAISE;
1149: END GET_APPROVER;
1150:
1151:
1163:
1164: /* Get the list of users having project manager role */
1165: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1166: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1167: 'fpa.sql.fpa_main_process_pvt.get_analyst.begin',
1168: 'Entering fpa_main_process_pvt.get_analyst');
1169: END IF;
1170:
1171: -- Do not perform anything in CANCEL or TIMEOUT mode
1164: /* Get the list of users having project manager role */
1165: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1166: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1167: 'fpa.sql.fpa_main_process_pvt.get_analyst.begin',
1168: 'Entering fpa_main_process_pvt.get_analyst');
1169: END IF;
1170:
1171: -- Do not perform anything in CANCEL or TIMEOUT mode
1172: IF (p_funcmode <> wf_engine.eng_run) THEN
1187:
1188:
1189: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1190: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1191: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1192: 'Exiting fpa_main_process_pvt.get_analyst');
1193: END IF;
1194:
1195: EXCEPTION
1188:
1189: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1190: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1191: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1192: 'Exiting fpa_main_process_pvt.get_analyst');
1193: END IF;
1194:
1195: EXCEPTION
1196: WHEN OTHERS THEN
1195: EXCEPTION
1196: WHEN OTHERS THEN
1197: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1198: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1199: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1200: SQLERRM);
1201: END IF;
1202: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_analyst, SQLERRM);
1203: RAISE;
1198: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1199: 'fpa.sql.fpa_main_process_pvt.get_analyst.end',
1200: SQLERRM);
1201: END IF;
1202: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_port_analyst, SQLERRM);
1203: RAISE;
1204: END GET_ANALYST;
1205:
1206:
1221:
1222: /* Get the list of users having project manager role */
1223: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1224: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1225: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.begin',
1226: 'Entering fpa_main_process_pvt.get_pc_managers');
1227: END IF;
1228:
1229: -- Do not perform anything in CANCEL or TIMEOUT mode
1222: /* Get the list of users having project manager role */
1223: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1224: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1225: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.begin',
1226: 'Entering fpa_main_process_pvt.get_pc_managers');
1227: END IF;
1228:
1229: -- Do not perform anything in CANCEL or TIMEOUT mode
1230: IF (p_funcmode <> wf_engine.eng_run) THEN
1245:
1246:
1247: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1248: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1249: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1250: 'Exiting fpa_main_process_pvt.get_pc_managers');
1251: END IF;
1252:
1253: EXCEPTION
1246:
1247: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1248: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1249: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1250: 'Exiting fpa_main_process_pvt.get_pc_managers');
1251: END IF;
1252:
1253: EXCEPTION
1254: WHEN OTHERS THEN
1253: EXCEPTION
1254: WHEN OTHERS THEN
1255: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1256: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1257: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1258: SQLERRM);
1259: END IF;
1260: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_manager, SQLERRM);
1261: RAISE;
1256: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1257: 'fpa.sql.fpa_main_process_pvt.get_pc_managers.end',
1258: SQLERRM);
1259: END IF;
1260: wf_core.context('FPA_MAIN_PROCESS_PVT', g_get_pc_manager, SQLERRM);
1261: RAISE;
1262: END GET_PC_MANAGERS;
1263:
1264: /* Wrapper calls */
1282: EXCEPTION
1283: WHEN OTHERS THEN
1284: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1285: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1286: 'fpa.sql.fpa_main_process_pvt.call_proj_load.end',
1287: SQLERRM);
1288: END IF;
1289: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJ_LOAD', SQLERRM);
1290: RAISE;
1285: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1286: 'fpa.sql.fpa_main_process_pvt.call_proj_load.end',
1287: SQLERRM);
1288: END IF;
1289: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJ_LOAD', SQLERRM);
1290: RAISE;
1291: END CALL_PROJ_LOAD;
1292:
1293:
1314: BEGIN
1315:
1316: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1317: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1318: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1319: 'Entering fpa_main_process_pvt.call_create_initial_scenario');
1320: END IF;
1321:
1322: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1315:
1316: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1317: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1318: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1319: 'Entering fpa_main_process_pvt.call_create_initial_scenario');
1320: END IF;
1321:
1322: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1323: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1320: END IF;
1321:
1322: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1323: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1324: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1325: 'Getting Planning Cycle ID.');
1326: END IF;
1327:
1328:
1332: aname => 'FPA_PC_ID');
1333:
1334: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1335: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1336: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1337: 'Getting Initial scenario name.');
1338: END IF;
1339:
1340: -- Get the Initial Scenario name and description
1349: END;
1350:
1351: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1352: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1353: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1354: 'Getting discount rate and funds available.');
1355: END IF;
1356:
1357: -- Get the discount rate and funds available
1373: l_scenario_desc := l_scenario_name;
1374:
1375: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1376: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1377: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1378: 'Calling fpa_scenario_pvt.create_scenario.');
1379: END IF;
1380:
1381: -- Create a scenario
1390: x_msg_data => l_msg_data);
1391:
1392: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1393: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1394: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1395: 'Calling fpa_scenario_pvt.update_scenario_disc_rate.');
1396: END IF;
1397:
1398: -- Set the discount rate
1405: x_msg_data => l_msg_data);
1406:
1407: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1408: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1409: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1410: 'Calling fpa_scenario_pvt.update_scenario_funds_avail.');
1411: END IF;
1412:
1413: -- Set the funds available
1421:
1422:
1423: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1424: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1425: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1426: 'Calling fpa_scenario_pvt.update_scenario_initial_flag.');
1427: END IF;
1428:
1429: -- Set scenario just created as the Initial Scenario
1435: x_msg_data => l_msg_data);
1436:
1437: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1438: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1439: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1440: 'Calling fpa_scenario_pvt.update_scenario_working_flag.');
1441: END IF;
1442:
1443: -- Set scenario just created as the Working Scenario.
1449: x_msg_data => l_msg_data);
1450:
1451: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1452: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1453: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1454: 'Calling Fpa_Project_Pvt.Load_Project_Details_Aw.');
1455: END IF;
1456:
1457: Fpa_Project_Pvt.Load_Project_Details_Aw(
1466: );
1467:
1468: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1469: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1470: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1471: 'Calling fpa_scenario_pvt.calc_scenario_data.');
1472: END IF;
1473:
1474: fpa_scenario_pvt.calc_scenario_data
1484: );
1485:
1486: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1487: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1488: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.',
1489: 'Calling fpa_scorecard_pvt.calc_scenario_data.');
1490: END IF;
1491:
1492: fpa_scorecards_pvt.Calc_Scenario_Wscores_Aw
1501:
1502:
1503: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1504: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1505: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.begin',
1506: 'Calling wf_engine.SetItemAttrNumber.');
1507: END IF;
1508:
1509: wf_engine.SetItemAttrNumber(itemtype => p_itemtype,
1516: EXCEPTION
1517: WHEN OTHERS THEN
1518: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1519: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1520: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.end',
1521: SQLERRM);
1522: END IF;
1523:
1524: wf_core.context('FPA_MAIN_PROCESS_PVT',
1520: 'fpa.sql.fpa_main_process_pvt.call_create_initial_scenario.end',
1521: SQLERRM);
1522: END IF;
1523:
1524: wf_core.context('FPA_MAIN_PROCESS_PVT',
1525: 'CALL_CREATE_INITIAL_SCENARIO',
1526: SQLERRM);
1527:
1528: /*
1573: EXCEPTION
1574: WHEN OTHERS THEN
1575: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1576: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1577: 'fpa.sql.fpa_main_process_pvt.call_set_status.end',
1578: SQLERRM);
1579: END IF;
1580: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_SET_STATUS', SQLERRM);
1581: RAISE;
1576: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1577: 'fpa.sql.fpa_main_process_pvt.call_set_status.end',
1578: SQLERRM);
1579: END IF;
1580: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_SET_STATUS', SQLERRM);
1581: RAISE;
1582: END CALL_SET_STATUS;
1583:
1584:
1600: BEGIN
1601:
1602: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1603: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1604: 'fpa.sql.fpa_main_process_pvt.call_project_sets.begin',
1605: 'Entering fpa_main_process_pvt.call_project_sets');
1606: END IF;
1607:
1608: -- Gets the Scenario ID
1601:
1602: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1603: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1604: 'fpa.sql.fpa_main_process_pvt.call_project_sets.begin',
1605: 'Entering fpa_main_process_pvt.call_project_sets');
1606: END IF;
1607:
1608: -- Gets the Scenario ID
1609: l_scen_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
1620: x_msg_count => l_msg_count);
1621:
1622: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1623: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1624: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1625: 'Exiting fpa_main_process_pvt.call_project_sets');
1626: END IF;
1627:
1628: x_resultout := wf_engine.eng_null;
1621:
1622: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1623: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1624: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1625: 'Exiting fpa_main_process_pvt.call_project_sets');
1626: END IF;
1627:
1628: x_resultout := wf_engine.eng_null;
1629:
1630: EXCEPTION
1631: WHEN OTHERS THEN
1632: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1633: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1634: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1635: SQLERRM);
1636: END IF;
1637: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJECT_SETS', SQLERRM);
1638:
1633: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1634: 'fpa.sql.fpa_main_process_pvt.call_project_sets.end',
1635: SQLERRM);
1636: END IF;
1637: wf_core.context('FPA_MAIN_PROCESS_PVT', 'CALL_PROJECT_SETS', SQLERRM);
1638:
1639: /*
1640: -- Detach AW Workspace
1641: fpa_utilities_pvt.detach_AW(p_api_version => 1.0,
1666: aname => 'FPA_APPROVE_PC');
1667:
1668: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1669: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1670: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.begin',
1671: 'value of l_is_approved'|| l_is_approved||'p_itemkey '||p_itemkey||'p_funcmode '||p_funcmode);
1672: END IF;
1673:
1674: IF (l_is_approved = 'Y') THEN
1680: EXCEPTION
1681: WHEN OTHERS THEN
1682: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1683: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1684: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.end',
1685: SQLERRM);
1686: END IF;
1687: wf_core.context('FPA_MAIN_PROCESS_PVT', 'IS_PLAN_APPROVED', SQLERRM);
1688: RAISE;
1683: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1684: 'fpa.sql.fpa_main_process_pvt.is_plan_approved.end',
1685: SQLERRM);
1686: END IF;
1687: wf_core.context('FPA_MAIN_PROCESS_PVT', 'IS_PLAN_APPROVED', SQLERRM);
1688: RAISE;
1689: END IS_PLAN_APPROVED;
1690:
1691:
1727: EXCEPTION
1728: WHEN OTHERS THEN
1729: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1730: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1731: 'fpa.sql.fpa_main_process_pvt.set_status_analysis.end',
1732: SQLERRM);
1733: END IF;
1734: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_ANALYSIS', SQLERRM);
1735:
1730: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1731: 'fpa.sql.fpa_main_process_pvt.set_status_analysis.end',
1732: SQLERRM);
1733: END IF;
1734: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_ANALYSIS', SQLERRM);
1735:
1736: RAISE;
1737: END SET_STATUS_ANALYSIS;
1738:
1754: BEGIN
1755:
1756: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1757: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1758: 'fpa.sql.fpa_main_process_pvt.set_status_approved.begin',
1759: 'Entering fpa_main_process_pvt.set_status_approved p_itemkey'||p_itemkey);
1760: END IF;
1761:
1762: -- Get the Planning Cycle ID
1755:
1756: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1757: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1758: 'fpa.sql.fpa_main_process_pvt.set_status_approved.begin',
1759: 'Entering fpa_main_process_pvt.set_status_approved p_itemkey'||p_itemkey);
1760: END IF;
1761:
1762: -- Get the Planning Cycle ID
1763: l_pc_id := wf_engine.GetItemAttrNumber(itemtype => p_itemtype,
1776:
1777:
1778: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1779: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1780: 'fpa.sql.fpa_main_process_pvt.set_status_approved',
1781: 'Value of l_pc_id ='||l_pc_id||' Value of l_pc_status='||l_pc_status||' Value of l_pc_approve ='||l_pc_approve);
1782: END IF;
1783:
1784:
1793: x_resultout := wf_engine.eng_null;
1794:
1795: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1796: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1797: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1798: 'Exiting fpa_main_process_pvt.set_status_approved');
1799: END IF;
1800:
1801: EXCEPTION
1794:
1795: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1796: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1797: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1798: 'Exiting fpa_main_process_pvt.set_status_approved');
1799: END IF;
1800:
1801: EXCEPTION
1802: WHEN OTHERS THEN
1801: EXCEPTION
1802: WHEN OTHERS THEN
1803: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1804: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1805: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1806: SQLERRM);
1807: END IF;
1808: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_APPROVED', SQLERRM);
1809:
1804: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1805: 'fpa.sql.fpa_main_process_pvt.set_status_approved.end',
1806: SQLERRM);
1807: END IF;
1808: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_APPROVED', SQLERRM);
1809:
1810: RAISE;
1811: END SET_STATUS_APPROVED;
1812:
1828:
1829: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1830: FND_LOG.String
1831: ( FND_LOG.LEVEL_PROCEDURE,
1832: 'fpa.sql.FPA_main_process_pvt.set_status_closed.begin',
1833: 'Calling FPA_PlanningCycle_Pvt.set_pc_status'
1834: );
1835: END IF;
1836:
1851:
1852: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1853: FND_LOG.String
1854: ( FND_LOG.LEVEL_PROCEDURE,
1855: 'FPA_main_process_pvt.set_status_closed',
1856: 'Calling FPA_PlanningCycle_Pvt.Set_Pc_Approved_Flag.'
1857: );
1858: END IF;
1859:
1870:
1871: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1872: FND_LOG.String
1873: ( FND_LOG.LEVEL_PROCEDURE,
1874: 'fpa.sql.FPA_main_process_pvt.set_status_closed.end',
1875: 'FPA_main_process_pvt.set_status_closed.end'
1876: );
1877: END IF;
1878:
1871: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1872: FND_LOG.String
1873: ( FND_LOG.LEVEL_PROCEDURE,
1874: 'fpa.sql.FPA_main_process_pvt.set_status_closed.end',
1875: 'FPA_main_process_pvt.set_status_closed.end'
1876: );
1877: END IF;
1878:
1879: EXCEPTION
1879: EXCEPTION
1880: WHEN OTHERS THEN
1881: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1882: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1883: 'fpa.sql.fpa_main_process_pvt.set_status_closed.end',
1884: SQLERRM);
1885: END IF;
1886: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_CLOSED', SQLERRM);
1887:
1882: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
1883: 'fpa.sql.fpa_main_process_pvt.set_status_closed.end',
1884: SQLERRM);
1885: END IF;
1886: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_CLOSED', SQLERRM);
1887:
1888: RAISE;
1889: END SET_STATUS_CLOSED;
1890:
1927: WHEN OTHERS THEN
1928: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1929: fnd_log.string(
1930: FND_LOG.LEVEL_PROCEDURE,
1931: 'fpa.sql.fpa_main_process_pvt.set_status_collecting.end',
1932: SQLERRM);
1933: END IF;
1934: wf_core.context('FPA_MAIN_PROCESS_PVT',
1935: 'SET_STATUS_COLLECTING',
1930: FND_LOG.LEVEL_PROCEDURE,
1931: 'fpa.sql.fpa_main_process_pvt.set_status_collecting.end',
1932: SQLERRM);
1933: END IF;
1934: wf_core.context('FPA_MAIN_PROCESS_PVT',
1935: 'SET_STATUS_COLLECTING',
1936: SQLERRM);
1937:
1938: RAISE;
1978: WHEN OTHERS THEN
1979: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
1980: fnd_log.string(
1981: FND_LOG.LEVEL_PROCEDURE,
1982: 'fpa.sql.fpa_main_process_pvt.set_status_submitted.end',
1983: SQLERRM);
1984: END IF;
1985: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_SUBMITTED', SQLERRM);
1986:
1981: FND_LOG.LEVEL_PROCEDURE,
1982: 'fpa.sql.fpa_main_process_pvt.set_status_submitted.end',
1983: SQLERRM);
1984: END IF;
1985: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SET_STATUS_SUBMITTED', SQLERRM);
1986:
1987: /*
1988: -- Detach AW Workspace
1989: fpa_utilities_pvt.detach_AW(p_api_version => 1.0,
2007: BEGIN
2008:
2009: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2010: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2011: 'fpa.sql.fpa_main_process_pvt.force_user_action.begin',
2012: 'Entering fpa_main_process_pvt.force_user_action');
2013: END IF;
2014:
2015: -- Raise the user forced event
2008:
2009: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2010: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2011: 'fpa.sql.fpa_main_process_pvt.force_user_action.begin',
2012: 'Entering fpa_main_process_pvt.force_user_action');
2013: END IF;
2014:
2015: -- Raise the user forced event
2016: wf_event.raise(p_event_name, p_itemkey, null, null);
2016: wf_event.raise(p_event_name, p_itemkey, null, null);
2017:
2018: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2019: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2020: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2021: 'Exiting fpa_main_process_pvt.force_user_action');
2022: END IF;
2023:
2024: EXCEPTION
2017:
2018: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2019: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2020: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2021: 'Exiting fpa_main_process_pvt.force_user_action');
2022: END IF;
2023:
2024: EXCEPTION
2025: WHEN OTHERS THEN
2024: EXCEPTION
2025: WHEN OTHERS THEN
2026: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2027: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2028: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2029: SQLERRM);
2030: END IF;
2031: wf_core.context('FPA_MAIN_PROCESS_PVT', 'FORCE_USER_ACTION', SQLERRM);
2032: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2027: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2028: 'fpa.sql.fpa_main_process_pvt.force_user_action.end',
2029: SQLERRM);
2030: END IF;
2031: wf_core.context('FPA_MAIN_PROCESS_PVT', 'FORCE_USER_ACTION', SQLERRM);
2032: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2033: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2034: p_data => x_msg_data
2035: );
2056: BEGIN
2057:
2058: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2059: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2060: 'fpa.sql.fpa_main_process_pvt.submit_plan.begin',
2061: 'Entering fpa_main_process_pvt.submit_plan value of p_itemkey'||p_itemkey);
2062: END IF;
2063:
2064: l_eventkey := 'FPAL' ||p_itemkey;
2057:
2058: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2059: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2060: 'fpa.sql.fpa_main_process_pvt.submit_plan.begin',
2061: 'Entering fpa_main_process_pvt.submit_plan value of p_itemkey'||p_itemkey);
2062: END IF;
2063:
2064: l_eventkey := 'FPAL' ||p_itemkey;
2065:
2087: -- COMMIT;
2088:
2089: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2090: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2091: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2092: 'Exiting fpa_main_process_pvt.submit_plan');
2093: END IF;
2094:
2095: EXCEPTION
2088:
2089: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2090: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2091: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2092: 'Exiting fpa_main_process_pvt.submit_plan');
2093: END IF;
2094:
2095: EXCEPTION
2096: WHEN OTHERS THEN
2095: EXCEPTION
2096: WHEN OTHERS THEN
2097: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2098: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2099: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2100: SQLERRM);
2101: END IF;
2102: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SUBMIT_PLAN', SQLERRM);
2103: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2098: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2099: 'fpa.sql.fpa_main_process_pvt.submit_plan.end',
2100: SQLERRM);
2101: END IF;
2102: wf_core.context('FPA_MAIN_PROCESS_PVT', 'SUBMIT_PLAN', SQLERRM);
2103: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2104: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2105: p_data => x_msg_data
2106: );
2126: BEGIN
2127:
2128: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2129: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2130: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.begin',
2131: 'Entering fpa_main_process_pvt.approve_reject_plan ACTION : '||p_event_name);
2132: END IF;
2133:
2134: l_eventkey := 'FPAL' ||p_itemkey;
2127:
2128: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2129: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2130: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.begin',
2131: 'Entering fpa_main_process_pvt.approve_reject_plan ACTION : '||p_event_name);
2132: END IF;
2133:
2134: l_eventkey := 'FPAL' ||p_itemkey;
2135:
2146: END IF;
2147:
2148: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2149: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2150: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2151: 'Calling fpa_utilities_pvt.attach_AW');
2152: END IF;
2153:
2154: -- Attach AW Workspace
2161:
2162: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2163: FND_LOG.String
2164: ( FND_LOG.LEVEL_PROCEDURE,
2165: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2166: 'Obtaining Approved Scenario Id for current Planning Cycle.'
2167: );
2168: END IF;
2169:
2176:
2177: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2178: FND_LOG.String
2179: ( FND_LOG.LEVEL_PROCEDURE,
2180: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2181: 'Approved Scenario Id '||l_sce_id
2182: );
2183: END IF;
2184:
2189:
2190: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2191: FND_LOG.String
2192: ( FND_LOG.LEVEL_PROCEDURE,
2193: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2194: 'Calling FPA_SCORECARDS_PVT.Update_Scenario_App_Scores.'
2195: );
2196: END IF;
2197:
2206:
2207: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2208: FND_LOG.String
2209: ( FND_LOG.LEVEL_PROCEDURE,
2210: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2211: 'Calling FPA_Project_PVT.UPDATE_PROJ_FUNDING_STATUS.'
2212: );
2213: END IF;
2214:
2224:
2225: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2226: FND_LOG.String
2227: ( FND_LOG.LEVEL_PROCEDURE,
2228: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2229: 'Calling FPA_Portfolio_Project_sets_Pvt.add_project_set_lines'
2230: );
2231: END IF;
2232:
2248:
2249: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2250: FND_LOG.String
2251: ( FND_LOG.LEVEL_PROCEDURE,
2252: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2253: 'Reject Plan: Approved Scenario Id '||l_sce_id
2254: );
2255: END IF;
2256: -- dbms_aw.execute('ALLSTAT');
2270:
2271: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2272: FND_LOG.String
2273: ( FND_LOG.LEVEL_PROCEDURE,
2274: 'FPA_Main_Process_Pvt.approve_reject_plan.',
2275: 'Approve/ Reject Plan procedure calls ');
2276: END IF;
2277:
2278: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2276: END IF;
2277:
2278: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2279: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2280: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2281: 'Calling wf_event.raise');
2282: END IF;
2283:
2284: -- Raise the submit plan event
2291:
2292:
2293: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2294: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2295: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.',
2296: 'Calling fpa_utilities_pvt.detach_AW');
2297: END IF;
2298:
2299: -- Detach AW Workspace
2305:
2306:
2307: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2308: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2309: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2310: 'Exiting fpa_main_process_pvt.approve_reject_plan');
2311: END IF;
2312:
2313: EXCEPTION
2306:
2307: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2308: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2309: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2310: 'Exiting fpa_main_process_pvt.approve_reject_plan');
2311: END IF;
2312:
2313: EXCEPTION
2314: WHEN OTHERS THEN
2313: EXCEPTION
2314: WHEN OTHERS THEN
2315: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2316: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2317: 'fpa.sql.fpa_main_process_pvt.approve_reject_plan.end',
2318: SQLERRM);
2319: END IF;
2320: -- Bug 4331948 If Exception raised during Approve/Reject Plan, A/w should be detached
2321: -- Detach AW Workspace
2326: x_msg_count => x_msg_count,
2327: x_msg_data => x_msg_data
2328: );
2329:
2330: wf_core.context('FPA_MAIN_PROCESS_PVT', 'APPROVE_REJECT_PLAN', SQLERRM);
2331: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
2332: FND_MSG_PUB.count_and_get(p_count => x_msg_count,
2333: p_data => x_msg_data
2334: );
2354: BEGIN
2355:
2356: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2357: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2358: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2359: 'Entering fpa_main_process_pvt.copy_proj_from_prev_pc ');
2360: END IF;
2361:
2362: -- Get the Planning Cycle ID
2355:
2356: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2357: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2358: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2359: 'Entering fpa_main_process_pvt.copy_proj_from_prev_pc ');
2360: END IF;
2361:
2362: -- Get the Planning Cycle ID
2363: l_last_pc_id := NULL;
2368: IF NVL(l_last_pc_id,-1) <> -1 THEN --Bug 4237493 : Introduced for scenario where there is no last PC
2369:
2370: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2371: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2372: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2373: 'Setting Last Planning cycle ID to the planning_cycle_d');
2374: END IF;
2375:
2376: dbms_aw.execute('PUSH planning_cycle_d');
2387: l_count := l_project_id_tbl.COUNT;
2388:
2389: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2390: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2391: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2392: 'NUmber of projects fetched from last PC '||l_count);
2393: END IF;
2394:
2395: FOR i in 1 .. l_count
2396: LOOP
2397:
2398: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2399: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2400: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.begin',
2401: 'Looping for l_project_id_tbl(i) = '||l_project_id_tbl(i));
2402: END IF;
2403:
2404: FPA_PROJECT_PVT.Submit_Project_Aw(
2416: x_resultout := wf_engine.eng_null;
2417:
2418: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2419: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2420: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2421: 'Exiting fpa_main_process_pvt.copy_proj_from_prev_pc');
2422: END IF;
2423:
2424:
2417:
2418: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2419: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2420: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2421: 'Exiting fpa_main_process_pvt.copy_proj_from_prev_pc');
2422: END IF;
2423:
2424:
2425: EXCEPTION
2425: EXCEPTION
2426: WHEN OTHERS THEN
2427: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2428: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2429: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2430: SQLERRM);
2431: END IF;
2432: wf_core.context('FPA_MAIN_PROCESS_PVT', 'COPY_PROJ_FROM_PREV_PC', SQLERRM);
2433: RAISE;
2428: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2429: 'fpa.sql.fpa_main_process_pvt.copy_proj_from_prev_pc.end',
2430: SQLERRM);
2431: END IF;
2432: wf_core.context('FPA_MAIN_PROCESS_PVT', 'COPY_PROJ_FROM_PREV_PC', SQLERRM);
2433: RAISE;
2434: END COPY_PROJ_FROM_PREV_PC;
2435:
2436: --Procedure to attach AW for workflow
2449: BEGIN
2450:
2451: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2452: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2453: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.begin',
2454: 'Entering fpa_main_process_pvt.wf_attach_aw ');
2455: END IF;
2456:
2457: Fpa_Utilities_Pvt.attach_AW
2450:
2451: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2452: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2453: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.begin',
2454: 'Entering fpa_main_process_pvt.wf_attach_aw ');
2455: END IF;
2456:
2457: Fpa_Utilities_Pvt.attach_AW
2458: (
2474: x_resultout := wf_engine.eng_null;
2475:
2476: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2477: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2478: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2479: 'Entering fpa_main_process_pvt.wf_attach_aw');
2480: END IF;
2481:
2482: EXCEPTION
2475:
2476: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2477: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2478: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2479: 'Entering fpa_main_process_pvt.wf_attach_aw');
2480: END IF;
2481:
2482: EXCEPTION
2483: WHEN OTHERS THEN
2482: EXCEPTION
2483: WHEN OTHERS THEN
2484: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2485: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2486: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2487: SQLERRM);
2488: END IF;
2489: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_ATTACH_AW', SQLERRM);
2490: RAISE;
2485: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2486: 'fpa.sql.fpa_main_process_pvt.wf_attach_aw.end',
2487: SQLERRM);
2488: END IF;
2489: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_ATTACH_AW', SQLERRM);
2490: RAISE;
2491:
2492: END;
2493:
2506: BEGIN
2507:
2508: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2509: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2510: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2511: 'Entering fpa_main_process_pvt.wf_detach_aw ');
2512: END IF;
2513:
2514: -- Sets the Planning Cycle ID
2507:
2508: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2509: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2510: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2511: 'Entering fpa_main_process_pvt.wf_detach_aw ');
2512: END IF;
2513:
2514: -- Sets the Planning Cycle ID
2515: l_wf_aw_attached := 'N';
2518: aname => 'FPA_WF_AW_ATTACHED');
2519:
2520: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2521: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2522: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.begin',
2523: 'Value of l_wf_aw_attached '||l_wf_aw_attached);
2524: END IF;
2525:
2526: IF NVL(l_wf_aw_attached,'N') = 'Y' THEN
2541: x_resultout := wf_engine.eng_null;
2542:
2543: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2544: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2545: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2546: 'Entering fpa_main_process_pvt.wf_detach_aw');
2547: END IF;
2548:
2549: EXCEPTION
2542:
2543: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2544: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2545: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2546: 'Entering fpa_main_process_pvt.wf_detach_aw');
2547: END IF;
2548:
2549: EXCEPTION
2550: WHEN OTHERS THEN
2549: EXCEPTION
2550: WHEN OTHERS THEN
2551: IF FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL THEN
2552: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2553: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2554: SQLERRM);
2555: END IF;
2556: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_DETACH_AW', SQLERRM);
2557: RAISE;
2552: fnd_log.string(FND_LOG.LEVEL_PROCEDURE,
2553: 'fpa.sql.fpa_main_process_pvt.wf_detach_aw.end',
2554: SQLERRM);
2555: END IF;
2556: wf_core.context('FPA_MAIN_PROCESS_PVT', ' WF_DETACH_AW', SQLERRM);
2557: RAISE;
2558:
2559: END;
2560:
2557: RAISE;
2558:
2559: END;
2560:
2561: END FPA_MAIN_PROCESS_PVT;