47:
48: --
49: BEGIN
50: --
51: ec_debug.enable_debug(p_debug_mode);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
48: --
49: BEGIN
50: --
51: ec_debug.enable_debug(p_debug_mode);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
49: BEGIN
50: --
51: ec_debug.enable_debug(p_debug_mode);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
50: --
51: ec_debug.enable_debug(p_debug_mode);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
51: ec_debug.enable_debug(p_debug_mode);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
52: ec_debug.pl(0,'EC','ECE_START_INBOUND','TRANSACTION_TYPE',p_transaction_type);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
60: ec_debug.pl(3,'p_data_file_char_set',p_data_file_char_set);
53: ec_debug.push('RLM_INBOUND_SV.PROCESS_INBOUND');
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
60: ec_debug.pl(3,'p_data_file_char_set',p_data_file_char_set);
61:
54: ec_debug.pl(3,'p_file_path',p_file_path);
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
60: ec_debug.pl(3,'p_data_file_char_set',p_data_file_char_set);
61:
62: /* Check to see if the transaction is enabled. If not, abort */
55: ec_debug.pl(3,'p_file_name',p_file_name);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
60: ec_debug.pl(3,'p_data_file_char_set',p_data_file_char_set);
61:
62: /* Check to see if the transaction is enabled. If not, abort */
63: fnd_profile.get('ECE_' || p_transaction_type || '_ENABLED',cEnabled);
56: ec_debug.pl(3,'p_run_import',p_run_import);
57: ec_debug.pl(3,'p_map_id',p_map_id);
58: ec_debug.pl(3,'p_debug_mode',p_debug_mode);
59: ec_debug.pl(3,'p_transaction_type',p_transaction_type);
60: ec_debug.pl(3,'p_data_file_char_set',p_data_file_char_set);
61:
62: /* Check to see if the transaction is enabled. If not, abort */
63: fnd_profile.get('ECE_' || p_transaction_type || '_ENABLED',cEnabled);
64: --
65: IF cEnabled = 'N' THEN
66: RAISE ece_transaction_disabled;
67: END IF;
68: --
69: ec_debug.pl(0,'EC','ECE_BEGIN_STAGING','TRANSACTION_TYPE',
70: p_transaction_type);
71: ec_inbound_stage.g_source_charset := p_data_file_char_set;
72:
73: -- MOAC changes
102: );
103: END IF;
104: --
105: /** Initialize the Stack Table **/
106: ec_debug.pl(0,'EC','ECE_END_STAGING','TRANSACTION_TYPE',p_transaction_type);
107: --
108: ec_utils.g_stack.DELETE;
109: --
110: ec_debug.pl(0,'EC','ECE_START_GENERIC_INBOUND',
106: ec_debug.pl(0,'EC','ECE_END_STAGING','TRANSACTION_TYPE',p_transaction_type);
107: --
108: ec_utils.g_stack.DELETE;
109: --
110: ec_debug.pl(0,'EC','ECE_START_GENERIC_INBOUND',
111: 'TRANSACTION_TYPE', p_transaction_type);
112: --
113: ece_inbound.process_run_inbound (
114: i_transaction_type => p_transaction_type,
113: ece_inbound.process_run_inbound (
114: i_transaction_type => p_transaction_type,
115: i_run_id => i_run_id);
116: --
117: ec_debug.pl(0,'EC','ECE_FINISH_GENERIC_INBOUND',
118: 'TRANSACTION_TYPE',p_transaction_type);
119: --
120: --4316744: Time zone uptake in RLM
121:
125: --
126: i_count := GetCountInterfaceHeaderId(i_run_id);
127: --
128:
129: ec_debug.pl(3,'i_count', i_count);
130:
131: --
132: IF (i_count >0) THEN
133: --
130:
131: --
132: IF (i_count >0) THEN
133: --
134: ec_debug.pl(0,'EC','ECE_EXECUTE_OPEN_INTERFACE','TRANSACTION_TYPE',
135: p_transaction_type,'REQUEST_ID',i_run_id);
136:
137: --bug 1873870
138:
161: );
162: --
163:
164:
165: ec_debug.pl(0,'EC','ECE_EXECUTE_OPEN_INTERFACE','TRANSACTION_TYPE',
166: p_transaction_type,'REQUEST_ID',i_Submit_Id);
167: --
168: END IF;
169: --
171: --
172: COMMIT;
173: --
174: retcode := ec_utils.i_ret_code;
175: ec_debug.pl(3,'retcode',retcode);
176: ec_debug.pl(3,'errbuf',errbuf);
177: ec_debug.pop('RLM_INBOUND_SV.PROCESS_INBOUND');
178: ec_debug.pl(0,'EC','ECE_END_INBOUND','TRANSACTION_TYPE',p_transaction_type);
179: ec_debug.disable_debug;
172: COMMIT;
173: --
174: retcode := ec_utils.i_ret_code;
175: ec_debug.pl(3,'retcode',retcode);
176: ec_debug.pl(3,'errbuf',errbuf);
177: ec_debug.pop('RLM_INBOUND_SV.PROCESS_INBOUND');
178: ec_debug.pl(0,'EC','ECE_END_INBOUND','TRANSACTION_TYPE',p_transaction_type);
179: ec_debug.disable_debug;
180: --
173: --
174: retcode := ec_utils.i_ret_code;
175: ec_debug.pl(3,'retcode',retcode);
176: ec_debug.pl(3,'errbuf',errbuf);
177: ec_debug.pop('RLM_INBOUND_SV.PROCESS_INBOUND');
178: ec_debug.pl(0,'EC','ECE_END_INBOUND','TRANSACTION_TYPE',p_transaction_type);
179: ec_debug.disable_debug;
180: --
181: EXCEPTION
174: retcode := ec_utils.i_ret_code;
175: ec_debug.pl(3,'retcode',retcode);
176: ec_debug.pl(3,'errbuf',errbuf);
177: ec_debug.pop('RLM_INBOUND_SV.PROCESS_INBOUND');
178: ec_debug.pl(0,'EC','ECE_END_INBOUND','TRANSACTION_TYPE',p_transaction_type);
179: ec_debug.disable_debug;
180: --
181: EXCEPTION
182: --
175: ec_debug.pl(3,'retcode',retcode);
176: ec_debug.pl(3,'errbuf',errbuf);
177: ec_debug.pop('RLM_INBOUND_SV.PROCESS_INBOUND');
178: ec_debug.pl(0,'EC','ECE_END_INBOUND','TRANSACTION_TYPE',p_transaction_type);
179: ec_debug.disable_debug;
180: --
181: EXCEPTION
182: --
183: WHEN NO_DATA_FOUND THEN
181: EXCEPTION
182: --
183: WHEN NO_DATA_FOUND THEN
184: --
185: ec_debug.pl(0,'EC','ECE_NO_MAP_TYPE',
186: 'TRANSACTION',p_transaction_type);
187: retcode := 1;
188: ec_debug.disable_debug;
189: ROLLBACK WORK;
184: --
185: ec_debug.pl(0,'EC','ECE_NO_MAP_TYPE',
186: 'TRANSACTION',p_transaction_type);
187: retcode := 1;
188: ec_debug.disable_debug;
189: ROLLBACK WORK;
190: --
191: WHEN ece_transaction_disabled THEN
192: --
189: ROLLBACK WORK;
190: --
191: WHEN ece_transaction_disabled THEN
192: --
193: ec_debug.pl(0,'EC','ECE_TRANSACTION_DISABLED',
194: 'TRANSACTION',p_transaction_type);
195: retcode := 1;
196: ec_debug.disable_debug;
197: ROLLBACK WORK;
192: --
193: ec_debug.pl(0,'EC','ECE_TRANSACTION_DISABLED',
194: 'TRANSACTION',p_transaction_type);
195: retcode := 1;
196: ec_debug.disable_debug;
197: ROLLBACK WORK;
198: --
199: WHEN EC_UTILS.PROGRAM_EXIT then
200: --
201: errbuf := ec_utils.i_errbuf;
202: retcode := ec_utils.i_ret_code;
203: ece_flatfile_pvt.print_attributes;
204: ROLLBACK WORK;
205: ec_debug.disable_debug;
206: --
207: WHEN OTHERS THEN
208: --
209: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
205: ec_debug.disable_debug;
206: --
207: WHEN OTHERS THEN
208: --
209: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
210: 'RLM_INBOUND_SV.PROCESS_INBOUND');
211: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
212: retcode := 2;
213: ROLLBACK WORK;
207: WHEN OTHERS THEN
208: --
209: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
210: 'RLM_INBOUND_SV.PROCESS_INBOUND');
211: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
212: retcode := 2;
213: ROLLBACK WORK;
214: ece_flatfile_pvt.print_attributes;
215: ec_debug.disable_debug;
211: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
212: retcode := 2;
213: ROLLBACK WORK;
214: ece_flatfile_pvt.print_attributes;
215: ec_debug.disable_debug;
216: --
217: END PROCESS_INBOUND;
218:
219: FUNCTION GetCountInterfaceHeaderId(x_request_id IN NUMBER)
223: x_count NUMBER;
224: --
225: BEGIN
226: --
227: ec_debug.pl(0,'EC','ECE_START_GET_HEADER','REQUEST_ID',x_request_id);
228: ec_debug.push('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
229: ec_debug.pl(3,'request_id',x_request_id);
230: --
231: SELECT count(*)
224: --
225: BEGIN
226: --
227: ec_debug.pl(0,'EC','ECE_START_GET_HEADER','REQUEST_ID',x_request_id);
228: ec_debug.push('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
229: ec_debug.pl(3,'request_id',x_request_id);
230: --
231: SELECT count(*)
232: INTO x_count
225: BEGIN
226: --
227: ec_debug.pl(0,'EC','ECE_START_GET_HEADER','REQUEST_ID',x_request_id);
228: ec_debug.push('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
229: ec_debug.pl(3,'request_id',x_request_id);
230: --
231: SELECT count(*)
232: INTO x_count
233: FROM rlm_interface_headers
232: INTO x_count
233: FROM rlm_interface_headers
234: where request_id = x_request_id;
235: --
236: ec_debug.pl(3,'count',x_count);
237: ec_debug.pop('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
238: ec_debug.pl(0,'EC','ECE_END_GET_HEADER','REQUEST_ID',x_request_id);
239: RETURN x_count;
240: --
233: FROM rlm_interface_headers
234: where request_id = x_request_id;
235: --
236: ec_debug.pl(3,'count',x_count);
237: ec_debug.pop('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
238: ec_debug.pl(0,'EC','ECE_END_GET_HEADER','REQUEST_ID',x_request_id);
239: RETURN x_count;
240: --
241: EXCEPTION
234: where request_id = x_request_id;
235: --
236: ec_debug.pl(3,'count',x_count);
237: ec_debug.pop('RLM_INBOUND_SV.GetCountInterfaceHeaderId');
238: ec_debug.pl(0,'EC','ECE_END_GET_HEADER','REQUEST_ID',x_request_id);
239: RETURN x_count;
240: --
241: EXCEPTION
242: --
241: EXCEPTION
242: --
243: WHEN NO_DATA_FOUND THEN
244: --
245: ec_debug.pl(0,'EC','ECE_NO_HEADER',
246: 'REQUEST',x_request_id);
247: ec_debug.pop('RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
248: RETURN NULL;
249: --
243: WHEN NO_DATA_FOUND THEN
244: --
245: ec_debug.pl(0,'EC','ECE_NO_HEADER',
246: 'REQUEST',x_request_id);
247: ec_debug.pop('RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
248: RETURN NULL;
249: --
250:
251: WHEN OTHERS THEN
249: --
250:
251: WHEN OTHERS THEN
252: --
253: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
254: 'RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
255: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
256: ec_debug.pop('RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
257: raise;
251: WHEN OTHERS THEN
252: --
253: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
254: 'RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
255: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
256: ec_debug.pop('RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
257: raise;
258: --
259: END GetCountInterfaceHeaderId;
252: --
253: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
254: 'RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
255: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
256: ec_debug.pop('RLM_INBOUND_SV.GETCOUNTINTERFACEHEADERID');
257: raise;
258: --
259: END GetCountInterfaceHeaderId;
260:
268:
269: PROCEDURE UpdateHorizonDates(p_run_id IN NUMBER) IS
270: BEGIN
271: --
272: ec_debug.pl(0,'EC','ECE_START_UPDATE_HZ_DATES','RUN_ID',p_run_id);
273: ec_debug.push('RLM_INBOUND_SV.UpdateHorizonDates');
274: ec_debug.pl(3,'p_run_id', p_run_id);
275: --
276: UPDATE rlm_interface_headers_all
269: PROCEDURE UpdateHorizonDates(p_run_id IN NUMBER) IS
270: BEGIN
271: --
272: ec_debug.pl(0,'EC','ECE_START_UPDATE_HZ_DATES','RUN_ID',p_run_id);
273: ec_debug.push('RLM_INBOUND_SV.UpdateHorizonDates');
274: ec_debug.pl(3,'p_run_id', p_run_id);
275: --
276: UPDATE rlm_interface_headers_all
277: SET sched_horizon_start_date = TRUNC(sched_horizon_start_date),
270: BEGIN
271: --
272: ec_debug.pl(0,'EC','ECE_START_UPDATE_HZ_DATES','RUN_ID',p_run_id);
273: ec_debug.push('RLM_INBOUND_SV.UpdateHorizonDates');
274: ec_debug.pl(3,'p_run_id', p_run_id);
275: --
276: UPDATE rlm_interface_headers_all
277: SET sched_horizon_start_date = TRUNC(sched_horizon_start_date),
278: sched_horizon_end_date = TRUNC(sched_horizon_end_date) + 0.99999
280: (SELECT header_id
281: FROM rlm_interface_headers
282: WHERE request_id = p_run_id);
283: --
284: ec_debug.pl(3, 'Number of headers updated', SQL%ROWCOUNT);
285: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
286: ec_debug.pl(0,'EC','ECE_END_UPDATE_HZ_DATES', 'p_run_id', p_run_id);
287: --
288: EXCEPTION
281: FROM rlm_interface_headers
282: WHERE request_id = p_run_id);
283: --
284: ec_debug.pl(3, 'Number of headers updated', SQL%ROWCOUNT);
285: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
286: ec_debug.pl(0,'EC','ECE_END_UPDATE_HZ_DATES', 'p_run_id', p_run_id);
287: --
288: EXCEPTION
289: --
282: WHERE request_id = p_run_id);
283: --
284: ec_debug.pl(3, 'Number of headers updated', SQL%ROWCOUNT);
285: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
286: ec_debug.pl(0,'EC','ECE_END_UPDATE_HZ_DATES', 'p_run_id', p_run_id);
287: --
288: EXCEPTION
289: --
290: WHEN NO_DATA_FOUND THEN
288: EXCEPTION
289: --
290: WHEN NO_DATA_FOUND THEN
291: --
292: ec_debug.pl(0,'EC','ECE_NO_HEADER',
293: 'p_run_id', p_run_id);
294: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
295: --
296: WHEN OTHERS THEN
290: WHEN NO_DATA_FOUND THEN
291: --
292: ec_debug.pl(0,'EC','ECE_NO_HEADER',
293: 'p_run_id', p_run_id);
294: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
295: --
296: WHEN OTHERS THEN
297: --
298: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
294: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
295: --
296: WHEN OTHERS THEN
297: --
298: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
299: 'RLM_INBOUND_SV.UpdateHorizonDates');
300: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
301: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
302: raise;
296: WHEN OTHERS THEN
297: --
298: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
299: 'RLM_INBOUND_SV.UpdateHorizonDates');
300: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
301: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
302: raise;
303: --
304: END UpdateHorizonDates;
297: --
298: ec_debug.pl(0,'EC','ECE_PROGRAM_ERROR','PROGRESS_LEVEL',
299: 'RLM_INBOUND_SV.UpdateHorizonDates');
300: ec_debug.pl(0,'EC','ECE_ERROR_MESSAGE','ERROR_MESSAGE',SQLERRM);
301: ec_debug.pop('RLM_INBOUND_SV.UpdateHorizonDates');
302: raise;
303: --
304: END UpdateHorizonDates;
305: