44:
45: BEGIN
46:
47: IF (l_debug <> -1) THEN
48: rlm_core_sv.dpush(C_SDEBUG,'StartDSPProcess');
49: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
50: END IF;
51: --
52: -- fnd_profile.get('ORG_ID', v_org_id);
45: BEGIN
46:
47: IF (l_debug <> -1) THEN
48: rlm_core_sv.dpush(C_SDEBUG,'StartDSPProcess');
49: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
50: END IF;
51: --
52: -- fnd_profile.get('ORG_ID', v_org_id);
53: --
54: g_num_child := v_num_child;
55: v_org_id := v_Sch_rec.org_id;
56: --
57: IF (l_debug <> -1) THEN
58: rlm_core_sv.dlog(C_DEBUG,'Org Id ', v_Sch_rec.org_id);
59: END IF;
60: --
61: -- Bug#: 3053299 - Added Schedule Generation Date as argument
62: --
62: --
63: GetScheduleDetails(p_Header_Id, v_ScheduleNum, v_Customer, v_ScheduleGenDate);
64: --
65: IF (l_debug <> -1) THEN
66: rlm_core_sv.dlog(C_DEBUG,'v_ScheduleNum ', v_ScheduleNum);
67: rlm_core_sv.dlog(C_DEBUG,'v_Customer ', v_Customer);
68: END IF;
69:
70: -- Abort the process if it has hung
63: GetScheduleDetails(p_Header_Id, v_ScheduleNum, v_Customer, v_ScheduleGenDate);
64: --
65: IF (l_debug <> -1) THEN
66: rlm_core_sv.dlog(C_DEBUG,'v_ScheduleNum ', v_ScheduleNum);
67: rlm_core_sv.dlog(C_DEBUG,'v_Customer ', v_Customer);
68: END IF;
69:
70: -- Abort the process if it has hung
71: --
71: --
72: BEGIN
73: --
74: IF (l_debug <> -1) THEN
75: rlm_core_sv.dlog(C_DEBUG,'Aborting old processes');
76: END IF;
77: --
78: wf_engine.AbortProcess(itemtype => v_ItemType,
79: itemkey => v_ItemKey);
78: wf_engine.AbortProcess(itemtype => v_ItemType,
79: itemkey => v_ItemKey);
80: --
81: IF (l_debug <> -1) THEN
82: rlm_core_sv.dlog(C_DEBUG,'After abort bad process');
83: END IF;
84: --
85: EXCEPTION
86: WHEN OTHERS THEN
85: EXCEPTION
86: WHEN OTHERS THEN
87: --
88: IF (l_debug <> -1) THEN
89: rlm_core_sv.dlog(C_DEBUG,'Did not abort any process');
90: END IF;
91: --
92: END;
93: --
100: docommit => FALSE,
101: force => TRUE);
102: --
103: IF (l_debug <> -1) THEN
104: rlm_core_sv.dlog(C_DEBUG,'After Purge for Item key ',p_Header_Id);
105: END IF;
106: --
107: wf_engine.CreateProcess(v_ItemType, v_ItemKey, v_ProcessName);
108:
170: v_ScheduleGenDate);
171:
172: --
173: IF (l_debug <> -1) THEN
174: rlm_core_sv.dlog(C_DEBUG,'Before Start Process ');
175: END IF;
176: --
177: SELECT hsecs INTO v_start_time from v$timer;
178:
178:
179: wf_engine.StartProcess(v_ItemType, v_ItemKey);
180: --
181: IF (l_debug <> -1) THEN
182: rlm_core_sv.dlog(C_DEBUG,'After Start Process ');
183: END IF;
184: --
185: v_retcode := wf_engine.GetItemAttrNumber(v_ItemType,v_ItemKey,'ERRORS_EXIST');
186: --
184: --
185: v_retcode := wf_engine.GetItemAttrNumber(v_ItemType,v_ItemKey,'ERRORS_EXIST');
186: --
187: IF (l_debug <> -1) THEN
188: rlm_core_sv.dlog(C_DEBUG,' Errors Status: ', v_retcode);
189: END IF;
190: --
191: retcode := g_PROC_SUCCESS;
192: --
190: --
191: retcode := g_PROC_SUCCESS;
192: --
193: IF (l_debug <> -1) THEN
194: rlm_core_sv.dlog(C_DEBUG,'Before End Process ');
195: END IF;
196: --
197: BEGIN
198: --
196: --
197: BEGIN
198: --
199: IF (l_debug <> -1) THEN
200: rlm_core_sv.dlog(C_DEBUG,'Aborting old processes');
201: END IF;
202: --
203: wf_engine.AbortProcess(itemtype => v_ItemType,
204: itemkey => v_ItemKeyNew);
203: wf_engine.AbortProcess(itemtype => v_ItemType,
204: itemkey => v_ItemKeyNew);
205: --
206: IF (l_debug <> -1) THEN
207: rlm_core_sv.dlog(C_DEBUG,'after abort bad process');
208: END IF;
209: --
210: EXCEPTION
211: WHEN OTHERS THEN
210: EXCEPTION
211: WHEN OTHERS THEN
212: --
213: IF (l_debug <> -1) THEN
214: rlm_core_sv.dlog(C_DEBUG,'Did not abort any process');
215: END IF;
216: --
217: END;
218: --
225: force => TRUE);
226: --
227:
228: IF (l_debug <> -1) THEN
229: rlm_core_sv.dlog(C_DEBUG,'Creating End Process ');
230: END IF;
231: --
232: wf_engine.CreateProcess(v_ItemType, v_ItemKeyNew, 'RLMEND');
233: --
236: --
237: wf_engine.SetItemUserKey(v_ItemType, v_ItemKeyNew,v_ScheduleNum);
238: --
239: IF (l_debug <> -1) THEN
240: rlm_core_sv.dlog(C_DEBUG,'Setting attributes End Process ');
241: END IF;
242: --
243: wf_engine.SetItemAttrNumber( v_ItemType,
244: v_ItemKeyNew,
302: v_ScheduleGenDate);
303:
304: --
305: IF (l_debug <> -1) THEN
306: rlm_core_sv.dlog(C_DEBUG,'Start EndProcess ');
307: END IF;
308: --
309: wf_engine.StartProcess(v_ItemType, v_ItemKeyNew);
310:
315: retcode := v_retcode;
316: */
317:
318: IF (l_debug <> -1) THEN
319: rlm_core_sv.dpop(C_SDEBUG);
320: END IF;
321:
322: SELECT hsecs INTO v_end_time FROM v$timer;
323: v_wf_msg_text:= 'Time spent in Work Flow call - '||(v_end_time-v_start_time)/100 ;
328: --
329: retcode := g_PROC_ERROR;
330: --
331: IF (l_debug <> -1) THEN
332: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
333: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
334: rlm_core_sv.dpop(C_SDEBUG);
335: END IF;
336: --
329: retcode := g_PROC_ERROR;
330: --
331: IF (l_debug <> -1) THEN
332: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
333: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
334: rlm_core_sv.dpop(C_SDEBUG);
335: END IF;
336: --
337: -- rlm_core_sv.stop_debug;
330: --
331: IF (l_debug <> -1) THEN
332: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
333: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
334: rlm_core_sv.dpop(C_SDEBUG);
335: END IF;
336: --
337: -- rlm_core_sv.stop_debug;
338: --
333: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
334: rlm_core_sv.dpop(C_SDEBUG);
335: END IF;
336: --
337: -- rlm_core_sv.stop_debug;
338: --
339: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
340:
341: END StartDSPProcess;
359:
360: BEGIN
361: --
362: IF (l_debug <> -1) THEN
363: rlm_core_sv.dpush(C_SDEBUG,'ValidateDemand');
364: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
365: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
366: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
367: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
360: BEGIN
361: --
362: IF (l_debug <> -1) THEN
363: rlm_core_sv.dpush(C_SDEBUG,'ValidateDemand');
364: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
365: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
366: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
367: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
368: END IF;
361: --
362: IF (l_debug <> -1) THEN
363: rlm_core_sv.dpush(C_SDEBUG,'ValidateDemand');
364: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
365: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
366: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
367: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
368: END IF;
369:
362: IF (l_debug <> -1) THEN
363: rlm_core_sv.dpush(C_SDEBUG,'ValidateDemand');
364: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
365: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
366: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
367: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
368: END IF;
369:
370: IF (FUNCMODE = 'RUN') THEN
363: rlm_core_sv.dpush(C_SDEBUG,'ValidateDemand');
364: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
365: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
366: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
367: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
368: END IF;
369:
370: IF (FUNCMODE = 'RUN') THEN
371: -- Executable Statements
371: -- Executable Statements
372: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
373: --
374: IF (l_debug <> -1) THEN
375: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
376: rlm_core_sv.dlog(C_DEBUG,' Before Validate');
377: END IF;
378: --
379: -- Bug 2868593
372: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
373: --
374: IF (l_debug <> -1) THEN
375: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
376: rlm_core_sv.dlog(C_DEBUG,' Before Validate');
377: END IF;
378: --
379: -- Bug 2868593
380: SAVEPOINT s_ValidateDemand;
383: --
384: rlm_validatedemand_sv.GroupValidateDemand(v_header_id, v_status);
385: --
386: IF (l_debug <> -1) THEN
387: rlm_core_sv.dlog(C_DEBUG,' After Validate v_status: ', v_status);
388: rlm_core_sv.dlog(C_DEBUG,'g_schedule_PS', RLM_VALIDATEDEMAND_SV.g_schedule_PS);
389: END IF;
390:
391: SELECT hsecs INTO l_val_end_time FROM v$timer;
384: rlm_validatedemand_sv.GroupValidateDemand(v_header_id, v_status);
385: --
386: IF (l_debug <> -1) THEN
387: rlm_core_sv.dlog(C_DEBUG,' After Validate v_status: ', v_status);
388: rlm_core_sv.dlog(C_DEBUG,'g_schedule_PS', RLM_VALIDATEDEMAND_SV.g_schedule_PS);
389: END IF;
390:
391: SELECT hsecs INTO l_val_end_time FROM v$timer;
392: --
389: END IF;
390:
391: SELECT hsecs INTO l_val_end_time FROM v$timer;
392: --
393: IF v_status <> rlm_core_sv.k_PROC_ERROR THEN
394: --
395: IF RLM_VALIDATEDEMAND_SV.g_schedule_PS <> rlm_core_sv.k_PS_ERROR
396: THEN
397: --
391: SELECT hsecs INTO l_val_end_time FROM v$timer;
392: --
393: IF v_status <> rlm_core_sv.k_PROC_ERROR THEN
394: --
395: IF RLM_VALIDATEDEMAND_SV.g_schedule_PS <> rlm_core_sv.k_PS_ERROR
396: THEN
397: --
398: -- Archive Demand
399: --
397: --
398: -- Archive Demand
399: --
400: IF (l_debug <> -1) THEN
401: rlm_core_sv.dlog(C_DEBUG,'Archiving');
402: END IF;
403: --
404: resultout := 'COMPLETE:CONT';
405: --
406: ELSE
407: -- No Archiving
408: --
409: IF (l_debug <> -1) THEN
410: rlm_core_sv.dlog(C_DEBUG,'Not Archiving');
411: END IF;
412: --
413: resultout := 'COMPLETE:ABT';
414: --
416: --
417: ELSE
418: --
419: IF (l_debug <> -1) THEN
420: rlm_core_sv.dlog(C_DEBUG,'Not Archiving');
421: END IF;
422: --
423: resultout := 'COMPLETE:ABT';
424: --
424: --
425: END IF;
426: --
427:
428: IF (v_status = rlm_core_sv.k_PROC_ERROR) OR (rlm_validatedemand_sv.g_schedule_PS = rlm_core_sv.k_PS_ERROR) THEN
429: --
430: RAISE e_DPFailed;
431: --
432: END IF;
432: END IF;
433: --
434:
435: IF (l_debug <> -1) THEN
436: rlm_core_sv.dpop(C_SDEBUG);
437: END IF;
438: ---
439: RETURN;
440: --
479: EXCEPTION
480: WHEN NO_DATA_FOUND THEN
481: --
482: IF (l_debug <> -1) THEN
483: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
484: END IF;
485: --
486: wf_core.context('RLM_WF_SV','ValidateDemand',
487: itemtype, itemkey,TO_CHAR(actid),funcmode);
487: itemtype, itemkey,TO_CHAR(actid),funcmode);
488: resultout := 'COMPLETE:ABT';
489: --
490: IF (l_debug <> -1) THEN
491: rlm_core_sv.dpop(C_SDEBUG);
492: END IF;
493: --
494: WHEN e_DPFailed THEN
495: --
493: --
494: WHEN e_DPFailed THEN
495: --
496: IF (l_debug <> -1) THEN
497: rlm_core_sv.dlog(C_DEBUG,'Validate Demand failed');
498: END IF;
499: --
500: ROLLBACK TO s_ValidateDemand; /* Bug 2868593 */
501: --
501: --
502: rlm_dp_sv.UpdateGroupPS(v_header_id,
503: g_Sch_rec.schedule_header_id,
504: g_Grp_rec,
505: rlm_core_sv.k_PS_ERROR,
506: 'ALL');
507: --
508: rlm_dp_sv.UpdateHeaderPS(v_header_id,
509: g_Sch_rec.schedule_header_id);
517: itemtype, itemkey,TO_CHAR(actid),funcmode);
518: resultout := 'COMPLETE:ABT';
519: --
520: IF (l_debug <> -1) THEN
521: rlm_core_sv.dpop(C_SDEBUG);
522: END IF;
523: --
524: WHEN OTHERS THEN
525: --
529: --
530: rlm_dp_sv.UpdateGroupPS(v_header_id,
531: g_Sch_rec.schedule_header_id,
532: g_Grp_rec,
533: rlm_core_sv.k_PS_ERROR,
534: 'ALL');
535: --
536: rlm_dp_sv.UpdateHeaderPS(v_header_id,
537: g_Sch_rec.schedule_header_id);
543: --
544: COMMIT;
545: --
546: IF (l_debug <> -1) THEN
547: rlm_core_sv.dpop(C_SDEBUG);
548: END IF;
549: --
550: --RAISE;
551:
569: v_md_msg_text VARCHAR2(32000);
570: BEGIN
571: --
572: IF (l_debug <> -1) THEN
573: rlm_core_sv.dpush(C_SDEBUG,'ManageDemand');
574: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
575: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
576: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
577: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
570: BEGIN
571: --
572: IF (l_debug <> -1) THEN
573: rlm_core_sv.dpush(C_SDEBUG,'ManageDemand');
574: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
575: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
576: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
577: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
578: END IF;
571: --
572: IF (l_debug <> -1) THEN
573: rlm_core_sv.dpush(C_SDEBUG,'ManageDemand');
574: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
575: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
576: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
577: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
578: END IF;
579: --
572: IF (l_debug <> -1) THEN
573: rlm_core_sv.dpush(C_SDEBUG,'ManageDemand');
574: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
575: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
576: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
577: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
578: END IF;
579: --
580: IF (FUNCMODE = 'RUN') THEN
573: rlm_core_sv.dpush(C_SDEBUG,'ManageDemand');
574: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
575: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
576: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
577: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
578: END IF;
579: --
580: IF (FUNCMODE = 'RUN') THEN
581: -- Executable Statements
581: -- Executable Statements
582: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
583: --
584: IF (l_debug <> -1) THEN
585: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
586: END IF;
587: --
588: SAVEPOINT s_child_process;
589:
594: g_Grp_rec,
595: v_status);
596: --
597: IF (l_debug <> -1) THEN
598: rlm_core_sv.dlog(C_DEBUG,' After ManageDemand v_status: ', v_status);
599: END IF;
600: --
601: SELECT hsecs INTO v_md_end_time FROM v$timer;
602: v_md_total:=v_md_total+(v_md_end_time-v_md_start_time)/100;
600: --
601: SELECT hsecs INTO v_md_end_time FROM v$timer;
602: v_md_total:=v_md_total+(v_md_end_time-v_md_start_time)/100;
603:
604: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
605: --
606: RAISE e_DPFailed;
607: --
608: END IF;
609: --
610: resultout := 'COMPLETE:SUCCESS';
611: --
612: IF (l_debug <> -1) THEN
613: rlm_core_sv.dpop(C_SDEBUG);
614: END IF;
615: --
616: v_md_msg_text :='Total Time spent in Managedemand call - '|| v_md_total;
617: fnd_file.put_line(fnd_file.log,v_md_msg_text);
659: EXCEPTION
660: WHEN NO_DATA_FOUND THEN
661: --
662: IF (l_debug <> -1) THEN
663: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
664: END IF;
665: --
666: wf_core.context('RLM_WF_SV','ManageDemand',
667: itemtype, itemkey,TO_CHAR(actid),funcmode);
667: itemtype, itemkey,TO_CHAR(actid),funcmode);
668: resultout := 'COMPLETE:FAILURE';
669: --
670: IF (l_debug <> -1) THEN
671: rlm_core_sv.dpop(C_SDEBUG);
672: END IF;
673: --
674: WHEN e_DPFailed THEN
675: --
673: --
674: WHEN e_DPFailed THEN
675: --
676: IF (l_debug <> -1) THEN
677: rlm_core_sv.dlog(C_DEBUG,'Manage Demand failed');
678: END IF;
679: --
680: ROLLBACK TO s_child_process;
681: --
681: --
682: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
683: g_Sch_rec.schedule_header_id,
684: g_Grp_rec,
685: rlm_core_sv.k_PS_ERROR);
686: COMMIT;
687: wf_core.context('RLM_WF_SV','ManageDemand',
688: itemtype, itemkey,TO_CHAR(actid),funcmode);
689: resultout := 'COMPLETE:FAILURE';
690: --
691: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
692: --
693: IF (l_debug <> -1) THEN
694: rlm_core_sv.dlog(C_DEBUG, 'Cannot lock header in MD.e_DPFailed');
695: END IF;
696: --
697: RAISE e_LockH;
698: END IF;
697: RAISE e_LockH;
698: END IF;
699: --
700: IF (l_debug <> -1) THEN
701: rlm_core_sv.dpop(C_SDEBUG);
702: END IF;
703: --
704: WHEN OTHERS THEN
705: wf_core.context('RLM_WF_SV','ManageDemand',
706: itemtype, itemkey,TO_CHAR(actid),funcmode);
707: resultout := 'COMPLETE:FAILURE';
708: --
709: IF (l_debug <> -1) THEN
710: rlm_core_sv.dpop(C_SDEBUG);
711: END IF;
712: --RAISE;
713:
714: END ManageDemand;
732:
733: BEGIN
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dpush(C_SDEBUG,'ManageForecast');
737: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
738: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
739: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
740: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
733: BEGIN
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dpush(C_SDEBUG,'ManageForecast');
737: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
738: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
739: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
740: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
741: END IF;
734: --
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dpush(C_SDEBUG,'ManageForecast');
737: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
738: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
739: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
740: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
741: END IF;
742:
735: IF (l_debug <> -1) THEN
736: rlm_core_sv.dpush(C_SDEBUG,'ManageForecast');
737: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
738: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
739: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
740: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
741: END IF;
742:
743: IF (FUNCMODE = 'RUN') THEN
736: rlm_core_sv.dpush(C_SDEBUG,'ManageForecast');
737: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
738: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
739: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
740: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
741: END IF;
742:
743: IF (FUNCMODE = 'RUN') THEN
744: -- Executable Statements
744: -- Executable Statements
745: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
746: --
747: IF (l_debug <> -1) THEN
748: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
749: rlm_core_sv.dlog(C_DEBUG,' ManageForecast');
750: END IF;
751: --
752: SELECT hsecs INTO v_mf_start_time FROM v$timer;
745: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
746: --
747: IF (l_debug <> -1) THEN
748: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
749: rlm_core_sv.dlog(C_DEBUG,' ManageForecast');
750: END IF;
751: --
752: SELECT hsecs INTO v_mf_start_time FROM v$timer;
753:
756: g_Grp_rec,
757: v_status);
758: --
759: IF (l_debug <> -1) THEN
760: rlm_core_sv.dlog(C_DEBUG,' After ManageForecast v_status: ', v_status);
761: END IF;
762: --
763: SELECT hsecs INTO v_mf_end_time FROM v$timer;
764: v_mf_total:=v_mf_total+(v_mf_end_time-v_mf_start_time)/100;
762: --
763: SELECT hsecs INTO v_mf_end_time FROM v$timer;
764: v_mf_total:=v_mf_total+(v_mf_end_time-v_mf_start_time)/100;
765:
766: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
767: --
768: RAISE e_DPFailed;
769: --
770: END IF;
771: --
772: resultout := 'COMPLETE:SUCCESS';
773: --
774: IF (l_debug <> -1) THEN
775: rlm_core_sv.dpop(C_SDEBUG);
776: END IF;
777: --
778: v_mf_msg_text:='Total Time spent in Manageforecast call - '|| v_mf_total ;
779: fnd_file.put_line(fnd_file.log, v_mf_msg_text);
819: EXCEPTION
820: WHEN NO_DATA_FOUND THEN
821: --
822: IF (l_debug <> -1) THEN
823: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
824: END IF;
825: --
826: wf_core.context('RLM_WF_SV','ManageForecast',
827: itemtype, itemkey,TO_CHAR(actid),funcmode);
827: itemtype, itemkey,TO_CHAR(actid),funcmode);
828: resultout := 'COMPLETE:FAILURE';
829: --
830: IF (l_debug <> -1) THEN
831: rlm_core_sv.dpop(C_SDEBUG);
832: END IF;
833: --
834: WHEN e_DPFailed THEN
835: --
833: --
834: WHEN e_DPFailed THEN
835: --
836: IF (l_debug <> -1) THEN
837: rlm_core_sv.dlog(C_DEBUG,'Manage Forecast failed');
838: END IF;
839: --
840: ROLLBACK TO s_child_process;
841: --
841: --
842: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
843: g_Sch_rec.schedule_header_id,
844: g_Grp_rec,
845: rlm_core_sv.k_PS_ERROR);
846: COMMIT;
847:
848: wf_core.context('RLM_WF_SV','ManageForecast',
849: itemtype, itemkey,TO_CHAR(actid),funcmode);
851: --
852: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
853: --
854: IF (l_debug <> -1) THEN
855: rlm_core_sv.dlog(C_DEBUG, 'Cannot lock header in FD.e_DPFailed');
856: END IF;
857: --
858: RAISE e_LockH;
859: END IF;
858: RAISE e_LockH;
859: END IF;
860: --
861: IF (l_debug <> -1) THEN
862: rlm_core_sv.dpop(C_SDEBUG);
863: END IF;
864: --
865: WHEN OTHERS THEN
866: wf_core.context('RLM_WF_SV','ManageForecast',
867: itemtype, itemkey,TO_CHAR(actid),funcmode);
868: resultout := 'COMPLETE:FAILURE';
869: --
870: IF (l_debug <> -1) THEN
871: rlm_core_sv.dpop(C_SDEBUG);
872: END IF;
873: --RAISE;
874:
875: END ManageForecast;
897: v_rlm_gps_msg_text VARCHAR2(32000);
898: BEGIN
899: --
900: IF (l_debug <> -1) THEN
901: rlm_core_sv.dpush(C_SDEBUG,'ReconcileDemand');
902: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
903: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
904: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
905: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
898: BEGIN
899: --
900: IF (l_debug <> -1) THEN
901: rlm_core_sv.dpush(C_SDEBUG,'ReconcileDemand');
902: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
903: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
904: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
905: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
906: END IF;
899: --
900: IF (l_debug <> -1) THEN
901: rlm_core_sv.dpush(C_SDEBUG,'ReconcileDemand');
902: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
903: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
904: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
905: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
906: END IF;
907: --
900: IF (l_debug <> -1) THEN
901: rlm_core_sv.dpush(C_SDEBUG,'ReconcileDemand');
902: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
903: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
904: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
905: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
906: END IF;
907: --
908: IF (FUNCMODE = 'RUN') THEN
901: rlm_core_sv.dpush(C_SDEBUG,'ReconcileDemand');
902: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
903: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
904: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
905: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
906: END IF;
907: --
908: IF (FUNCMODE = 'RUN') THEN
909: -- Executable Statements
909: -- Executable Statements
910: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
911: --
912: IF (l_debug <> -1) THEN
913: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
914: END IF;
915: --
916: SELECT hsecs INTO v_rd_start_time from v$timer;
917: --
920: g_Grp_rec,
921: v_status);
922: --
923: IF (l_debug <> -1) THEN
924: rlm_core_sv.dlog(C_DEBUG,' After ReconcileDemand v_status: ', v_status);
925: END IF;
926: --
927: SELECT hsecs INTO v_rd_end_time FROM v$timer;
928: v_rd_total :=v_rd_total+(v_rd_end_time-v_rd_start_time)/100;
926: --
927: SELECT hsecs INTO v_rd_end_time FROM v$timer;
928: v_rd_total :=v_rd_total+(v_rd_end_time-v_rd_start_time)/100;
929: --
930: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
931: --
932: RAISE e_DPFailed;
933: --
934: END IF;
936: SELECT hsecs INTO v_rlm_gps_start_time from v$timer; --Bugfix 12863728
937: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
938: g_Sch_rec.schedule_header_id,
939: g_Grp_rec,
940: rlm_core_sv.k_PS_PROCESSED);
941: --
942: COMMIT;
943: --
944: SELECT hsecs INTO v_rlm_gps_end_time FROM v$timer; --Bugfix 12863728
946: --
947: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
948: --
949: IF (l_debug <> -1) THEN
950: rlm_core_sv.dlog(C_DEBUG,'Unable to lock header after processing grp');
951: END IF;
952: --
953: RAISE e_LockH;
954: --
956: --
957: resultout := 'COMPLETE:SUCCESS';
958: --
959: IF (l_debug <> -1) THEN
960: rlm_core_sv.dpop(C_SDEBUG);
961: END IF;
962: --
963: v_rd_msg_text:='Total Time spent in RecDemand call - '|| v_rd_total ;
964: fnd_file.put_line(fnd_file.log, v_rd_msg_text);
1008: EXCEPTION
1009: WHEN NO_DATA_FOUND THEN
1010: --
1011: IF (l_debug <> -1) THEN
1012: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
1013: END IF;
1014: --
1015: wf_core.context('RLM_WF_SV','ReconcileDemand',
1016: itemtype, itemkey,TO_CHAR(actid),funcmode);
1016: itemtype, itemkey,TO_CHAR(actid),funcmode);
1017: resultout := 'COMPLETE:FAILURE';
1018: --
1019: IF (l_debug <> -1) THEN
1020: rlm_core_sv.dpop(C_SDEBUG);
1021: END IF;
1022: --
1023: WHEN e_DPFailed THEN
1024: --
1022: --
1023: WHEN e_DPFailed THEN
1024: --
1025: IF (l_debug <> -1) THEN
1026: rlm_core_sv.dlog(C_DEBUG,'Reconcile Demand failed');
1027: END IF;
1028: --
1029: IF g_Sch_rec.schedule_type <> RLM_DP_SV.k_SEQUENCED THEN
1030: --
1032: --
1033: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
1034: g_Sch_rec.schedule_header_id,
1035: g_Grp_rec,
1036: rlm_core_sv.k_PS_ERROR);
1037: END IF;
1038: --
1039: COMMIT;
1040: wf_core.context('RLM_WF_SV','ReconcileDemand',
1044: --
1045: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
1046: --
1047: IF (l_debug <> -1) THEN
1048: rlm_core_sv.dlog(C_DEBUG, 'Cannot lock header in RD.e_DPFailed');
1049: END IF;
1050: --
1051: RAISE e_LockH;
1052: END IF;
1051: RAISE e_LockH;
1052: END IF;
1053: --
1054: IF (l_debug <> -1) THEN
1055: rlm_core_sv.dpop(C_SDEBUG);
1056: END IF;
1057: --
1058: WHEN OTHERS THEN
1059: wf_core.context('RLM_WF_SV','ReconcileDemand',
1060: itemtype, itemkey,TO_CHAR(actid),funcmode);
1061: resultout := 'COMPLETE:FAILURE';
1062: --
1063: IF (l_debug <> -1) THEN
1064: rlm_core_sv.dpop(C_SDEBUG);
1065: END IF;
1066: --RAISE;
1067:
1068: END ReconcileDemand;
1081: --
1082: BEGIN
1083: --
1084: IF (l_debug <> -1) THEN
1085: rlm_core_sv.dpush(C_SDEBUG,'PurgeInterface');
1086: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1087: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1088: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1089: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1082: BEGIN
1083: --
1084: IF (l_debug <> -1) THEN
1085: rlm_core_sv.dpush(C_SDEBUG,'PurgeInterface');
1086: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1087: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1088: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1089: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1090: END IF;
1083: --
1084: IF (l_debug <> -1) THEN
1085: rlm_core_sv.dpush(C_SDEBUG,'PurgeInterface');
1086: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1087: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1088: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1089: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1090: END IF;
1091: --
1084: IF (l_debug <> -1) THEN
1085: rlm_core_sv.dpush(C_SDEBUG,'PurgeInterface');
1086: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1087: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1088: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1089: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1090: END IF;
1091: --
1092: IF (FUNCMODE = 'RUN') THEN
1085: rlm_core_sv.dpush(C_SDEBUG,'PurgeInterface');
1086: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1087: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1088: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1089: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1090: END IF;
1091: --
1092: IF (FUNCMODE = 'RUN') THEN
1093: -- Executable Statements
1093: -- Executable Statements
1094: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
1095: --
1096: IF (l_debug <> -1) THEN
1097: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
1098: END IF;
1099: --
1100: rlm_message_sv.dump_messages(v_header_id);
1101: rlm_dp_sv.PurgeInterfaceLines(v_header_id);
1104: --
1105: resultout := 'COMPLETE:SUCCESS';
1106: --
1107: IF (l_debug <> -1) THEN
1108: rlm_core_sv.dpop(C_SDEBUG);
1109: END IF;
1110: --
1111: RETURN;
1112: --
1151: EXCEPTION
1152: WHEN NO_DATA_FOUND THEN
1153: --
1154: IF (l_debug <> -1) THEN
1155: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
1156: END IF;
1157: --
1158: wf_core.context('RLM_WF_SV','PurgeInterface',
1159: itemtype, itemkey,TO_CHAR(actid),funcmode);
1159: itemtype, itemkey,TO_CHAR(actid),funcmode);
1160: resultout := 'COMPLETE:FAILURE';
1161: --
1162: IF (l_debug <> -1) THEN
1163: rlm_core_sv.dpop(C_SDEBUG);
1164: END IF;
1165: --
1166: WHEN OTHERS THEN
1167: wf_core.context('RLM_WF_SV','PurgeInterface',
1168: itemtype, itemkey,TO_CHAR(actid),funcmode);
1169: resultout := 'COMPLETE:FAILURE';
1170: --
1171: IF (l_debug <> -1) THEN
1172: rlm_core_sv.dpop(C_SDEBUG);
1173: END IF;
1174: --
1175: RAISE;
1176:
1207:
1208: BEGIN
1209: --
1210: IF (l_debug <> -1) THEN
1211: rlm_core_sv.dpush(C_SDEBUG,'CheckErrors');
1212: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1213: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1214: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1215: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1208: BEGIN
1209: --
1210: IF (l_debug <> -1) THEN
1211: rlm_core_sv.dpush(C_SDEBUG,'CheckErrors');
1212: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1213: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1214: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1215: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1216: END IF;
1209: --
1210: IF (l_debug <> -1) THEN
1211: rlm_core_sv.dpush(C_SDEBUG,'CheckErrors');
1212: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1213: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1214: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1215: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1216: END IF;
1217: --
1210: IF (l_debug <> -1) THEN
1211: rlm_core_sv.dpush(C_SDEBUG,'CheckErrors');
1212: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1213: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1214: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1215: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1216: END IF;
1217: --
1218: IF (FUNCMODE = 'RUN') THEN
1211: rlm_core_sv.dpush(C_SDEBUG,'CheckErrors');
1212: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1213: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1214: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1215: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1216: END IF;
1217: --
1218: IF (FUNCMODE = 'RUN') THEN
1219: -- Executable Statements
1218: IF (FUNCMODE = 'RUN') THEN
1219: -- Executable Statements
1220: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID'); --
1221: IF (l_debug <> -1) THEN
1222: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
1223: END IF;
1224: --
1225: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
1226: --
1224: --
1225: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
1226: --
1227: IF (l_debug <> -1) THEN
1228: rlm_core_sv.dlog(C_DEBUG,' Request Id :', v_request_id);
1229: END IF;
1230: --
1231: v_schedule_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
1232: --
1230: --
1231: v_schedule_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
1232: --
1233: IF (l_debug <> -1) THEN
1234: rlm_core_sv.dlog(C_DEBUG,' Schedule Number :', v_schedule_num);
1235: END IF;
1236: --
1237: rlm_message_sv.dump_messages(v_header_id);
1238: rlm_message_sv.initialize_messages;
1246: FROM rlm_interface_headers
1247: WHERE header_id = v_header_id;
1248: --
1249: IF (l_debug <> -1) THEN
1250: rlm_core_sv.dlog(C_DEBUG,' No of Errors :', x_errors);
1251: END IF;
1252: --
1253: IF (x_errors = 0) then
1254: --
1268: resultout := 'COMPLETE:ABT';
1269: END IF;
1270: --
1271: IF (v_process_status IS NOT NULL AND
1272: (v_process_status = rlm_core_sv.k_PS_PARTIAL_PROCESSED OR
1273: v_process_status = RLM_CORE_SV.k_PS_ERROR) ) THEN
1274: --
1275: -- Setting the x_errors to be more than one
1276: -- so that correct return value can be set
1269: END IF;
1270: --
1271: IF (v_process_status IS NOT NULL AND
1272: (v_process_status = rlm_core_sv.k_PS_PARTIAL_PROCESSED OR
1273: v_process_status = RLM_CORE_SV.k_PS_ERROR) ) THEN
1274: --
1275: -- Setting the x_errors to be more than one
1276: -- so that correct return value can be set
1277: x_errors := 1;
1279: --
1280: CLOSE c_process_status_interface;
1281: --
1282: ELSIF (v_process_status IS NOT NULL AND
1283: (v_process_status = rlm_core_sv.k_PS_PARTIAL_PROCESSED OR
1284: v_process_status = RLM_CORE_SV.k_PS_ERROR) ) THEN
1285: -- Setting the x_errors to be more than one
1286: -- so that correct return value can be set
1287: x_errors := 1;
1280: CLOSE c_process_status_interface;
1281: --
1282: ELSIF (v_process_status IS NOT NULL AND
1283: (v_process_status = rlm_core_sv.k_PS_PARTIAL_PROCESSED OR
1284: v_process_status = RLM_CORE_SV.k_PS_ERROR) ) THEN
1285: -- Setting the x_errors to be more than one
1286: -- so that correct return value can be set
1287: x_errors := 1;
1288: END IF;
1308: IF (x_errors > 0 ) THEN
1309: resultout := 'COMPLETE:ERRORS';
1310: --
1311: IF (l_debug <> -1) THEN
1312: rlm_core_sv.dlog(C_DEBUG,' resultout :', resultout);
1313: rlm_core_sv.dpop(C_SDEBUG);
1314: END IF;
1315: --
1316: RETURN;
1309: resultout := 'COMPLETE:ERRORS';
1310: --
1311: IF (l_debug <> -1) THEN
1312: rlm_core_sv.dlog(C_DEBUG,' resultout :', resultout);
1313: rlm_core_sv.dpop(C_SDEBUG);
1314: END IF;
1315: --
1316: RETURN;
1317: ELSE
1317: ELSE
1318: resultout := 'COMPLETE:N';
1319: --
1320: IF (l_debug <> -1) THEN
1321: rlm_core_sv.dlog(C_DEBUG,' resultout :', resultout);
1322: rlm_core_sv.dpop(C_SDEBUG);
1323: END IF;
1324: --
1325: RETURN;
1318: resultout := 'COMPLETE:N';
1319: --
1320: IF (l_debug <> -1) THEN
1321: rlm_core_sv.dlog(C_DEBUG,' resultout :', resultout);
1322: rlm_core_sv.dpop(C_SDEBUG);
1323: END IF;
1324: --
1325: RETURN;
1326: END IF;
1366: EXCEPTION
1367: WHEN NO_DATA_FOUND THEN
1368: --
1369: IF (l_debug <> -1) THEN
1370: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
1371: END IF;
1372: --
1373: wf_core.context('RLM_WF_SV','CheckErrors',
1374: itemtype, itemkey,TO_CHAR(actid),funcmode);
1374: itemtype, itemkey,TO_CHAR(actid),funcmode);
1375: resultout := 'COMPLETE:ABT';
1376: --
1377: IF (l_debug <> -1) THEN
1378: rlm_core_sv.dpop(C_SDEBUG);
1379: END IF;
1380: --
1381: WHEN OTHERS THEN
1382: wf_core.context('RLM_WF_SV','CheckErrors',
1383: itemtype, itemkey,TO_CHAR(actid),funcmode);
1384: resultout := 'COMPLETE:ABT';
1385: --
1386: IF (l_debug <> -1) THEN
1387: rlm_core_sv.dpop(C_SDEBUG);
1388: END IF;
1389: --
1390: RAISE;
1391:
1415: --
1416: BEGIN
1417: --
1418: IF (l_debug <> -1) THEN
1419: rlm_core_sv.dpush(C_SDEBUG,'RunReport');
1420: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1421: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1422: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1423: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1416: BEGIN
1417: --
1418: IF (l_debug <> -1) THEN
1419: rlm_core_sv.dpush(C_SDEBUG,'RunReport');
1420: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1421: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1422: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1423: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1424: END IF;
1417: --
1418: IF (l_debug <> -1) THEN
1419: rlm_core_sv.dpush(C_SDEBUG,'RunReport');
1420: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1421: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1422: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1423: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1424: END IF;
1425: --
1418: IF (l_debug <> -1) THEN
1419: rlm_core_sv.dpush(C_SDEBUG,'RunReport');
1420: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1421: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1422: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1423: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1424: END IF;
1425: --
1426: IF (FUNCMODE = 'RUN') THEN
1419: rlm_core_sv.dpush(C_SDEBUG,'RunReport');
1420: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1421: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1422: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1423: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1424: END IF;
1425: --
1426: IF (FUNCMODE = 'RUN') THEN
1427: -- Executable Statements
1427: -- Executable Statements
1428: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
1429: --
1430: IF (l_debug <> -1) THEN
1431: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
1432: END IF;
1433: --
1434: v_org_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
1435: --
1433: --
1434: v_org_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
1435: --
1436: IF (l_debug <> -1) THEN
1437: rlm_core_sv.dlog(C_DEBUG,' Org Id :', v_org_id);
1438: END IF;
1439: --
1440: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
1441: --
1439: --
1440: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
1441: --
1442: IF (l_debug <> -1) THEN
1443: rlm_core_sv.dlog(C_DEBUG,' Request Id :', v_request_id);
1444: END IF;
1445: --
1446: v_sched_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
1447: --
1445: --
1446: v_sched_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
1447: --
1448: IF (l_debug <> -1) THEN
1449: rlm_core_sv.dlog(C_DEBUG,' Schedule Number :', v_sched_num);
1450: END IF;
1451:
1452: /*
1453: -- Needs to be used once DSP concurrent program sets print options parameters
1503:
1504: resultout := 'COMPLETE:SUCCESS';
1505: --
1506: IF (l_debug <> -1) THEN
1507: rlm_core_sv.dpop(C_SDEBUG);
1508: END IF;
1509: --
1510: RETURN;
1511: END IF;
1549: EXCEPTION
1550: WHEN NO_DATA_FOUND THEN
1551: --
1552: IF (l_debug <> -1) THEN
1553: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
1554: END IF;
1555: --
1556: wf_core.context('RLM_WF_SV','RunReport',
1557: itemtype, itemkey,TO_CHAR(actid),funcmode);
1557: itemtype, itemkey,TO_CHAR(actid),funcmode);
1558: resultout := 'COMPLETE:FAILURE';
1559: --
1560: IF (l_debug <> -1) THEN
1561: rlm_core_sv.dpop(C_SDEBUG);
1562: END IF;
1563: --
1564: WHEN OTHERS THEN
1565: wf_core.context('RLM_WF_SV','RunReport',
1566: itemtype, itemkey,TO_CHAR(actid),funcmode);
1567: resultout := 'COMPLETE:FAILURE';
1568: --
1569: IF (l_debug <> -1) THEN
1570: rlm_core_sv.dpop(C_SDEBUG);
1571: END IF;
1572: --
1573: RAISE;
1574:
1582: IS
1583: BEGIN
1584: --
1585: IF (l_debug <> -1) THEN
1586: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleDetails');
1587: rlm_core_sv.dlog(C_DEBUG,'x_Header_Id ', x_Header_Id);
1588: END IF;
1589: --
1590: select schedule_reference_num, cust_name_ext, sched_generation_date
1583: BEGIN
1584: --
1585: IF (l_debug <> -1) THEN
1586: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleDetails');
1587: rlm_core_sv.dlog(C_DEBUG,'x_Header_Id ', x_Header_Id);
1588: END IF;
1589: --
1590: select schedule_reference_num, cust_name_ext, sched_generation_date
1591: into x_Schedule_Num, x_Customer_Name , x_Schedule_Gen_Date
1592: from rlm_interface_headers
1593: where header_id = x_Header_Id ;
1594: --
1595: IF (l_debug <> -1) THEN
1596: rlm_core_sv.dlog(C_DEBUG,' Schedule Generation Date :',
1597: TO_CHAR(x_Schedule_Gen_Date));
1598: rlm_core_sv.dlog(C_DEBUG,' Successful select');
1599: rlm_core_sv.dpop(C_SDEBUG);
1600: END IF;
1594: --
1595: IF (l_debug <> -1) THEN
1596: rlm_core_sv.dlog(C_DEBUG,' Schedule Generation Date :',
1597: TO_CHAR(x_Schedule_Gen_Date));
1598: rlm_core_sv.dlog(C_DEBUG,' Successful select');
1599: rlm_core_sv.dpop(C_SDEBUG);
1600: END IF;
1601: --
1602: EXCEPTION
1595: IF (l_debug <> -1) THEN
1596: rlm_core_sv.dlog(C_DEBUG,' Schedule Generation Date :',
1597: TO_CHAR(x_Schedule_Gen_Date));
1598: rlm_core_sv.dlog(C_DEBUG,' Successful select');
1599: rlm_core_sv.dpop(C_SDEBUG);
1600: END IF;
1601: --
1602: EXCEPTION
1603: WHEN NO_DATA_FOUND THEN
1602: EXCEPTION
1603: WHEN NO_DATA_FOUND THEN
1604: --
1605: IF (l_debug <> -1) THEN
1606: rlm_core_sv.dpop(C_SDEBUG, 'No Data Found');
1607: END IF;
1608: --
1609: WHEN OTHERS THEN
1610: --
1608: --
1609: WHEN OTHERS THEN
1610: --
1611: IF (l_debug <> -1) THEN
1612: rlm_core_sv.dpop(C_SDEBUG, 'Other Errors');
1613: END IF;
1614:
1615: END GetScheduleDetails;
1616:
1637: e_DSPFailed EXCEPTION;
1638: BEGIN
1639: --
1640: IF (l_debug <> -1) THEN
1641: rlm_core_sv.dpush(C_SDEBUG,'StartDSPLoop');
1642: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1643: rlm_core_sv.dlog(C_DEBUG,'Starting process:',v_ItemKey);
1644: rlm_core_sv.dlog(C_DEBUG,'Org ID', v_org_id);
1645: END IF;
1638: BEGIN
1639: --
1640: IF (l_debug <> -1) THEN
1641: rlm_core_sv.dpush(C_SDEBUG,'StartDSPLoop');
1642: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1643: rlm_core_sv.dlog(C_DEBUG,'Starting process:',v_ItemKey);
1644: rlm_core_sv.dlog(C_DEBUG,'Org ID', v_org_id);
1645: END IF;
1646: --
1639: --
1640: IF (l_debug <> -1) THEN
1641: rlm_core_sv.dpush(C_SDEBUG,'StartDSPLoop');
1642: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1643: rlm_core_sv.dlog(C_DEBUG,'Starting process:',v_ItemKey);
1644: rlm_core_sv.dlog(C_DEBUG,'Org ID', v_org_id);
1645: END IF;
1646: --
1647: -- fnd_profile.get('ORG_ID', v_org_id);
1640: IF (l_debug <> -1) THEN
1641: rlm_core_sv.dpush(C_SDEBUG,'StartDSPLoop');
1642: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1643: rlm_core_sv.dlog(C_DEBUG,'Starting process:',v_ItemKey);
1644: rlm_core_sv.dlog(C_DEBUG,'Org ID', v_org_id);
1645: END IF;
1646: --
1647: -- fnd_profile.get('ORG_ID', v_org_id);
1648: --
1648: --
1649: v_org_id := v_Sch_rec.org_id;
1650: --
1651: IF (l_debug <> -1) THEN
1652: rlm_core_sv.dlog(C_DEBUG,'Org Id ', v_org_id);
1653: END IF;
1654: --
1655: -- Bug#: 3053299 - Added Schedule Generation Date as argument
1656: GetScheduleDetails(p_Header_Id, v_ScheduleNum, v_Customer, v_ScheduleGenDate);
1655: -- Bug#: 3053299 - Added Schedule Generation Date as argument
1656: GetScheduleDetails(p_Header_Id, v_ScheduleNum, v_Customer, v_ScheduleGenDate);
1657: --
1658: IF (l_debug <> -1) THEN
1659: rlm_core_sv.dlog(C_DEBUG,'v_ScheduleNum ', v_ScheduleNum);
1660: rlm_core_sv.dlog(C_DEBUG,'v_Customer ', v_Customer);
1661: END IF;
1662: --
1663: -- Set various Header Attributes
1656: GetScheduleDetails(p_Header_Id, v_ScheduleNum, v_Customer, v_ScheduleGenDate);
1657: --
1658: IF (l_debug <> -1) THEN
1659: rlm_core_sv.dlog(C_DEBUG,'v_ScheduleNum ', v_ScheduleNum);
1660: rlm_core_sv.dlog(C_DEBUG,'v_Customer ', v_Customer);
1661: END IF;
1662: --
1663: -- Set various Header Attributes
1664:
1728: v_ScheduleGenDate);
1729:
1730: --
1731: IF (l_debug <> -1) THEN
1732: rlm_core_sv.dlog(C_DEBUG,'Before Start Process DSP Loop');
1733: END IF;
1734: --
1735: wf_engine.StartProcess(v_ItemType, v_ItemKey);
1736: --
1734: --
1735: wf_engine.StartProcess(v_ItemType, v_ItemKey);
1736: --
1737: IF (l_debug <> -1) THEN
1738: rlm_core_sv.dlog(C_DEBUG,'After Start Process DSP Loop ');
1739: END IF;
1740: --
1741: v_retcode := wf_engine.GetItemAttrNumber(v_ItemType,v_ItemKey,'ERRORS_EXIST');
1742: --
1740: --
1741: v_retcode := wf_engine.GetItemAttrNumber(v_ItemType,v_ItemKey,'ERRORS_EXIST');
1742: --
1743: IF (l_debug <> -1) THEN
1744: rlm_core_sv.dlog(C_DEBUG,' Errors Status: ', v_retcode);
1745: END IF;
1746: --
1747: retcode := g_PROC_SUCCESS;
1748: --
1746: --
1747: retcode := g_PROC_SUCCESS;
1748: --
1749: IF (l_debug <> -1) THEN
1750: rlm_core_sv.dpop(C_SDEBUG);
1751: END IF;
1752: --
1753: EXCEPTION
1754: --
1754: --
1755: WHEN OTHERS THEN
1756: --
1757: IF (l_debug <> -1) THEN
1758: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
1759: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
1760: END IF;
1761: --
1762: retcode := g_PROC_ERROR;
1755: WHEN OTHERS THEN
1756: --
1757: IF (l_debug <> -1) THEN
1758: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
1759: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
1760: END IF;
1761: --
1762: retcode := g_PROC_ERROR;
1763: --
1761: --
1762: retcode := g_PROC_ERROR;
1763: --
1764: IF (l_debug <> -1) THEN
1765: rlm_core_sv.dpop(C_SDEBUG);
1766: END IF;
1767: --
1768: -- rlm_core_sv.stop_debug;
1769: --
1764: IF (l_debug <> -1) THEN
1765: rlm_core_sv.dpop(C_SDEBUG);
1766: END IF;
1767: --
1768: -- rlm_core_sv.stop_debug;
1769: --
1770: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1771:
1772: END StartDSPLoop;
1792: --
1793: BEGIN
1794: --
1795: IF (l_debug <> -1) THEN
1796: rlm_core_sv.dpush(C_SDEBUG,'CreateDSPLoop');
1797: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1798: rlm_core_sv.dlog(C_DEBUG,'Creating Loop:',v_ItemKey);
1799: rlm_core_Sv.dlog(C_DEBUG, 'v_ItemType', v_ItemType);
1800: END IF;
1793: BEGIN
1794: --
1795: IF (l_debug <> -1) THEN
1796: rlm_core_sv.dpush(C_SDEBUG,'CreateDSPLoop');
1797: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1798: rlm_core_sv.dlog(C_DEBUG,'Creating Loop:',v_ItemKey);
1799: rlm_core_Sv.dlog(C_DEBUG, 'v_ItemType', v_ItemType);
1800: END IF;
1801: --
1794: --
1795: IF (l_debug <> -1) THEN
1796: rlm_core_sv.dpush(C_SDEBUG,'CreateDSPLoop');
1797: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1798: rlm_core_sv.dlog(C_DEBUG,'Creating Loop:',v_ItemKey);
1799: rlm_core_Sv.dlog(C_DEBUG, 'v_ItemType', v_ItemType);
1800: END IF;
1801: --
1802: -- fnd_profile.get('ORG_ID', v_org_id);
1795: IF (l_debug <> -1) THEN
1796: rlm_core_sv.dpush(C_SDEBUG,'CreateDSPLoop');
1797: rlm_core_sv.dlog(C_DEBUG,'p_Header_Id ', p_Header_Id);
1798: rlm_core_sv.dlog(C_DEBUG,'Creating Loop:',v_ItemKey);
1799: rlm_core_Sv.dlog(C_DEBUG, 'v_ItemType', v_ItemType);
1800: END IF;
1801: --
1802: -- fnd_profile.get('ORG_ID', v_org_id);
1803: --
1801: --
1802: -- fnd_profile.get('ORG_ID', v_org_id);
1803: --
1804: IF (l_debug <> -1) THEN
1805: rlm_core_sv.dlog(C_DEBUG, 'Org Id ', MO_GLOBAL.get_current_org_id);
1806: END IF;
1807: --
1808: -- Abort the process if it has hung
1809: BEGIN
1808: -- Abort the process if it has hung
1809: BEGIN
1810: --
1811: IF (l_debug <> -1) THEN
1812: rlm_core_sv.dlog(C_DEBUG,'Aborting old processes');
1813: END IF;
1814: --
1815: wf_engine.AbortProcess(itemtype => v_ItemType,
1816: itemkey => v_ItemKey);
1815: wf_engine.AbortProcess(itemtype => v_ItemType,
1816: itemkey => v_ItemKey);
1817: --
1818: IF (l_debug <> -1) THEN
1819: rlm_core_sv.dlog(C_DEBUG,'after abort bad process');
1820: END IF;
1821: --
1822: EXCEPTION
1823: WHEN OTHERS THEN
1822: EXCEPTION
1823: WHEN OTHERS THEN
1824: --
1825: IF (l_debug <> -1) THEN
1826: rlm_core_sv.dlog(C_DEBUG,'Did not abort any process');
1827: END IF;
1828: --
1829: END;
1830: --
1837: docommit => FALSE,
1838: force => TRUE);
1839: --
1840: IF (l_debug <> -1) THEN
1841: rlm_core_sv.dlog(C_DEBUG,'After Purge for Item key ',v_ItemKey);
1842: END IF;
1843: --
1844: wf_engine.CreateProcess(v_ItemType, v_ItemKey, v_ProcessName);
1845: wf_engine.SetItemParent(v_ItemType,v_ItemKey,v_ItemType,to_char(p_Header_Id),
1851: --
1852: retcode := g_PROC_SUCCESS;
1853: --
1854: IF (l_debug <> -1) THEN
1855: rlm_core_sv.dlog(C_DEBUG,'After Create Process DSP Loop ');
1856: rlm_core_sv.dpop(C_SDEBUG);
1857: END IF;
1858:
1859: EXCEPTION
1852: retcode := g_PROC_SUCCESS;
1853: --
1854: IF (l_debug <> -1) THEN
1855: rlm_core_sv.dlog(C_DEBUG,'After Create Process DSP Loop ');
1856: rlm_core_sv.dpop(C_SDEBUG);
1857: END IF;
1858:
1859: EXCEPTION
1860: WHEN OTHERS THEN
1859: EXCEPTION
1860: WHEN OTHERS THEN
1861: --
1862: IF (l_debug <> -1) THEN
1863: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
1864: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
1865: END IF;
1866: --
1867: retcode := g_PROC_ERROR;
1860: WHEN OTHERS THEN
1861: --
1862: IF (l_debug <> -1) THEN
1863: rlm_core_sv.dlog(C_DEBUG,'Errors found ');
1864: rlm_core_sv.dlog(C_DEBUG,'Error: ',SUBSTR(SQLERRM,1,1500));
1865: END IF;
1866: --
1867: retcode := g_PROC_ERROR;
1868: --
1866: --
1867: retcode := g_PROC_ERROR;
1868: --
1869: IF (l_debug <> -1) THEN
1870: rlm_core_sv.dpop(C_SDEBUG);
1871: END IF;
1872: --
1873: -- rlm_core_sv.stop_debug;
1874: --
1869: IF (l_debug <> -1) THEN
1870: rlm_core_sv.dpop(C_SDEBUG);
1871: END IF;
1872: --
1873: -- rlm_core_sv.stop_debug;
1874: --
1875: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1876:
1877:
1890: --
1891: BEGIN
1892: --
1893: IF (l_debug <> -1) THEN
1894: rlm_core_sv.dpush(C_SDEBUG,'UpdateHeaderPS');
1895: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1896: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1897: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1898: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1891: BEGIN
1892: --
1893: IF (l_debug <> -1) THEN
1894: rlm_core_sv.dpush(C_SDEBUG,'UpdateHeaderPS');
1895: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1896: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1897: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1898: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1899: END IF;
1892: --
1893: IF (l_debug <> -1) THEN
1894: rlm_core_sv.dpush(C_SDEBUG,'UpdateHeaderPS');
1895: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1896: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1897: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1898: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1899: END IF;
1900: --
1893: IF (l_debug <> -1) THEN
1894: rlm_core_sv.dpush(C_SDEBUG,'UpdateHeaderPS');
1895: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1896: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1897: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1898: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1899: END IF;
1900: --
1901: IF (FUNCMODE = 'RUN') THEN
1894: rlm_core_sv.dpush(C_SDEBUG,'UpdateHeaderPS');
1895: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
1896: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
1897: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
1898: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
1899: END IF;
1900: --
1901: IF (FUNCMODE = 'RUN') THEN
1902: -- Executable Statements
1903: --
1904: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
1905: --
1906: IF (l_debug <> -1) THEN
1907: rlm_core_sv.dlog(C_DEBUG,'WF Header_id :',v_header_id);
1908: rlm_core_sv.dlog(C_DEBUG,' Header_id :', g_Sch_rec.header_id);
1909: rlm_core_sv.dlog(C_DEBUG,'schedule_header_id',
1910: g_Sch_rec.schedule_header_id);
1911:
1904: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
1905: --
1906: IF (l_debug <> -1) THEN
1907: rlm_core_sv.dlog(C_DEBUG,'WF Header_id :',v_header_id);
1908: rlm_core_sv.dlog(C_DEBUG,' Header_id :', g_Sch_rec.header_id);
1909: rlm_core_sv.dlog(C_DEBUG,'schedule_header_id',
1910: g_Sch_rec.schedule_header_id);
1911:
1912: END IF;
1905: --
1906: IF (l_debug <> -1) THEN
1907: rlm_core_sv.dlog(C_DEBUG,'WF Header_id :',v_header_id);
1908: rlm_core_sv.dlog(C_DEBUG,' Header_id :', g_Sch_rec.header_id);
1909: rlm_core_sv.dlog(C_DEBUG,'schedule_header_id',
1910: g_Sch_rec.schedule_header_id);
1911:
1912: END IF;
1913: --
1913: --
1914: IF g_Sch_rec.header_id IS NULL THEN
1915: --
1916: IF (l_debug <> -1) THEN
1917: rlm_core_sv.dlog(C_DEBUG,'Assigning the global variable.');
1918: END IF;
1919: --
1920: SELECT * INTO g_Sch_rec
1921: FROM rlm_interface_headers
1928: --
1929: resultout := 'COMPLETE:SUCCESS';
1930: --
1931: IF (l_debug <> -1) THEN
1932: rlm_core_sv.dpop(C_SDEBUG);
1933: END IF;
1934: --
1935: RETURN;
1936: --
1975: EXCEPTION
1976: WHEN NO_DATA_FOUND THEN
1977: --
1978: IF (l_debug <> -1) THEN
1979: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
1980: END IF;
1981: --
1982: wf_core.context('RLM_WF_SV','UpdateHeaderPS',
1983: itemtype, itemkey,TO_CHAR(actid),funcmode);
1983: itemtype, itemkey,TO_CHAR(actid),funcmode);
1984: resultout := 'COMPLETE:FAILURE';
1985: --
1986: IF (l_debug <> -1) THEN
1987: rlm_core_sv.dpop(C_SDEBUG);
1988: END IF;
1989: --
1990: WHEN OTHERS THEN
1991: --
1989: --
1990: WHEN OTHERS THEN
1991: --
1992: IF (l_debug <> -1) THEN
1993: rlm_core_sv.dlog(C_DEBUG,'When Others');
1994: END IF;
1995: --
1996: wf_core.context('RLM_WF_SV','UpdateHeaderPS',
1997: itemtype, itemkey,TO_CHAR(actid),funcmode);
1997: itemtype, itemkey,TO_CHAR(actid),funcmode);
1998: resultout := 'COMPLETE:FAILURE';
1999: --
2000: IF (l_debug <> -1) THEN
2001: rlm_core_sv.dpop(C_SDEBUG);
2002: END IF;
2003: --RAISE;
2004: END UpdateHeaderPS;
2005:
2036: --
2037: BEGIN
2038: --
2039: IF (l_debug <> -1) THEN
2040: rlm_core_sv.dpush(C_SDEBUG,'ProcessGroupDemand');
2041: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2042: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2043: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2044: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2037: BEGIN
2038: --
2039: IF (l_debug <> -1) THEN
2040: rlm_core_sv.dpush(C_SDEBUG,'ProcessGroupDemand');
2041: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2042: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2043: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2044: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2045: END IF;
2038: --
2039: IF (l_debug <> -1) THEN
2040: rlm_core_sv.dpush(C_SDEBUG,'ProcessGroupDemand');
2041: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2042: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2043: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2044: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2045: END IF;
2046: --
2039: IF (l_debug <> -1) THEN
2040: rlm_core_sv.dpush(C_SDEBUG,'ProcessGroupDemand');
2041: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2042: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2043: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2044: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2045: END IF;
2046: --
2047: IF (FUNCMODE = 'RUN') THEN
2040: rlm_core_sv.dpush(C_SDEBUG,'ProcessGroupDemand');
2041: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2042: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2043: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2044: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2045: END IF;
2046: --
2047: IF (FUNCMODE = 'RUN') THEN
2048: -- Executable Statements
2048: -- Executable Statements
2049: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2050: --
2051: IF (l_debug <> -1) THEN
2052: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
2053: END IF;
2054: --
2055: SAVEPOINT s_child_process;
2056: SELECT hsecs INTO v_md_start_time FROM v$timer;
2059: g_Grp_rec,
2060: v_status);
2061: --
2062: IF (l_debug <> -1) THEN
2063: rlm_core_sv.dlog(C_DEBUG,' After ManageDemand v_status: ', v_status);
2064: END IF;
2065: --
2066: SELECT hsecs INTO v_md_end_time FROM v$timer;
2067: v_md_total:=v_md_total+(v_md_end_time-v_md_start_time)/100;
2065: --
2066: SELECT hsecs INTO v_md_end_time FROM v$timer;
2067: v_md_total:=v_md_total+(v_md_end_time-v_md_start_time)/100;
2068:
2069: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
2070: --
2071: RAISE e_MDFailed;
2072: --
2073: END IF;
2072: --
2073: END IF;
2074: --
2075: IF (l_debug <> -1) THEN
2076: rlm_core_sv.dlog(C_DEBUG,'Before Manage Forecast');
2077: END IF;
2078: --
2079: SELECT hsecs INTO v_mf_start_time FROM v$timer;
2080:
2083: g_Grp_rec,
2084: v_status);
2085: --
2086: IF (l_debug <> -1) THEN
2087: rlm_core_sv.dlog(C_DEBUG,' After ManageForecast v_status: ', v_status);
2088: END IF;
2089: --
2090: SELECT hsecs INTO v_mf_end_time FROM v$timer;
2091: v_mf_total:=v_mf_total+(v_mf_end_time-v_mf_start_time)/100;
2089: --
2090: SELECT hsecs INTO v_mf_end_time FROM v$timer;
2091: v_mf_total:=v_mf_total+(v_mf_end_time-v_mf_start_time)/100;
2092:
2093: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
2094: --
2095: RAISE e_MFFailed;
2096: --
2097: END IF;
2096: --
2097: END IF;
2098: --
2099: IF (l_debug <> -1) THEN
2100: rlm_core_sv.dlog(C_DEBUG,'Before Reconcile Demand');
2101: END IF;
2102: --
2103: SELECT hsecs INTO v_rd_start_time FROM v$timer;
2104:
2108: v_status);
2109:
2110: --
2111: IF (l_debug <> -1) THEN
2112: rlm_core_sv.dlog(C_DEBUG, 'After ReconcileDemand v_status', v_status);
2113: END IF;
2114: --
2115: SELECT hsecs INTO v_rd_end_time FROM v$timer;
2116: v_rd_total :=v_rd_total+(v_rd_end_time-v_rd_start_time)/100;
2114: --
2115: SELECT hsecs INTO v_rd_end_time FROM v$timer;
2116: v_rd_total :=v_rd_total+(v_rd_end_time-v_rd_start_time)/100;
2117: --
2118: IF v_status = rlm_core_sv.k_PROC_ERROR THEN
2119: --
2120: RAISE e_RDFailed;
2121: --
2122: END IF;
2124: SELECT hsecs INTO v_rlm_pg_gps_start_time from v$timer; --Bugfix 12863728
2125: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2126: g_Sch_rec.schedule_header_id,
2127: g_Grp_rec,
2128: rlm_core_sv.k_PS_PROCESSED);
2129:
2130: COMMIT;
2131: --
2132: SELECT hsecs INTO v_rlm_pg_gps_end_time FROM v$timer; --Bugfix 12863728
2134: --
2135: resultout := 'COMPLETE:SUCCESS';
2136: --
2137: IF (l_debug <> -1) THEN
2138: rlm_core_sv.dpop(C_SDEBUG);
2139: END IF;
2140: --
2141: l_msg_text:='Total Time spent in Validatedemand call - '||
2142: (l_val_end_time-l_val_start_time)/100;
2201: EXCEPTION
2202: WHEN NO_DATA_FOUND THEN
2203: --
2204: IF (l_debug <> -1) THEN
2205: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
2206: END IF;
2207: --
2208: wf_core.context('RLM_WF_SV','ProcessGroupDemand',
2209: itemtype, itemkey,TO_CHAR(actid),funcmode);
2209: itemtype, itemkey,TO_CHAR(actid),funcmode);
2210: resultout := 'COMPLETE:FAILURE';
2211: --
2212: IF (l_debug <> -1) THEN
2213: rlm_core_sv.dpop(C_SDEBUG);
2214: END IF;
2215: --
2216: WHEN e_MDFailed THEN
2217: --
2215: --
2216: WHEN e_MDFailed THEN
2217: --
2218: IF (l_debug <> -1) THEN
2219: rlm_core_sv.dlog(C_DEBUG,'Manage Demand failed');
2220: END IF;
2221: --
2222: ROLLBACK TO s_child_process;
2223: --
2223: --
2224: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2225: g_Sch_rec.schedule_header_id,
2226: g_Grp_rec,
2227: rlm_core_sv.k_PS_ERROR);
2228:
2229: -- Bug#: 2771756 - Start
2230: -- Bug: 4198330 added grouping info
2231: rlm_message_sv.removeMessages(
2246: --
2247: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2248: --
2249: IF (l_debug <> -1) THEN
2250: rlm_core_sv.dlog(C_DEBUG, 'Unable to lock header in e_MDFailed');
2251: END IF;
2252: --
2253: RAISE e_LockH;
2254: --
2254: --
2255: END IF;
2256: --
2257: IF (l_debug <> -1) THEN
2258: rlm_core_sv.dpop(C_SDEBUG);
2259: END IF;
2260: --
2261: WHEN e_MFFailed THEN
2262: --
2260: --
2261: WHEN e_MFFailed THEN
2262: --
2263: IF (l_debug <> -1) THEN
2264: rlm_core_sv.dlog(C_DEBUG,'Manage Forecast failed');
2265: END IF;
2266: --
2267: ROLLBACK TO s_child_process;
2268: --
2268: --
2269: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2270: g_Sch_rec.schedule_header_id,
2271: g_Grp_rec,
2272: rlm_core_sv.k_PS_ERROR);
2273:
2274: -- Bug#: 2771756 - Start
2275: -- Bug: 4198330 added grouping info
2276: rlm_message_sv.removeMessages(
2290: --
2291: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2292: --
2293: IF (l_debug <> -1) THEN
2294: rlm_core_sv.dlog(C_DEBUG, 'Unable to lock header in e_FDFailed');
2295: END IF;
2296: --
2297: RAISE e_LockH;
2298: --
2298: --
2299: END IF;
2300: --
2301: IF (l_debug <> -1) THEN
2302: rlm_core_sv.dpop(C_SDEBUG);
2303: END IF;
2304: --
2305: WHEN e_RDFailed THEN
2306: --
2304: --
2305: WHEN e_RDFailed THEN
2306: --
2307: IF (l_debug <> -1) THEN
2308: rlm_core_sv.dlog(C_DEBUG,'Reconcile Demand failed');
2309: END IF;
2310: --
2311: ROLLBACK TO s_child_process;
2312: --
2312: --
2313: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2314: g_Sch_rec.schedule_header_id,
2315: g_Grp_rec,
2316: rlm_core_sv.k_PS_ERROR);
2317: -- Bug#: 2771756 - Start
2318: -- Bug: 4198330 added grouping info
2319: rlm_message_sv.removeMessages(
2320: p_header_id => v_header_id,
2334: --
2335: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2336: --
2337: IF (l_debug <> -1) THEN
2338: rlm_core_sv.dlog(C_DEBUG, 'Unable to lock header in e_RDFailed');
2339: END IF;
2340: --
2341: RAISE e_LockH;
2342: --
2342: --
2343: END IF;
2344: --
2345: IF (l_debug <> -1) THEN
2346: rlm_core_sv.dpop(C_SDEBUG);
2347: END IF;
2348: --
2349: WHEN e_LockH THEN
2350: --
2348: --
2349: WHEN e_LockH THEN
2350: --
2351: IF (l_debug <> -1) THEN
2352: rlm_core_sv.dlog(C_DEBUG, 'e_LockH exception in ProcessGroupdemand');
2353: rlm_core_sv.dpop(C_SDEBUG);
2354: END IF;
2355: --
2356: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2349: WHEN e_LockH THEN
2350: --
2351: IF (l_debug <> -1) THEN
2352: rlm_core_sv.dlog(C_DEBUG, 'e_LockH exception in ProcessGroupdemand');
2353: rlm_core_sv.dpop(C_SDEBUG);
2354: END IF;
2355: --
2356: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2357: g_Sch_rec.schedule_header_id,
2355: --
2356: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2357: g_Sch_rec.schedule_header_id,
2358: g_Grp_rec,
2359: rlm_core_sv.k_PS_ERROR,
2360: 'ALL');
2361: --
2362: rlm_message_sv.app_error(
2363: x_ExceptionLevel => rlm_message_sv.k_error_level,
2365: x_InterfaceHeaderId => v_header_id,
2366: x_InterfaceLineId => NULL,
2367: x_OrderLineId => NULL,
2368: x_Token1 => 'SCHED_REF',
2369: x_Value1 => rlm_core_sv.get_schedule_reference_num(v_header_id));
2370: --
2371: COMMIT;
2372: resultout := 'COMPLETE:FAILURE';
2373: --
2374: WHEN OTHERS THEN
2375:
2376: -- Bug 2771756 : Added the rollback statement.
2377: IF (l_debug <> -1) THEN
2378: rlm_core_sv.dlog(C_DEBUG,'ProcessGroupDemand when others',
2379: SUBSTR(SQLERRM,1,1500));
2380: END IF;
2381: --
2382: ROLLBACK TO s_child_process;
2383: --
2384: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2385: g_Sch_rec.schedule_header_id,
2386: g_Grp_rec,
2387: rlm_core_sv.k_PS_ERROR);
2388:
2389: -- Bug#: 2771756 - Start
2390: -- Bug: 4198330 added grouping info
2391: rlm_message_sv.removeMessages(
2405: --
2406: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2407: --
2408: IF (l_debug <> -1) THEN
2409: rlm_core_sv.dlog(C_DEBUG, 'Unable to lock header in when others');
2410: rlm_core_sv.dpop(C_SDEBUG);
2411: END IF;
2412: --
2413: RAISE e_LockH;
2406: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2407: --
2408: IF (l_debug <> -1) THEN
2409: rlm_core_sv.dlog(C_DEBUG, 'Unable to lock header in when others');
2410: rlm_core_sv.dpop(C_SDEBUG);
2411: END IF;
2412: --
2413: RAISE e_LockH;
2414: --
2414: --
2415: END IF;
2416: --
2417: IF (l_debug <> -1) THEN
2418: rlm_core_sv.dpop(C_SDEBUG);
2419: END IF;
2420: --
2421: --RAISE;
2422:
2443:
2444: BEGIN
2445: --
2446: IF (l_debug <> -1) THEN
2447: rlm_core_sv.dpush(C_SDEBUG,'ArchiveDemand');
2448: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2449: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2450: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2451: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2444: BEGIN
2445: --
2446: IF (l_debug <> -1) THEN
2447: rlm_core_sv.dpush(C_SDEBUG,'ArchiveDemand');
2448: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2449: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2450: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2451: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2452: END IF;
2445: --
2446: IF (l_debug <> -1) THEN
2447: rlm_core_sv.dpush(C_SDEBUG,'ArchiveDemand');
2448: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2449: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2450: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2451: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2452: END IF;
2453: --
2446: IF (l_debug <> -1) THEN
2447: rlm_core_sv.dpush(C_SDEBUG,'ArchiveDemand');
2448: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2449: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2450: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2451: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2452: END IF;
2453: --
2454: IF (FUNCMODE = 'RUN') THEN
2447: rlm_core_sv.dpush(C_SDEBUG,'ArchiveDemand');
2448: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2449: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2450: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2451: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2452: END IF;
2453: --
2454: IF (FUNCMODE = 'RUN') THEN
2455: -- Executable Statements
2456: --
2457: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2458: --
2459: IF (l_debug <> -1) THEN
2460: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
2461: rlm_core_sv.dlog(C_DEBUG,'Before Archive_Demand');
2462: END IF;
2463: --
2464: RLM_TPA_SV.PostValidation;
2457: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2458: --
2459: IF (l_debug <> -1) THEN
2460: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
2461: rlm_core_sv.dlog(C_DEBUG,'Before Archive_Demand');
2462: END IF;
2463: --
2464: RLM_TPA_SV.PostValidation;
2465: --
2463: --
2464: RLM_TPA_SV.PostValidation;
2465: --
2466: IF RLM_VALIDATEDEMAND_SV.g_header_rec.process_status =
2467: rlm_core_sv.k_PS_ERROR THEN
2468: --
2469: resultout := 'COMPLETE:ABT';
2470: --
2471: IF (l_debug <> -1) THEN
2468: --
2469: resultout := 'COMPLETE:ABT';
2470: --
2471: IF (l_debug <> -1) THEN
2472: rlm_core_sv.dlog(C_DEBUG,'resultout',resultout);
2473: END IF;
2474: --
2475: ELSE
2476: --
2476: --
2477: resultout := 'COMPLETE:CONT';
2478: --
2479: IF (l_debug <> -1) THEN
2480: rlm_core_sv.dlog(C_DEBUG,'resultout',resultout);
2481: END IF;
2482: --
2483: END IF;
2484: --
2482: --
2483: END IF;
2484: --
2485: IF (l_debug <> -1) THEN
2486: rlm_core_sv.dpop(C_SDEBUG);
2487: END IF;
2488: --
2489: RETURN;
2490: END IF;
2528: EXCEPTION
2529: WHEN NO_DATA_FOUND THEN
2530: --
2531: IF (l_debug <> -1) THEN
2532: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
2533: END IF;
2534: --
2535: wf_core.context('RLM_WF_SV','ArchiveDemand',
2536: itemtype, itemkey,TO_CHAR(actid),funcmode);
2536: itemtype, itemkey,TO_CHAR(actid),funcmode);
2537: resultout := 'COMPLETE:ABT';
2538: --
2539: IF (l_debug <> -1) THEN
2540: rlm_core_sv.dpop(C_SDEBUG);
2541: END IF;
2542: --
2543: WHEN OTHERS THEN
2544: --
2542: --
2543: WHEN OTHERS THEN
2544: --
2545: IF (l_debug <> -1) THEN
2546: rlm_core_sv.dlog(C_DEBUG,'ArchiveDemand when others',
2547: SUBSTR(SQLERRM,1,1500));
2548: END IF;
2549: --
2550: rlm_dp_sv.UpdateGroupPS(v_header_id,
2549: --
2550: rlm_dp_sv.UpdateGroupPS(v_header_id,
2551: g_Sch_rec.schedule_header_id,
2552: g_Grp_rec,
2553: rlm_core_sv.k_PS_ERROR,
2554: 'ALL');
2555: --
2556: rlm_dp_sv.UpdateHeaderPS(v_header_id,
2557: g_Sch_rec.schedule_header_id);
2563: --
2564: COMMIT;
2565: --
2566: IF (l_debug <> -1) THEN
2567: rlm_core_sv.dpop(C_SDEBUG);
2568: END IF;
2569: --
2570: wf_core.context('RLM_WF_SV','ArchiveDemand',
2571: itemtype, itemkey,TO_CHAR(actid),funcmode);
2593: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2594:
2595: IF RLM_DP_SV.edi_test_indicator = 'T' then
2596: --
2597: rlm_core_sv.dlog(C_DEBUG,'Test schedule found');
2598: raise e_wftestschedule;
2599: --
2600: ELSE
2601: --
2612: x_InterfaceHeaderId => v_header_id,
2613: x_InterfaceLineId => NULL,
2614: x_OrderLineId => NULL,
2615: x_Token1 => 'SCHED_REF',
2616: x_Value1 =>rlm_core_sv.get_schedule_reference_num(v_header_id));
2617:
2618: resultout := 'T';
2619: COMMIT;
2620: --
2659: rlm_interface_lines_all ril
2660: WHERE ril.header_id = v_hdr_id
2661: AND ril.org_id = rih.org_id
2662: AND ril.header_id = rih.header_id
2663: AND ril.process_status in ( rlm_core_sv.k_PS_AVAILABLE,
2664: rlm_core_sv.k_PS_PARTIAL_PROCESSED)
2665: GROUP BY rih.customer_id,
2666: ril.ship_from_org_id,
2667: ril.ship_to_address_id,
2660: WHERE ril.header_id = v_hdr_id
2661: AND ril.org_id = rih.org_id
2662: AND ril.header_id = rih.header_id
2663: AND ril.process_status in ( rlm_core_sv.k_PS_AVAILABLE,
2664: rlm_core_sv.k_PS_PARTIAL_PROCESSED)
2665: GROUP BY rih.customer_id,
2666: ril.ship_from_org_id,
2667: ril.ship_to_address_id,
2668: ril.ship_to_site_use_id,
2682:
2683: BEGIN
2684: --
2685: IF (l_debug <> -1) THEN
2686: rlm_core_sv.dpush(C_SDEBUG,'CallProcessGroup');
2687: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2688: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2689: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2690: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2683: BEGIN
2684: --
2685: IF (l_debug <> -1) THEN
2686: rlm_core_sv.dpush(C_SDEBUG,'CallProcessGroup');
2687: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2688: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2689: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2690: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2691: END IF;
2684: --
2685: IF (l_debug <> -1) THEN
2686: rlm_core_sv.dpush(C_SDEBUG,'CallProcessGroup');
2687: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2688: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2689: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2690: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2691: END IF;
2692: --
2685: IF (l_debug <> -1) THEN
2686: rlm_core_sv.dpush(C_SDEBUG,'CallProcessGroup');
2687: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2688: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2689: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2690: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2691: END IF;
2692: --
2693: IF (FUNCMODE = 'RUN') THEN
2686: rlm_core_sv.dpush(C_SDEBUG,'CallProcessGroup');
2687: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2688: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2689: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2690: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2691: END IF;
2692: --
2693: IF (FUNCMODE = 'RUN') THEN
2694: -- Executable Statements
2694: -- Executable Statements
2695: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2696: --
2697: IF (l_debug <> -1) THEN
2698: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
2699: END IF;
2700: --
2701: SELECT process_status
2702: INTO v_tmp_status
2703: FROM rlm_interface_headers
2704: WHERE header_id = v_Header_Id;
2705: --
2706: IF (l_debug <> -1) THEN
2707: rlm_core_sv.dlog(C_DEBUG,'process status =', v_tmp_status);
2708: END IF;
2709: --
2710:
2711: --
2708: END IF;
2709: --
2710:
2711: --
2712: IF v_tmp_status <> rlm_core_sv.k_PROC_ERROR THEN
2713: --
2714: v_num_child := g_num_child;
2715: --
2716: IF v_num_child > 1 THEN /* Parallel DSP */
2722: --
2723: IF NOT RLM_DP_SV.LockHeader(v_header_id, g_Sch_rec) THEN
2724: --
2725: IF (l_debug <> -1) THEN
2726: rlm_core_sv.dlog(C_DEBUG, 'Cannot lock header after CreateChildGroups');
2727: END IF;
2728: --
2729: RAISE e_LockH;
2730: --
2785: EXIT WHEN c_group_cur%NOTFOUND;
2786: --
2787: -- Setting the global vars
2788: IF (l_debug <> -1) THEN
2789: rlm_core_sv.dlog(C_DEBUG,'Create loop',v_count);
2790: END IF;
2791: --
2792: IF v_count > 1 THEN
2793: --
2793: --
2794: IF NOT rlm_dp_sv.LockHeader(v_header_id, g_Sch_rec) THEN
2795: --
2796: IF (l_debug <> -1) THEN
2797: rlm_core_sv.dlog(C_DEBUG, 'Cannot lock header');
2798: END IF;
2799: --
2800: resultout := 'COMPLETE:FAILURE';
2801: RAISE e_LockH;
2808: v_header_id,
2809: v_count);
2810: --
2811: IF (l_debug <> -1) THEN
2812: rlm_core_sv.dlog(C_DEBUG,'start loop',v_count);
2813: rlm_core_sv.dlog(C_DEBUG, '***** Processing new group *****');
2814: rlm_core_sv.dlog(C_DEBUG, 'Blanket Number', g_Grp_rec.blanket_number);
2815: END IF;
2816: --
2809: v_count);
2810: --
2811: IF (l_debug <> -1) THEN
2812: rlm_core_sv.dlog(C_DEBUG,'start loop',v_count);
2813: rlm_core_sv.dlog(C_DEBUG, '***** Processing new group *****');
2814: rlm_core_sv.dlog(C_DEBUG, 'Blanket Number', g_Grp_rec.blanket_number);
2815: END IF;
2816: --
2817: rlm_wf_sv.StartDSPLoop(errbuf,
2810: --
2811: IF (l_debug <> -1) THEN
2812: rlm_core_sv.dlog(C_DEBUG,'start loop',v_count);
2813: rlm_core_sv.dlog(C_DEBUG, '***** Processing new group *****');
2814: rlm_core_sv.dlog(C_DEBUG, 'Blanket Number', g_Grp_rec.blanket_number);
2815: END IF;
2816: --
2817: rlm_wf_sv.StartDSPLoop(errbuf,
2818: retcode,
2839: --
2840: END IF;
2841: --
2842: IF (l_debug <> -1) THEN
2843: rlm_core_sv.dpop(C_SDEBUG);
2844: END IF;
2845: RETURN;
2846: END IF;
2847:
2884: EXCEPTION
2885: WHEN NO_DATA_FOUND THEN
2886: --
2887: IF (l_debug <> -1) THEN
2888: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
2889: END IF;
2890: --
2891: wf_core.context('RLM_WF_SV','CallProcessGroup',
2892: itemtype, itemkey,TO_CHAR(actid),funcmode);
2892: itemtype, itemkey,TO_CHAR(actid),funcmode);
2893: resultout := 'COMPLETE:FAILURE';
2894: --
2895: IF (l_debug <> -1) THEN
2896: rlm_core_sv.dpop(C_SDEBUG);
2897: END IF;
2898: --
2899: WHEN e_LockH THEN
2900: --
2898: --
2899: WHEN e_LockH THEN
2900: --
2901: IF (l_debug <> -1) THEN
2902: rlm_core_sv.dlog(C_DEBUG, 'e_LockH exception in CallProcessGroup');
2903: rlm_core_sv.dpop(C_SDEBUG);
2904: END IF;
2905: --
2906: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2899: WHEN e_LockH THEN
2900: --
2901: IF (l_debug <> -1) THEN
2902: rlm_core_sv.dlog(C_DEBUG, 'e_LockH exception in CallProcessGroup');
2903: rlm_core_sv.dpop(C_SDEBUG);
2904: END IF;
2905: --
2906: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2907: g_Sch_rec.schedule_header_id,
2905: --
2906: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
2907: g_Sch_rec.schedule_header_id,
2908: g_Grp_rec,
2909: rlm_core_sv.k_PS_ERROR,
2910: 'ALL');
2911: --
2912: rlm_message_sv.app_error(
2913: x_ExceptionLevel => rlm_message_sv.k_error_level,
2915: x_InterfaceHeaderId => v_header_id,
2916: x_InterfaceLineId => NULL,
2917: x_OrderLineId => NULL,
2918: x_Token1 => 'SCHED_REF',
2919: x_Value1 => rlm_core_sv.get_schedule_reference_num(v_header_id));
2920: --
2921: COMMIT;
2922: resultout := 'COMPLETE:FAILURE';
2923: --
2926: itemtype, itemkey,TO_CHAR(actid),funcmode);
2927: resultout := 'COMPLETE:FAILURE';
2928: --
2929: IF (l_debug <> -1) THEN
2930: rlm_core_sv.dpop(C_SDEBUG);
2931: END IF;
2932: --
2933: --RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2934:
2955:
2956: BEGIN
2957: --
2958: IF (l_debug <> -1) THEN
2959: rlm_core_sv.dpush(C_SDEBUG,'PostValidate');
2960: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2961: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2962: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2963: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2956: BEGIN
2957: --
2958: IF (l_debug <> -1) THEN
2959: rlm_core_sv.dpush(C_SDEBUG,'PostValidate');
2960: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2961: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2962: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2963: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2964: END IF;
2957: --
2958: IF (l_debug <> -1) THEN
2959: rlm_core_sv.dpush(C_SDEBUG,'PostValidate');
2960: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2961: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2962: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2963: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2964: END IF;
2965: --
2958: IF (l_debug <> -1) THEN
2959: rlm_core_sv.dpush(C_SDEBUG,'PostValidate');
2960: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2961: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2962: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2963: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2964: END IF;
2965: --
2966: IF (FUNCMODE = 'RUN') THEN
2959: rlm_core_sv.dpush(C_SDEBUG,'PostValidate');
2960: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
2961: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
2962: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
2963: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
2964: END IF;
2965: --
2966: IF (FUNCMODE = 'RUN') THEN
2967: -- Executable Statements
2967: -- Executable Statements
2968: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
2969: --
2970: IF (l_debug <> -1) THEN
2971: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
2972: END IF;
2973: --
2974: -- Lock the headers and Populate g_Sch_rec
2975: IF NOT rlm_dp_sv.LockHeader(v_header_Id, g_Sch_rec) THEN
2974: -- Lock the headers and Populate g_Sch_rec
2975: IF NOT rlm_dp_sv.LockHeader(v_header_Id, g_Sch_rec) THEN
2976: --
2977: IF (l_debug <> -1) THEN
2978: rlm_core_sv.dlog(C_DEBUG,'header not locked');
2979: END IF;
2980: --
2981: raise e_LockH;
2982: --
2984: --
2985: IF g_Sch_rec.schedule_purpose = rlm_dp_sv.k_CONFIRMATION THEN
2986: --
2987: IF (l_debug <> -1) THEN
2988: rlm_core_sv.dlog(C_DEBUG,'RLM_CONF_SCH_RCD');
2989: END IF;
2990: --
2991: raise e_ConfirmationSchedule;
2992: --
3015: --
3016: resultout := 'COMPLETE:SUCCESS';
3017: --
3018: IF (l_debug <> -1) THEN
3019: rlm_core_sv.dpop(C_SDEBUG);
3020: END IF;
3021: --
3022: RETURN;
3023: END IF;
3061: EXCEPTION
3062: WHEN NO_DATA_FOUND THEN
3063: --
3064: IF (l_debug <> -1) THEN
3065: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
3066: END IF;
3067: --
3068: wf_core.context('RLM_WF_SV','PostValidate',
3069: itemtype, itemkey,TO_CHAR(actid),funcmode);
3069: itemtype, itemkey,TO_CHAR(actid),funcmode);
3070: resultout := 'COMPLETE:FAILURE';
3071: --
3072: IF (l_debug <> -1) THEN
3073: rlm_core_sv.dpop(C_SDEBUG);
3074: END IF;
3075: --
3076: WHEN e_LockH THEN
3077: --
3075: --
3076: WHEN e_LockH THEN
3077: --
3078: IF (l_debug <> -1) THEN
3079: rlm_core_sv.dlog(C_DEBUG,'PostValidate failed Lock header');
3080: END IF;
3081: --
3082: rlm_dp_sv.UpdateGroupPS(v_header_id,
3083: g_Sch_rec.schedule_header_id,
3081: --
3082: rlm_dp_sv.UpdateGroupPS(v_header_id,
3083: g_Sch_rec.schedule_header_id,
3084: g_Grp_rec,
3085: rlm_core_sv.k_PS_ERROR,
3086: 'ALL');
3087: --
3088: rlm_dp_sv.UpdateHeaderPS(v_header_id,
3089: g_Sch_rec.schedule_header_id);
3096: itemtype, itemkey,TO_CHAR(actid),funcmode);
3097: resultout := 'COMPLETE:FAILURE';
3098: --
3099: IF (l_debug <> -1) THEN
3100: rlm_core_sv.dpop(C_SDEBUG);
3101: END IF;
3102: --
3103: WHEN e_ConfirmationSchedule THEN
3104: --
3102: --
3103: WHEN e_ConfirmationSchedule THEN
3104: --
3105: IF (l_debug <> -1) THEN
3106: rlm_core_sv.dlog(C_DEBUG,'RLM_CONF_SCH_RCD');
3107: END IF;
3108: --
3109: rlm_message_sv.app_error(
3110: x_ExceptionLevel => rlm_message_sv.k_warn_level,
3120: --
3121: rlm_dp_sv.UpdateGroupPS(g_Sch_rec.header_id,
3122: g_Sch_rec.Schedule_header_id,
3123: g_Grp_rec,
3124: rlm_core_sv.K_PS_PROCESSED,
3125: 'ALL');
3126: --
3127: rlm_dp_sv.UpdateHeaderPS(g_Sch_rec.header_id,
3128: g_Sch_rec.Schedule_header_id);
3134: -- Bug#: 3053299 -- Setting the output
3135: resultout := 'COMPLETE:SUCCESS';
3136: --
3137: IF (l_debug <> -1) THEN
3138: rlm_core_sv.dpop(C_SDEBUG);
3139: END IF;
3140:
3141: WHEN e_ReplaceSchedule THEN
3142: --
3146: --
3147: rlm_dp_sv.UpdateGroupPS(v_header_id,
3148: g_Sch_rec.schedule_header_id,
3149: g_Grp_rec,
3150: rlm_core_sv.k_PS_ERROR,
3151: 'ALL');
3152: --
3153: rlm_dp_sv.UpdateHeaderPS(v_header_id,
3154: g_Sch_rec.schedule_header_id);
3161: --
3162: COMMIT;
3163: --
3164: IF (l_debug <> -1) THEN
3165: rlm_core_sv.dpop(C_SDEBUG);
3166: END IF;
3167:
3168: WHEN OTHERS THEN
3169: wf_core.context('RLM_WF_SV','PostValidate',
3172: --
3173: rlm_dp_sv.UpdateGroupPS(v_header_id,
3174: g_Sch_rec.schedule_header_id,
3175: g_Grp_rec,
3176: rlm_core_sv.k_PS_ERROR,
3177: 'ALL');
3178: --
3179: rlm_dp_sv.UpdateHeaderPS(v_header_id,
3180: g_Sch_rec.schedule_header_id);
3186: --
3187: COMMIT;
3188: --
3189: IF (l_debug <> -1) THEN
3190: rlm_core_sv.dpop(C_SDEBUG);
3191: END IF;
3192: --RAISE ;
3193:
3194: END PostValidate;
3211: e_DPFailed EXCEPTION;
3212: BEGIN
3213: --
3214: IF (l_debug <> -1) THEN
3215: rlm_core_sv.dpush(C_SDEBUG,'CHeckStatus');
3216: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3217: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3218: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3219: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3212: BEGIN
3213: --
3214: IF (l_debug <> -1) THEN
3215: rlm_core_sv.dpush(C_SDEBUG,'CHeckStatus');
3216: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3217: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3218: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3219: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3220: END IF;
3213: --
3214: IF (l_debug <> -1) THEN
3215: rlm_core_sv.dpush(C_SDEBUG,'CHeckStatus');
3216: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3217: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3218: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3219: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3220: END IF;
3221: --
3214: IF (l_debug <> -1) THEN
3215: rlm_core_sv.dpush(C_SDEBUG,'CHeckStatus');
3216: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3217: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3218: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3219: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3220: END IF;
3221: --
3222: IF (FUNCMODE = 'RUN') THEN
3215: rlm_core_sv.dpush(C_SDEBUG,'CHeckStatus');
3216: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3217: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3218: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3219: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3220: END IF;
3221: --
3222: IF (FUNCMODE = 'RUN') THEN
3223: -- Executable Statements
3223: -- Executable Statements
3224: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
3225: --
3226: IF (l_debug <> -1) THEN
3227: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
3228: END IF;
3229: --
3230: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
3231: --
3229: --
3230: v_request_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'REQUEST_ID');
3231: --
3232: IF (l_debug <> -1) THEN
3233: rlm_core_sv.dlog(C_DEBUG,' Request Id :', v_request_id);
3234: END IF;
3235: --
3236: v_schedule_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
3237: --
3235: --
3236: v_schedule_num := wf_engine.GetItemAttrText(itemtype,itemkey,'SCHEDULE_NUMBER');
3237: --
3238: IF (l_debug <> -1) THEN
3239: rlm_core_sv.dlog(C_DEBUG,' Schedule Number :', v_schedule_num);
3240: END IF;
3241: --
3242: rlm_message_sv.dump_messages(v_header_id);
3243: rlm_message_sv.initialize_messages;
3251:
3252: resultout := 'COMPLETE:ERR';
3253: --
3254: IF (l_debug <> -1) THEN
3255: rlm_core_sv.dpop(C_SDEBUG);
3256: END IF;
3257: --
3258: RETURN;
3259:
3298: EXCEPTION
3299: WHEN NO_DATA_FOUND THEN
3300: --
3301: IF (l_debug <> -1) THEN
3302: rlm_core_sv.dlog(C_DEBUG,'NO data found ');
3303: END IF;
3304: --
3305: wf_core.context('RLM_WF_SV','CHeckStatus',
3306: itemtype, itemkey,TO_CHAR(actid),funcmode);
3306: itemtype, itemkey,TO_CHAR(actid),funcmode);
3307: resultout := 'COMPLETE:N';
3308: --
3309: IF (l_debug <> -1) THEN
3310: rlm_core_sv.dpop(C_SDEBUG);
3311: END IF;
3312: --
3313: WHEN OTHERS THEN
3314: wf_core.context('RLM_WF_SV','CHeckStatus',
3315: itemtype, itemkey,TO_CHAR(actid),funcmode);
3316: resultout := 'COMPLETE:N';
3317: --
3318: IF (l_debug <> -1) THEN
3319: rlm_core_sv.dpop(C_SDEBUG);
3320: END IF;
3321: --
3322: RAISE;
3323:
3351: --
3352: BEGIN
3353: --
3354: IF (l_debug <> -1) THEN
3355: rlm_core_sv.dpush(C_SDEBUG, 'Notification_ToUser');
3356: rlm_core_sv.dlog(C_DEBUG, 'User Id :', user_id);
3357: END IF;
3358: --
3359: OPEN c_user(user_id);
3352: BEGIN
3353: --
3354: IF (l_debug <> -1) THEN
3355: rlm_core_sv.dpush(C_SDEBUG, 'Notification_ToUser');
3356: rlm_core_sv.dlog(C_DEBUG, 'User Id :', user_id);
3357: END IF;
3358: --
3359: OPEN c_user(user_id);
3360: FETCH c_user INTO v_ToUserName;
3361: --
3362: IF (c_user%NOTFOUND) THEN
3363: --
3364: IF (l_debug <> -1) THEN
3365: rlm_core_sv.dlog(C_DEBUG,'Notification_ToUser :: No Data Found');
3366: END IF;
3367: --
3368: RAISE e_UserNotFound;
3369: --
3371: --
3372: CLOSE c_user;
3373: --
3374: IF (l_debug <> -1) THEN
3375: rlm_core_sv.dlog(C_DEBUG, 'To User', v_ToUserName);
3376: rlm_core_sv.dpop(C_SDEBUG);
3377: END IF;
3378: --
3379: RETURN v_ToUserName;
3372: CLOSE c_user;
3373: --
3374: IF (l_debug <> -1) THEN
3375: rlm_core_sv.dlog(C_DEBUG, 'To User', v_ToUserName);
3376: rlm_core_sv.dpop(C_SDEBUG);
3377: END IF;
3378: --
3379: RETURN v_ToUserName;
3380: --
3384: --
3385: rlm_message_sv.sql_error('RLM_WF_SV.Notification_ToUser',user_id);
3386: --
3387: IF (l_debug <> -1) THEN
3388: rlm_core_sv.dlog(C_DEBUG, 'Exception : e_UserNotFound');
3389: rlm_core_sv.dpop(C_SDEBUG);
3390: END IF;
3391: --
3392: RAISE;
3385: rlm_message_sv.sql_error('RLM_WF_SV.Notification_ToUser',user_id);
3386: --
3387: IF (l_debug <> -1) THEN
3388: rlm_core_sv.dlog(C_DEBUG, 'Exception : e_UserNotFound');
3389: rlm_core_sv.dpop(C_SDEBUG);
3390: END IF;
3391: --
3392: RAISE;
3393: --
3433: --
3434: BEGIN
3435: --
3436: IF (l_debug <> -1) THEN
3437: rlm_core_sv.dpush(C_SDEBUG, 'Notification_FromUser');
3438: rlm_core_sv.dlog(C_DEBUG, 'Responsibility Id :', responsibility_id);
3439: rlm_core_sv.dlog(C_DEBUG, 'Application Id :', resp_appl_id);
3440: END IF;
3441: --
3434: BEGIN
3435: --
3436: IF (l_debug <> -1) THEN
3437: rlm_core_sv.dpush(C_SDEBUG, 'Notification_FromUser');
3438: rlm_core_sv.dlog(C_DEBUG, 'Responsibility Id :', responsibility_id);
3439: rlm_core_sv.dlog(C_DEBUG, 'Application Id :', resp_appl_id);
3440: END IF;
3441: --
3442: v_FromUserName := FND_USER_RESP_GROUPS_API. upgrade_resp_role
3435: --
3436: IF (l_debug <> -1) THEN
3437: rlm_core_sv.dpush(C_SDEBUG, 'Notification_FromUser');
3438: rlm_core_sv.dlog(C_DEBUG, 'Responsibility Id :', responsibility_id);
3439: rlm_core_sv.dlog(C_DEBUG, 'Application Id :', resp_appl_id);
3440: END IF;
3441: --
3442: v_FromUserName := FND_USER_RESP_GROUPS_API. upgrade_resp_role
3443: (respid => responsibility_id,
3443: (respid => responsibility_id,
3444: appid => resp_appl_id);
3445: --
3446: IF (l_debug <> -1) THEN
3447: rlm_core_sv.dlog(C_DEBUG, 'Internal Role Name', v_FromUserName);
3448: rlm_core_sv.dpop(C_SDEBUG);
3449: END IF;
3450: --
3451: RETURN v_FromUserName;
3444: appid => resp_appl_id);
3445: --
3446: IF (l_debug <> -1) THEN
3447: rlm_core_sv.dlog(C_DEBUG, 'Internal Role Name', v_FromUserName);
3448: rlm_core_sv.dpop(C_SDEBUG);
3449: END IF;
3450: --
3451: RETURN v_FromUserName;
3452: --
3457: rlm_message_sv.sql_error('RLM_WF_SV.Notification_FromUser',
3458: SUBSTRB(SQLERRM, 1, 200));
3459: --
3460: IF (l_debug <> -1) THEN
3461: rlm_core_sv.dlog(C_DEBUG, 'When Others - ' || SUBSTRB(SQLERRM, 1, 200));
3462: rlm_core_sv.dpop(C_SDEBUG);
3463: END IF;
3464: --
3465: RAISE;
3458: SUBSTRB(SQLERRM, 1, 200));
3459: --
3460: IF (l_debug <> -1) THEN
3461: rlm_core_sv.dlog(C_DEBUG, 'When Others - ' || SUBSTRB(SQLERRM, 1, 200));
3462: rlm_core_sv.dpop(C_SDEBUG);
3463: END IF;
3464: --
3465: RAISE;
3466: --
3507: v_process_status NUMBER;
3508: BEGIN
3509: --
3510: IF (l_debug <> -1) THEN
3511: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleStatus');
3512: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3513: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3514: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3515: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3508: BEGIN
3509: --
3510: IF (l_debug <> -1) THEN
3511: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleStatus');
3512: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3513: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3514: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3515: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3516: END IF;
3509: --
3510: IF (l_debug <> -1) THEN
3511: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleStatus');
3512: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3513: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3514: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3515: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3516: END IF;
3517: --
3510: IF (l_debug <> -1) THEN
3511: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleStatus');
3512: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3513: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3514: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3515: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3516: END IF;
3517: --
3518: IF (FUNCMODE = 'RUN') THEN
3511: rlm_core_sv.dpush(C_SDEBUG,'GetScheduleStatus');
3512: rlm_core_sv.dlog(C_DEBUG,'itemtype ', itemtype);
3513: rlm_core_sv.dlog(C_DEBUG,'itemkey ', itemkey);
3514: rlm_core_sv.dlog(C_DEBUG,'actid ', actid);
3515: rlm_core_sv.dlog(C_DEBUG,'funcmode ', funcmode);
3516: END IF;
3517: --
3518: IF (FUNCMODE = 'RUN') THEN
3519: -- Executable Statements
3519: -- Executable Statements
3520: v_header_id := wf_engine.GetItemAttrNumber(itemtype,itemkey,'HEADER_ID');
3521: --
3522: IF (l_debug <> -1) THEN
3523: rlm_core_sv.dlog(C_DEBUG,' Header_id :', v_header_id);
3524: END IF;
3525: --
3526:
3527: OPEN c_process_status_schedule(g_Sch_rec.schedule_header_id); --Bug# 3567538
3537: IF (c_process_status_interface%NOTFOUND) THEN
3538: resultout := 'COMPLETE:ERROR';
3539: END IF;
3540:
3541: IF (v_process_status IS NOT NULL AND v_process_status = RLM_CORE_SV.k_PS_PARTIAL_PROCESSED) THEN
3542: resultout := 'COMPLETE:PARTIAL_PROCESS';
3543: ELSE
3544: resultout := 'COMPLETE:ERROR';
3545: END IF ;
3546:
3547: CLOSE c_process_status_interface;
3548: END IF;
3549:
3550: IF (v_process_status IS NOT NULL AND v_process_status = RLM_CORE_SV.k_PS_PARTIAL_PROCESSED) THEN
3551: resultout := 'COMPLETE:PARTIAL_PROCESS';
3552: ELSE
3553: resultout := 'COMPLETE:ERROR';
3554: END IF;
3557: CLOSE c_process_status_schedule;
3558:
3559: --
3560: IF (l_debug <> -1) THEN
3561: rlm_core_sv.dpop(C_SDEBUG);
3562: END IF;
3563: --
3564: RETURN;
3565:
3607: itemtype, itemkey,TO_CHAR(actid),funcmode);
3608: resultout := 'COMPLETE:ERROR';
3609: --
3610: IF (l_debug <> -1) THEN
3611: rlm_core_sv.dpop(C_SDEBUG);
3612: END IF;
3613: --
3614: RAISE;
3615: