18: function GEN_ERROR(routine in varchar2,
19: errcode in number,
20: errmsg in varchar2) return varchar2 is
21: begin
22: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
23: fnd_message.set_token('ROUTINE', routine);
24: fnd_message.set_token('ERRNO', errcode);
25: fnd_message.set_token('REASON', errmsg);
26: return substr( fnd_message.get, 1, 240);
19: errcode in number,
20: errmsg in varchar2) return varchar2 is
21: begin
22: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
23: fnd_message.set_token('ROUTINE', routine);
24: fnd_message.set_token('ERRNO', errcode);
25: fnd_message.set_token('REASON', errmsg);
26: return substr( fnd_message.get, 1, 240);
27: end;
20: errmsg in varchar2) return varchar2 is
21: begin
22: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
23: fnd_message.set_token('ROUTINE', routine);
24: fnd_message.set_token('ERRNO', errcode);
25: fnd_message.set_token('REASON', errmsg);
26: return substr( fnd_message.get, 1, 240);
27: end;
28:
21: begin
22: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
23: fnd_message.set_token('ROUTINE', routine);
24: fnd_message.set_token('ERRNO', errcode);
25: fnd_message.set_token('REASON', errmsg);
26: return substr( fnd_message.get, 1, 240);
27: end;
28:
29:
22: fnd_message.set_name('FND', 'SQL_PLSQL_ERROR');
23: fnd_message.set_token('ROUTINE', routine);
24: fnd_message.set_token('ERRNO', errcode);
25: fnd_message.set_token('REASON', errmsg);
26: return substr( fnd_message.get, 1, 240);
27: end;
28:
29:
30: /*
87:
88: tmp_buf := fnd_submit.justify_program(t_app_name,req_set_name);
89: if tmp_buf is not null then
90: if substr(tmp_buf,1,1) = 'E' then
91: fnd_message.set_name('FND','CONC-RS-CRITICAL DISABLED');
92: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
93: errbuf := substr(fnd_message.get, 1, 240);
94: retcode := 2;
95: return;
88: tmp_buf := fnd_submit.justify_program(t_app_name,req_set_name);
89: if tmp_buf is not null then
90: if substr(tmp_buf,1,1) = 'E' then
91: fnd_message.set_name('FND','CONC-RS-CRITICAL DISABLED');
92: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
93: errbuf := substr(fnd_message.get, 1, 240);
94: retcode := 2;
95: return;
96: elsif substr(tmp_buf,1,1) = 'W' then
89: if tmp_buf is not null then
90: if substr(tmp_buf,1,1) = 'E' then
91: fnd_message.set_name('FND','CONC-RS-CRITICAL DISABLED');
92: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
93: errbuf := substr(fnd_message.get, 1, 240);
94: retcode := 2;
95: return;
96: elsif substr(tmp_buf,1,1) = 'W' then
97: warn_flag := 'Y';
94: retcode := 2;
95: return;
96: elsif substr(tmp_buf,1,1) = 'W' then
97: warn_flag := 'Y';
98: fnd_message.set_name('FND','CONC-RS-NONCRITICAL DISABLED');
99: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
100: tmp_buf := substr(fnd_message.get, 1, 240);
101: end if;
102: end if;
95: return;
96: elsif substr(tmp_buf,1,1) = 'W' then
97: warn_flag := 'Y';
98: fnd_message.set_name('FND','CONC-RS-NONCRITICAL DISABLED');
99: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
100: tmp_buf := substr(fnd_message.get, 1, 240);
101: end if;
102: end if;
103: /*Bug 5680669 -END-*/
96: elsif substr(tmp_buf,1,1) = 'W' then
97: warn_flag := 'Y';
98: fnd_message.set_name('FND','CONC-RS-NONCRITICAL DISABLED');
99: fnd_message.set_token('PROGRAM', substr(tmp_buf,3,240));
100: tmp_buf := substr(fnd_message.get, 1, 240);
101: end if;
102: end if;
103: /*Bug 5680669 -END-*/
104:
117: and stages.request_set_id = sets.request_set_id
118: and sets.start_stage = stages.request_set_stage_id;
119: exception
120: when NO_DATA_FOUND then
121: fnd_message.set_name('FND','CONC-Missing first stage');
122: errbuf := substr(fnd_message.get, 1, 240);
123: retcode := 2;
124: return;
125: end;
118: and sets.start_stage = stages.request_set_stage_id;
119: exception
120: when NO_DATA_FOUND then
121: fnd_message.set_name('FND','CONC-Missing first stage');
122: errbuf := substr(fnd_message.get, 1, 240);
123: retcode := 2;
124: return;
125: end;
126: /* Initialize critical outcome */
215: and stages.request_set_id = set_id
216: and stages.request_set_stage_id = stage_id;
217: exception
218: when NO_DATA_FOUND then
219: fnd_message.set_name('FND','CONC-Missing first stage');
220: errbuf := substr(fnd_message.get, 1, 240);
221: retcode := 2;
222: return;
223: end;
216: and stages.request_set_stage_id = stage_id;
217: exception
218: when NO_DATA_FOUND then
219: fnd_message.set_name('FND','CONC-Missing first stage');
220: errbuf := substr(fnd_message.get, 1, 240);
221: retcode := 2;
222: return;
223: end;
224: end if;
230: from fnd_concurrent_requests
231: where request_id = req_id;
232: exception
233: when NO_DATA_FOUND then
234: fnd_message.set_name('FND','CONC-Missing Request');
235: fnd_message.set_token('ROUTINE', 'FND_REQUEST_SET.FNDRSSUB');
236: fnd_message.set_token('REQUEST', to_char(req_id));
237: errbuf := fnd_message.get;
238: retcode := 2;
231: where request_id = req_id;
232: exception
233: when NO_DATA_FOUND then
234: fnd_message.set_name('FND','CONC-Missing Request');
235: fnd_message.set_token('ROUTINE', 'FND_REQUEST_SET.FNDRSSUB');
236: fnd_message.set_token('REQUEST', to_char(req_id));
237: errbuf := fnd_message.get;
238: retcode := 2;
239: return;
232: exception
233: when NO_DATA_FOUND then
234: fnd_message.set_name('FND','CONC-Missing Request');
235: fnd_message.set_token('ROUTINE', 'FND_REQUEST_SET.FNDRSSUB');
236: fnd_message.set_token('REQUEST', to_char(req_id));
237: errbuf := fnd_message.get;
238: retcode := 2;
239: return;
240: end;
233: when NO_DATA_FOUND then
234: fnd_message.set_name('FND','CONC-Missing Request');
235: fnd_message.set_token('ROUTINE', 'FND_REQUEST_SET.FNDRSSUB');
236: fnd_message.set_token('REQUEST', to_char(req_id));
237: errbuf := fnd_message.get;
238: retcode := 2;
239: return;
240: end;
241: /* Get Next Stage and Critical info*/
247: and set_application_id = appl_id
248: and request_set_stage_id = stage_id;
249: exception
250: when NO_DATA_FOUND then
251: fnd_message.set_name('FND','CONC-Missing stage');
252: errbuf := substr(fnd_message.get,1, 240);
253: retcode := 2;
254: return;
255: end;
248: and request_set_stage_id = stage_id;
249: exception
250: when NO_DATA_FOUND then
251: fnd_message.set_name('FND','CONC-Missing stage');
252: errbuf := substr(fnd_message.get,1, 240);
253: retcode := 2;
254: return;
255: end;
256: /* update the error stage id in this run */
294: where lookup_type = 'CP_SET_OUTCOME'
295: and lookup_code = current_outcome;
296: retcode := to_number(translate(current_outcome, 'SWE', '012'));
297: if (critical_stages) then
298: fnd_message.set_name('FND','CONC-Set Completed Critical');
299: else
300: fnd_message.set_name('FND', 'CONC-Set Completed');
301: end if;
302: fnd_message.set_token('OUTCOME', outcome_meaning);
296: retcode := to_number(translate(current_outcome, 'SWE', '012'));
297: if (critical_stages) then
298: fnd_message.set_name('FND','CONC-Set Completed Critical');
299: else
300: fnd_message.set_name('FND', 'CONC-Set Completed');
301: end if;
302: fnd_message.set_token('OUTCOME', outcome_meaning);
303: fnd_message.set_token('STAGE', user_stage_name);
304: errbuf := substr(fnd_message.get, 1, 240);
298: fnd_message.set_name('FND','CONC-Set Completed Critical');
299: else
300: fnd_message.set_name('FND', 'CONC-Set Completed');
301: end if;
302: fnd_message.set_token('OUTCOME', outcome_meaning);
303: fnd_message.set_token('STAGE', user_stage_name);
304: errbuf := substr(fnd_message.get, 1, 240);
305: fnd_conc_global.set_req_globals( request_data =>
306: substrb( 'C,' || to_char(error_stage_id) || ',' || to_char(stage_id) || ',' ||
299: else
300: fnd_message.set_name('FND', 'CONC-Set Completed');
301: end if;
302: fnd_message.set_token('OUTCOME', outcome_meaning);
303: fnd_message.set_token('STAGE', user_stage_name);
304: errbuf := substr(fnd_message.get, 1, 240);
305: fnd_conc_global.set_req_globals( request_data =>
306: substrb( 'C,' || to_char(error_stage_id) || ',' || to_char(stage_id) || ',' ||
307: to_char(req_id) || ',' ||
300: fnd_message.set_name('FND', 'CONC-Set Completed');
301: end if;
302: fnd_message.set_token('OUTCOME', outcome_meaning);
303: fnd_message.set_token('STAGE', user_stage_name);
304: errbuf := substr(fnd_message.get, 1, 240);
305: fnd_conc_global.set_req_globals( request_data =>
306: substrb( 'C,' || to_char(error_stage_id) || ',' || to_char(stage_id) || ',' ||
307: to_char(req_id) || ',' ||
308: critical_outcome, 1, 240));
324: and request_set_stage_id = next_stage;
325: exception
326: when NO_DATA_FOUND then
327: if (current_outcome = 'S') then
328: fnd_message.set_name('FND','CONC-BAD SUCCESS LINK');
329: elsif (current_outcome = 'W') then
330: fnd_message.set_name('FND','CONC-BAD WARNING LINK');
331: else
332: fnd_message.set_name('FND','CONC-BAD ERROR LINK');
326: when NO_DATA_FOUND then
327: if (current_outcome = 'S') then
328: fnd_message.set_name('FND','CONC-BAD SUCCESS LINK');
329: elsif (current_outcome = 'W') then
330: fnd_message.set_name('FND','CONC-BAD WARNING LINK');
331: else
332: fnd_message.set_name('FND','CONC-BAD ERROR LINK');
333: end if;
334: errbuf := substr(fnd_message.get,1, 240);
328: fnd_message.set_name('FND','CONC-BAD SUCCESS LINK');
329: elsif (current_outcome = 'W') then
330: fnd_message.set_name('FND','CONC-BAD WARNING LINK');
331: else
332: fnd_message.set_name('FND','CONC-BAD ERROR LINK');
333: end if;
334: errbuf := substr(fnd_message.get,1, 240);
335: retcode := 2;
336: return;
330: fnd_message.set_name('FND','CONC-BAD WARNING LINK');
331: else
332: fnd_message.set_name('FND','CONC-BAD ERROR LINK');
333: end if;
334: errbuf := substr(fnd_message.get,1, 240);
335: retcode := 2;
336: return;
337: end;
338: end if;
344: to_char(appl_id), to_char(set_Id),
345: to_char(next_stage),
346: to_char(fnd_global.conc_request_id),to_char(restart_flag));
347: if (req_id = 0) then
348: errbuf := substr(fnd_message.get,1, 240);
349: retcode := 2;
350: return;
351: else
352: update fnd_concurrent_requests set RUN_NUMBER =
356: conc_status => 'PAUSED',
357: request_data => runinfo_id||','||to_char(error_stage_id)||','||substrb( to_char(next_stage) || ',' ||
358: to_char(req_id) || ',' ||
359: critical_outcome, 1, 240));
360: fnd_message.set_name('FND','CONC-Stage Submitted');
361: fnd_message.set_token('STAGE', request_desc);
362: errbuf := substr(fnd_message.get,1, 240);
363: retcode := 0;
364: return;
357: request_data => runinfo_id||','||to_char(error_stage_id)||','||substrb( to_char(next_stage) || ',' ||
358: to_char(req_id) || ',' ||
359: critical_outcome, 1, 240));
360: fnd_message.set_name('FND','CONC-Stage Submitted');
361: fnd_message.set_token('STAGE', request_desc);
362: errbuf := substr(fnd_message.get,1, 240);
363: retcode := 0;
364: return;
365: end if;
358: to_char(req_id) || ',' ||
359: critical_outcome, 1, 240));
360: fnd_message.set_name('FND','CONC-Stage Submitted');
361: fnd_message.set_token('STAGE', request_desc);
362: errbuf := substr(fnd_message.get,1, 240);
363: retcode := 0;
364: return;
365: end if;
366:
570: and e.executable_id(+) = s.function_id
571: and e.application_id(+) = s.function_application_id;
572: exception
573: when NO_DATA_FOUND then
574: fnd_message.set_name('FND','CONC-Missing stage');
575: errbuf := substr(fnd_message.get,1, 240);
576: retcode := 2;
577: return;
578: end;
571: and e.application_id(+) = s.function_application_id;
572: exception
573: when NO_DATA_FOUND then
574: fnd_message.set_name('FND','CONC-Missing stage');
575: errbuf := substr(fnd_message.get,1, 240);
576: retcode := 2;
577: return;
578: end;
579:
612: copies => copies,
613: save_output => (req.save_output_flag = 'Y'),
614: print_together => NULL))
615: then
616: errbuf := substr(fnd_message.get, 1, 240);
617: retcode := 2;
618: close stage_req_printers;
619: rollback;
620: return;
624: while (stage_req_printers%found) loop
625: if (not fnd_request.add_printer(
626: printer => printer,
627: copies => copies)) then
628: errbuf := substr(fnd_message.get, 1, 240);
629: retcode := 2;
630: close stage_req_printers;
631: rollback;
632: return;
640: copies => 0,
641: save_output => (req.save_output_flag = 'Y'),
642: print_together => NULL))
643: then
644: errbuf := substr(fnd_message.get, 1, 240);
645: retcode := 2;
646: close stage_req_printers;
647: rollback;
648: return;
655: if (not fnd_request.add_notification(
656: user=>notify_rec.notify)) then
657: /* 3900886: User not found in wf_roles, continue with warning */
658: if (errbuf is NULL) then
659: errbuf := substr(fnd_message.get||
660: ': '|| notify_rec.notify, 1, 240);
661: else
662: if (instr(errbuf, notify_rec.notify, -1, 1) = 0) then
663: errbuf := substr(errbuf ||', '|| notify_rec.notify, 1, 240);
681: t_code,
682: t_language,
683: t_territory,
684: t_format)) then
685: errbuf := substr(fnd_message.get, 1, 240);
686: retcode := 2;
687: close stage_req_printers;
688: rollback;
689: return;
701: if (not fnd_request.set_options(language=>req.nls_language,
702: territory=>req.nls_territory,
703: datagroup=>'',
704: numeric_characters=>req.numeric_characters)) then
705: errbuf := substr(fnd_message.get, 1, 240);
706: retcode := 2;
707: rollback;
708: return;
709: end if;
750: req.argument94, req.argument95, req.argument96,
751: req.argument97, req.argument98, req.argument99,
752: req.argument100);
753: if (req_id = 0) then
754: errbuf := substr(fnd_message.get, 1, 240);
755: retcode := 2;
756: return;
757: end if;
758:
781: close stage_requests_restart;
782: end if;
783:
784: if (has_reqs = FALSE) then
785: fnd_message.set_name('FND','CONC-Stage has no requests');
786: errbuf := substr(fnd_message.get,1, 240);
787: /* Exit with error unless we have a hardwired outcome. */
788: if (hardwired_outcome = 'C') then
789: retcode := 2;
782: end if;
783:
784: if (has_reqs = FALSE) then
785: fnd_message.set_name('FND','CONC-Stage has no requests');
786: errbuf := substr(fnd_message.get,1, 240);
787: /* Exit with error unless we have a hardwired outcome. */
788: if (hardwired_outcome = 'C') then
789: retcode := 2;
790: else
797: fnd_conc_global.set_req_globals(
798: conc_status => 'PAUSED',
799: request_data => critical_request);
800: if (retcode = 1) then /* submission with warnings, message set */
801: fnd_message.set_name('FND','CONC-Stage Reqs Submitted Warn');
802: fnd_message.set_token('WARNING', substr (errbuf, 1, 240), FALSE);
803: errbuf := substr(fnd_message.get,1, 240);
804: return;
805: else
798: conc_status => 'PAUSED',
799: request_data => critical_request);
800: if (retcode = 1) then /* submission with warnings, message set */
801: fnd_message.set_name('FND','CONC-Stage Reqs Submitted Warn');
802: fnd_message.set_token('WARNING', substr (errbuf, 1, 240), FALSE);
803: errbuf := substr(fnd_message.get,1, 240);
804: return;
805: else
806: fnd_message.set_name('FND','CONC-Stage Reqs Submitted');
799: request_data => critical_request);
800: if (retcode = 1) then /* submission with warnings, message set */
801: fnd_message.set_name('FND','CONC-Stage Reqs Submitted Warn');
802: fnd_message.set_token('WARNING', substr (errbuf, 1, 240), FALSE);
803: errbuf := substr(fnd_message.get,1, 240);
804: return;
805: else
806: fnd_message.set_name('FND','CONC-Stage Reqs Submitted');
807: errbuf := substr(fnd_message.get,1, 240);
802: fnd_message.set_token('WARNING', substr (errbuf, 1, 240), FALSE);
803: errbuf := substr(fnd_message.get,1, 240);
804: return;
805: else
806: fnd_message.set_name('FND','CONC-Stage Reqs Submitted');
807: errbuf := substr(fnd_message.get,1, 240);
808: retcode := 0;
809: return;
810: end if;
803: errbuf := substr(fnd_message.get,1, 240);
804: return;
805: else
806: fnd_message.set_name('FND','CONC-Stage Reqs Submitted');
807: errbuf := substr(fnd_message.get,1, 240);
808: retcode := 0;
809: return;
810: end if;
811:
814: /* Compute stage exit code. */
815:
816: /* Do we have a hardwired outcome? */
817: if (hardwired_outcome <>'C') then
818: fnd_message.set_name('FND','CONC-Stage outcome hardwired');
819: current_outcome := hardwired_outcome;
820:
821: else /* Call evaluation function */
822: if (funct is null) then
819: current_outcome := hardwired_outcome;
820:
821: else /* Call evaluation function */
822: if (funct is null) then
823: fnd_message.set_name('FND','CONC-Invalid Stage Function');
824: errbuf := substr(fnd_message.get,1, 240);
825: retcode := 2;
826: return;
827: end if;
820:
821: else /* Call evaluation function */
822: if (funct is null) then
823: fnd_message.set_name('FND','CONC-Invalid Stage Function');
824: errbuf := substr(fnd_message.get,1, 240);
825: retcode := 2;
826: return;
827: end if;
828:
849: from fnd_lookups
850: where lookup_type = 'CP_SET_OUTCOME'
851: and lookup_code = current_outcome;
852:
853: fnd_message.set_name('FND', 'CONC-Stage outcome computed');
854: fnd_message.set_token('OUTCOME', outcome_meaning);
855: errbuf := substr(fnd_message.get, 1, 240);
856: retcode := to_number(translate(current_outcome, 'SWE', '012'));
857:
850: where lookup_type = 'CP_SET_OUTCOME'
851: and lookup_code = current_outcome;
852:
853: fnd_message.set_name('FND', 'CONC-Stage outcome computed');
854: fnd_message.set_token('OUTCOME', outcome_meaning);
855: errbuf := substr(fnd_message.get, 1, 240);
856: retcode := to_number(translate(current_outcome, 'SWE', '012'));
857:
858: return;
851: and lookup_code = current_outcome;
852:
853: fnd_message.set_name('FND', 'CONC-Stage outcome computed');
854: fnd_message.set_token('OUTCOME', outcome_meaning);
855: errbuf := substr(fnd_message.get, 1, 240);
856: retcode := to_number(translate(current_outcome, 'SWE', '012'));
857:
858: return;
859: end if;