45:
46:
47: FOR i in 1..number_of_process LOOP
48:
49: FND_FILE.put_line(FND_FILE.LOG ,'Spawning Process # '||i||' Of '||number_of_process);
50:
51: -- Need to set print option since print is set upon definition of concurrent program
52: -- on the UI.
53:
58: TRUE,
59: 'N');
60:
61: IF print_option_set THEN
62: FND_FILE.put_line(FND_FILE.LOG ,'Print Options Set ...');
63: ELSE
64: FND_FILE.put_line(FND_FILE.LOG ,'ERROR in setting Print Options ...');
65: errbuf := substr(fnd_message.get, 1, 240);
66: FND_FILE.put_line(FND_FILE.LOG ,'ERR MSG: '||errbuf);
60:
61: IF print_option_set THEN
62: FND_FILE.put_line(FND_FILE.LOG ,'Print Options Set ...');
63: ELSE
64: FND_FILE.put_line(FND_FILE.LOG ,'ERROR in setting Print Options ...');
65: errbuf := substr(fnd_message.get, 1, 240);
66: FND_FILE.put_line(FND_FILE.LOG ,'ERR MSG: '||errbuf);
67: END IF;
68:
62: FND_FILE.put_line(FND_FILE.LOG ,'Print Options Set ...');
63: ELSE
64: FND_FILE.put_line(FND_FILE.LOG ,'ERROR in setting Print Options ...');
65: errbuf := substr(fnd_message.get, 1, 240);
66: FND_FILE.put_line(FND_FILE.LOG ,'ERR MSG: '||errbuf);
67: END IF;
68:
69: req_id := FND_REQUEST.SUBMIT_REQUEST(
70: 'XDP',
79: organization_id,
80: inventory_item_id ,
81: action_code);
82:
83: FND_FILE.put_line(FND_FILE.LOG, 'Request ID: '||req_id);
84:
85: IF req_id = 0 THEN
86: FND_FILE.put_line(FND_FILE.LOG ,'Error on SUBMIT_REQUEST for process #'||i);
87: p_errbuf := substr(fnd_message.get, 1, 240);
82:
83: FND_FILE.put_line(FND_FILE.LOG, 'Request ID: '||req_id);
84:
85: IF req_id = 0 THEN
86: FND_FILE.put_line(FND_FILE.LOG ,'Error on SUBMIT_REQUEST for process #'||i);
87: p_errbuf := substr(fnd_message.get, 1, 240);
88: FND_FILE.put_line(FND_FILE.LOG, 'ERR MSG: '||errbuf);
89: --EXIT;
90: END IF;
84:
85: IF req_id = 0 THEN
86: FND_FILE.put_line(FND_FILE.LOG ,'Error on SUBMIT_REQUEST for process #'||i);
87: p_errbuf := substr(fnd_message.get, 1, 240);
88: FND_FILE.put_line(FND_FILE.LOG, 'ERR MSG: '||errbuf);
89: --EXIT;
90: END IF;
91:
92: END LOOP;
326: IF (return_status <> FND_API.G_RET_STS_ERROR) THEN
327: total_time := total_time + time_elapsed;
328:
329: IF (i = 1) THEN
330: FND_FILE.put_line(FND_FILE.LOG, 'Start Order ID : '||sdp_order_id|| ' Order Number : '
331: ||r_order_header.order_number);
332: ELSIF (i = p_number_of_orders) THEN
333: FND_FILE.put_line(FND_FILE.LOG, 'End Order ID : '||sdp_order_id|| ' Order Number : '
334: ||r_order_header.order_number);
329: IF (i = 1) THEN
330: FND_FILE.put_line(FND_FILE.LOG, 'Start Order ID : '||sdp_order_id|| ' Order Number : '
331: ||r_order_header.order_number);
332: ELSIF (i = p_number_of_orders) THEN
333: FND_FILE.put_line(FND_FILE.LOG, 'End Order ID : '||sdp_order_id|| ' Order Number : '
334: ||r_order_header.order_number);
335: END IF;
336:
337: ELSE
335: END IF;
336:
337: ELSE
338: error_count := error_count +1;
339: FND_FILE.put_line(FND_FILE.LOG, 'SFM Order ID : '||sdp_order_id|| ' Order Number : '
340: ||r_order_header.order_number||' Return Code : '||return_status||
341: ' Error Desc : '||msg_data);
342:
343: END IF;
401: errbuf := null;
402: retcode := 0;
403:
404: average := p_total_orders / (p_total_time_elapsed / 100);
405: FND_FILE.put_line(FND_FILE.OUTPUT,'These Figures Represent Orders Successfully Sent to the Process Orders Queue.');
406: FND_FILE.put_line(FND_FILE.OUTPUT,'=============================================================================');
407: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders Requested : '
408: || p_total_orders);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
402: retcode := 0;
403:
404: average := p_total_orders / (p_total_time_elapsed / 100);
405: FND_FILE.put_line(FND_FILE.OUTPUT,'These Figures Represent Orders Successfully Sent to the Process Orders Queue.');
406: FND_FILE.put_line(FND_FILE.OUTPUT,'=============================================================================');
407: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders Requested : '
408: || p_total_orders);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
410: || to_number(p_total_orders - p_error_count));
403:
404: average := p_total_orders / (p_total_time_elapsed / 100);
405: FND_FILE.put_line(FND_FILE.OUTPUT,'These Figures Represent Orders Successfully Sent to the Process Orders Queue.');
406: FND_FILE.put_line(FND_FILE.OUTPUT,'=============================================================================');
407: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders Requested : '
408: || p_total_orders);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
410: || to_number(p_total_orders - p_error_count));
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
405: FND_FILE.put_line(FND_FILE.OUTPUT,'These Figures Represent Orders Successfully Sent to the Process Orders Queue.');
406: FND_FILE.put_line(FND_FILE.OUTPUT,'=============================================================================');
407: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders Requested : '
408: || p_total_orders);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
410: || to_number(p_total_orders - p_error_count));
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
407: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders Requested : '
408: || p_total_orders);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
410: || to_number(p_total_orders - p_error_count));
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
414: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
415: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders in Error : ' || p_error_count);
409: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Successful Orders Processed : '
410: || to_number(p_total_orders - p_error_count));
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
414: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
415: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders in Error : ' || p_error_count);
416: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
417:
410: || to_number(p_total_orders - p_error_count));
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
414: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
415: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders in Error : ' || p_error_count);
416: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
417:
418: EXCEPTION
411: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Elapsed Time (Successful Orders) : '
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
414: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
415: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders in Error : ' || p_error_count);
416: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
417:
418: EXCEPTION
419: WHEN OTHERS THEN
412: || p_total_time_elapsed / 100 ||' seconds');
413: FND_FILE.put_line(FND_FILE.OUTPUT,'Average : '||average||' Orders per Second.');
414: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
415: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Number of Orders in Error : ' || p_error_count);
416: FND_FILE.put_line(FND_FILE.OUTPUT,'==============================================================');
417:
418: EXCEPTION
419: WHEN OTHERS THEN
420: FND_MESSAGE.SET_NAME('XDP', 'XDP_API_WHEN_OTHERS');
478: --all_ave := p_total_completed_orders/p_total_order_elapse_time;
479: all_ave := p_total_order_elapse_time / p_total_completed_orders;
480:
481: IF (p_total_completed_orders <> p_total_processed_orders) THEN
482: FND_FILE.put_line(FND_FILE.OUTPUT,'These are Partial Thoroughput Stats. Some orders '||
483: 'with Prefix '||p_order_prefix||' Not yet Successfully Completed.');
484: ELSE
485: FND_FILE.put_line(FND_FILE.OUTPUT,'These are Complete Thoroughput Stats. All Test '||
486: 'Orders with Prefix XDPPERFBM_'||p_order_prefix||' Successfully Completed.');
481: IF (p_total_completed_orders <> p_total_processed_orders) THEN
482: FND_FILE.put_line(FND_FILE.OUTPUT,'These are Partial Thoroughput Stats. Some orders '||
483: 'with Prefix '||p_order_prefix||' Not yet Successfully Completed.');
484: ELSE
485: FND_FILE.put_line(FND_FILE.OUTPUT,'These are Complete Thoroughput Stats. All Test '||
486: 'Orders with Prefix XDPPERFBM_'||p_order_prefix||' Successfully Completed.');
487: END IF;
488: FND_FILE.put_line(FND_FILE.OUTPUT,'============================================================================================');
489:
484: ELSE
485: FND_FILE.put_line(FND_FILE.OUTPUT,'These are Complete Thoroughput Stats. All Test '||
486: 'Orders with Prefix XDPPERFBM_'||p_order_prefix||' Successfully Completed.');
487: END IF;
488: FND_FILE.put_line(FND_FILE.OUTPUT,'============================================================================================');
489:
490: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Processed Orders : '||p_total_processed_orders);
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
486: 'Orders with Prefix XDPPERFBM_'||p_order_prefix||' Successfully Completed.');
487: END IF;
488: FND_FILE.put_line(FND_FILE.OUTPUT,'============================================================================================');
489:
490: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Processed Orders : '||p_total_processed_orders);
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
487: END IF;
488: FND_FILE.put_line(FND_FILE.OUTPUT,'============================================================================================');
489:
490: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Processed Orders : '||p_total_processed_orders);
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
488: FND_FILE.put_line(FND_FILE.OUTPUT,'============================================================================================');
489:
490: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Processed Orders : '||p_total_processed_orders);
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
490: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Processed Orders : '||p_total_processed_orders);
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
491: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Completed Orders : '||p_total_completed_orders);
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
499: FND_FILE.put_line(FND_FILE.OUTPUT,'Average Order Completion Rate.(Based on Individual Process Time)');
492: FND_FILE.put_line(FND_FILE.OUTPUT,'Total Process Duration : '
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
499: FND_FILE.put_line(FND_FILE.OUTPUT,'Average Order Completion Rate.(Based on Individual Process Time)');
500: FND_FILE.put_line(FND_FILE.OUTPUT,' Seconds Per Order: '||all_ave);
493: ||p_total_completed_elapse_time||' seconds');
494: FND_FILE.put_line(FND_FILE.OUTPUT,'Order Throughput');
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
499: FND_FILE.put_line(FND_FILE.OUTPUT,'Average Order Completion Rate.(Based on Individual Process Time)');
500: FND_FILE.put_line(FND_FILE.OUTPUT,' Seconds Per Order: '||all_ave);
501:
495: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Second : '||comp_ave);
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
499: FND_FILE.put_line(FND_FILE.OUTPUT,'Average Order Completion Rate.(Based on Individual Process Time)');
500: FND_FILE.put_line(FND_FILE.OUTPUT,' Seconds Per Order: '||all_ave);
501:
502: ELSE
503: errbuf := p_errbuf;
496: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Hour : '||comp_ave * 3600);
497: FND_FILE.put_line(FND_FILE.OUTPUT,' Orders Per Day : '||comp_ave * 86400);
498:
499: FND_FILE.put_line(FND_FILE.OUTPUT,'Average Order Completion Rate.(Based on Individual Process Time)');
500: FND_FILE.put_line(FND_FILE.OUTPUT,' Seconds Per Order: '||all_ave);
501:
502: ELSE
503: errbuf := p_errbuf;
504: retcode := p_retcode;