47: G_QP_ENABLE_DUP_LINE_CHECK :=p_enable_dup_ln_check;
48: write_log('Duplicate Line Check: '||p_enable_dup_ln_check);
49:
50: G_QP_DEBUG := p_debug_on;
51: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Debug On: '||G_QP_DEBUG);
52: FND_PROFILE.GET('QP_BATCH_SIZE_FOR_BULK_UPLOAD',g_qp_batch_size);
53: if g_qp_batch_size is NULL or g_qp_batch_size < 1 then
54: g_qp_batch_size := 1000;
55: end if;
56: write_log('Batch Size: '||to_char(g_qp_batch_size));
57:
58: IF p_entity = 'PRL' THEN
59:
60: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'------Processing Price List Entity--------');
61:
62: load_lists
63: ( err_buff=>err_buff
64: ,retcode=>retcode
69: ,p_no_of_threads=>p_no_of_threads
70: ,p_spawned_request=>p_spawned_request
71: ,p_request_id =>p_request_id);
72: ELSE
73: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Only Price List Entity processing allowed');
74: END IF;
75:
76: END LOAD_PRICING_DATA;
77:
261: CLEAN_UP_CODE(l_request_id);
262:
263: select hsecs into l_end_time from v$timer;
264: write_log( 'End time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
265: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Time taken for the header process 2 (sec):' ||(l_end_time - l_start_time)/100);
266: Return;
267: ELSE -- ( l_req_data IS NULL)
268: write_log( 'First Call');
269: l_req_data_counter:=1;
271: END IF; -- ( l_req_data IS NOT NULL)
272:
273: ---- Header Started
274:
275: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'-----------Bulk Pricelist Data Loader---------');
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
272:
273: ---- Header Started
274:
275: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'-----------Bulk Pricelist Data Loader---------');
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
273: ---- Header Started
274:
275: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'-----------Bulk Pricelist Data Loader---------');
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
274:
275: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'-----------Bulk Pricelist Data Loader---------');
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
282: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '------------------------------');
275: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'-----------Bulk Pricelist Data Loader---------');
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
282: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '------------------------------');
283:
276: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Paremeters');
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
282: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '------------------------------');
283:
284: select hsecs into l_start_time from v$timer;
277: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Entity Name: '||p_entity_name);
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
282: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '------------------------------');
283:
284: select hsecs into l_start_time from v$timer;
285: write_log( 'Start time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
278: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Id: '||p_process_id);
279: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Type:'||p_process_type);
280: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Process Parent: '||p_process_parent);
281: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Threads: '||p_no_of_threads);
282: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, '------------------------------');
283:
284: select hsecs into l_start_time from v$timer;
285: write_log( 'Start time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
286:
3386: write_log( 'Child '||I||' request_id: '||l_new_request_id);
3387:
3388: IF l_new_request_id=0
3389: THEN
3390: FND_FILE.put_line(FND_FILE.OUTPUT, 'Error in spawning child process');
3391: retcode := 2;
3392: err_buff := FND_MESSAGE.GET;
3393: Return;
3394: ELSE
3419: END LOOP;
3420:
3421: select hsecs into l_end_time from v$timer;
3422: write_log( 'End time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
3423: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Time taken for the header process 1 (sec):' ||(l_end_time - l_start_time)/100);
3424:
3425: --Parents waits untill all the threads complete
3426: fnd_conc_global.set_req_globals(conc_status => 'PAUSED',
3427: request_data =>to_char(l_req_data_counter));
4595: AND process_status_flag IS NULL;
4596:
4597: purge(l_request_id);
4598:
4599: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Lines: '||l_suc_line);
4600: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Lines: '||l_err_line);
4601: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Pricing Attr: '||l_suc_pr_attr);
4602: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Pricing Attr: '||l_err_pr_attr);
4603: ERRORS_TO_OUTPUT(l_request_id);
4596:
4597: purge(l_request_id);
4598:
4599: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Lines: '||l_suc_line);
4600: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Lines: '||l_err_line);
4601: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Pricing Attr: '||l_suc_pr_attr);
4602: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Pricing Attr: '||l_err_pr_attr);
4603: ERRORS_TO_OUTPUT(l_request_id);
4604:
4597: purge(l_request_id);
4598:
4599: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Lines: '||l_suc_line);
4600: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Lines: '||l_err_line);
4601: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Pricing Attr: '||l_suc_pr_attr);
4602: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Pricing Attr: '||l_err_pr_attr);
4603: ERRORS_TO_OUTPUT(l_request_id);
4604:
4605: select hsecs into l_end_time from v$timer;
4598:
4599: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Lines: '||l_suc_line);
4600: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Lines: '||l_err_line);
4601: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Successfully Processed Pricing Attr: '||l_suc_pr_attr);
4602: FND_FILE.PUT_LINE(FND_FILE.OUTPUT,'Number Of Errored Pricing Attr: '||l_err_pr_attr);
4603: ERRORS_TO_OUTPUT(l_request_id);
4604:
4605: select hsecs into l_end_time from v$timer;
4606: write_log( 'End time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
4603: ERRORS_TO_OUTPUT(l_request_id);
4604:
4605: select hsecs into l_end_time from v$timer;
4606: write_log( 'End time :'||to_char(sysdate,'MM/DD/YYYY:HH:MM:SS'));
4607: FND_FILE.PUT_LINE(FND_FILE.LOG, 'Time taken for the line process (sec):' ||(l_end_time - l_start_time)/100);
4608:
4609: END IF;
4610:
4611: EXCEPTION
7044: l_ORIG_SYS_HEADER_REF VARCHAR2(50);
7045: l_ORIG_SYS_QUALIFIER_REF VARCHAR2(50);
7046:
7047: BEGIN
7048: fnd_file.put_line(FND_FILE.OUTPUT,'');
7049: fnd_file.put_line(FND_FILE.OUTPUT,'Error Details');
7050: fnd_file.put_line(FND_FILE.OUTPUT,'');
7051: OPEN c_errors;
7052: LOOP
7045: l_ORIG_SYS_QUALIFIER_REF VARCHAR2(50);
7046:
7047: BEGIN
7048: fnd_file.put_line(FND_FILE.OUTPUT,'');
7049: fnd_file.put_line(FND_FILE.OUTPUT,'Error Details');
7050: fnd_file.put_line(FND_FILE.OUTPUT,'');
7051: OPEN c_errors;
7052: LOOP
7053: FETCH c_errors
7046:
7047: BEGIN
7048: fnd_file.put_line(FND_FILE.OUTPUT,'');
7049: fnd_file.put_line(FND_FILE.OUTPUT,'Error Details');
7050: fnd_file.put_line(FND_FILE.OUTPUT,'');
7051: OPEN c_errors;
7052: LOOP
7053: FETCH c_errors
7054: INTO l_request_id,
7061: l_error_message;
7062:
7063: EXIT WHEN c_errors%NOTFOUND;
7064: if l_table_name = 'QP_INTERFACE_LIST_HEADERS' then
7065: fnd_file.put_line(FND_FILE.OUTPUT,to_char(l_request_id)
7066: ||'/'||l_entity_type
7067: ||'/'||l_table_name
7068: ||'/'||l_orig_sys_header_ref
7069: ||' '||l_error_message);
7067: ||'/'||l_table_name
7068: ||'/'||l_orig_sys_header_ref
7069: ||' '||l_error_message);
7070: elsif l_table_name = 'QP_INTERFACE_LIST_LINES' then
7071: fnd_file.put_line(FND_FILE.OUTPUT,to_char(l_request_id)
7072: ||'/'||l_entity_type
7073: ||'/'||l_table_name
7074: ||'/'||l_orig_sys_header_ref
7075: ||'/'||l_orig_sys_line_ref
7074: ||'/'||l_orig_sys_header_ref
7075: ||'/'||l_orig_sys_line_ref
7076: ||' '||l_error_message);
7077: elsif l_table_name = 'QP_INTERFACE_LIST_QUALIFIERS' then
7078: fnd_file.put_line(FND_FILE.OUTPUT,to_char(l_request_id)
7079: ||'/'||l_entity_type
7080: ||'/'||l_table_name
7081: ||'/'||l_orig_sys_header_ref
7082: ||'/'||l_orig_sys_qualifier_ref
7081: ||'/'||l_orig_sys_header_ref
7082: ||'/'||l_orig_sys_qualifier_ref
7083: ||' '||l_error_message);
7084: elsif l_table_name = 'QP_INTERFACE_LIST_PRICING_ATTRIBS' then
7085: fnd_file.put_line(FND_FILE.OUTPUT,to_char(l_request_id)
7086: ||'/'||l_entity_type
7087: ||'/'||l_table_name
7088: ||'/'||l_orig_sys_header_ref
7089: ||'/'||l_orig_sys_line_ref
7089: ||'/'||l_orig_sys_line_ref
7090: ||'/'||l_orig_sys_pricing_attr_ref
7091: ||' '||l_error_message);
7092: else
7093: fnd_file.put_line(FND_FILE.OUTPUT,to_char(l_request_id)
7094: ||'/'||l_entity_type
7095: ||'/'||l_table_name
7096: ||'/'||l_orig_sys_header_ref
7097: ||'/'||l_orig_sys_qualifier_ref
7099: ||'/'||l_orig_sys_pricing_attr_ref
7100: ||' '||l_error_message);
7101:
7102: end if;
7103: fnd_file.put_line(FND_FILE.OUTPUT,'');
7104: END LOOP;
7105: END;
7106:
7107: PROCEDURE PURGE
7187: and process_status_flag IS NULL;
7188:
7189: purge(l_request_id);
7190:
7191: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Headers: '||l_suc_head);
7192: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Headers: '||l_err_head);
7193: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Qualifiers: '||l_suc_qual);
7194: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Qualifiers: '||l_err_qual);
7195: ERRORS_TO_OUTPUT(l_request_id);
7188:
7189: purge(l_request_id);
7190:
7191: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Headers: '||l_suc_head);
7192: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Headers: '||l_err_head);
7193: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Qualifiers: '||l_suc_qual);
7194: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Qualifiers: '||l_err_qual);
7195: ERRORS_TO_OUTPUT(l_request_id);
7196: END;
7189: purge(l_request_id);
7190:
7191: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Headers: '||l_suc_head);
7192: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Headers: '||l_err_head);
7193: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Qualifiers: '||l_suc_qual);
7194: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Qualifiers: '||l_err_qual);
7195: ERRORS_TO_OUTPUT(l_request_id);
7196: END;
7197:
7190:
7191: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Headers: '||l_suc_head);
7192: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Headers: '||l_err_head);
7193: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of succesfully Processed Qualifiers: '||l_suc_qual);
7194: FND_FILE.PUT_LINE(FND_FILE.OUTPUT, 'Number Of Errored Qualifiers: '||l_err_qual);
7195: ERRORS_TO_OUTPUT(l_request_id);
7196: END;
7197:
7198: PROCEDURE write_log(log_text VARCHAR2)
7198: PROCEDURE write_log(log_text VARCHAR2)
7199: IS
7200: BEGIN
7201: IF G_QP_DEBUG = 'Y' THEN
7202: FND_FILE.PUT_LINE(FND_FILE.LOG, log_text);
7203: END IF;
7204: END;
7205:
7206: END QP_BULK_LOADER_PUB;