[Home] [Help]
PACKAGE BODY: APPS.XLA_AAD_IMPORT_PVT
Source
1 PACKAGE BODY xla_aad_import_pvt AS
2 /* $Header: xlaalimp.pkb 120.10.12020000.2 2013/01/30 11:55:12 sgullape ship $ */
3
4 --=============================================================================
5 -- **************** declaraions ********************
6 --=============================================================================
7 -------------------------------------------------------------------------------
8 -- declaring global types
9 -------------------------------------------------------------------------------
10 -------------------------------------------------------------------------------
11 -- declaring global constants
12 -------------------------------------------------------------------------------
13 ------------------------------------------------------------------------------
14 -- declaring global variables
15 ------------------------------------------------------------------------------
16
17 --=============================================================================
18 -- *********** Local Trace Routine **********
19 --=============================================================================
20 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
21 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
22 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
23 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
24 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
25 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
26
27 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
28 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_aad_import_pvt';
29
30 g_log_level NUMBER;
31 g_log_enabled BOOLEAN;
32
33 PROCEDURE trace
34 (p_msg IN VARCHAR2
35 ,p_module IN VARCHAR2
36 ,p_level IN NUMBER) IS
37 BEGIN
38 ----------------------------------------------------------------------------
39 -- Following is for FND log.
40 ----------------------------------------------------------------------------
41 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
42 fnd_log.message(p_level, p_module);
43 ELSIF p_level >= g_log_level THEN
44 fnd_log.string(p_level, p_module, p_msg);
45 END IF;
46 EXCEPTION
47 WHEN OTHERS THEN
48 xla_exceptions_pkg.raise_message
49 (p_location => 'xla_aad_import_pvt.trace');
50 END trace;
51
52
53 --=============================================================================
54 -- *********** private procedures and functions **********
55 --=============================================================================
56
57 --=============================================================================
58 --
59 -- Name: pre_import
60 -- Description: This API perform the pre-import step.
61 --
62 --=============================================================================
63 FUNCTION pre_import
64 (p_application_id IN INTEGER
65 ,p_amb_context_code IN VARCHAR2
66 ,p_staging_context_code IN VARCHAR2)
67 RETURN VARCHAR2
68 IS
69 CURSOR c_lock IS
70 SELECT *
71 FROM xla_appli_amb_contexts
72 WHERE application_id = p_application_id
73 AND amb_context_code = p_amb_context_code
74 FOR UPDATE OF application_id NOWAIT;
75
76 recinfo c_lock%ROWTYPE;
77 l_lock_error BOOLEAN;
78 l_log_module VARCHAR2(240);
79 BEGIN
80 IF g_log_enabled THEN
81 l_log_module := C_DEFAULT_MODULE||'.pre_import';
82 END IF;
83
84 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
85 trace(p_msg => 'BEGIN of procedure pre_import',
86 p_module => l_log_module,
87 p_level => C_LEVEL_PROCEDURE);
88 END IF;
89
90 -- Lock the staging area of the AMB context
91 l_lock_error := TRUE;
92 OPEN c_lock;
93 CLOSE c_lock;
94 l_lock_error := FALSE;
95
96 -- Clean up staging accounting methods
97 DELETE FROM xla_stage_acctg_methods
98 WHERE staging_amb_context_code = p_staging_context_code;
99
100 -- Bug : 16208537
101 -- API Call to Insert messages into AAD Loader Log Table.
102 xla_aad_loader_util_pvt.insert_aadloaderlog(
103 p_amb_context_code => p_staging_context_code,
104 p_application_id => p_application_id,
105 p_request_code => 'IMPORT' ,
106 p_log_type_code => 'PRE-IMPORT',
107 p_encoded_message => '# delete xla_stage_acctg_methods = '||SQL%ROWCOUNT,
108 p_component_code => 'pre_import');
109
110 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
111 trace(p_msg => '# record deleted from xla_stage_acctg_methods = '||SQL%ROWCOUNT,
112 p_module => l_log_module,
113 p_level => C_LEVEL_STATEMENT);
114 END IF;
115
116 -- Clean up staging history
117 DELETE FROM xla_staging_components_h
118 WHERE staging_amb_context_code = p_staging_context_code;
119
120 -- Bug : 16208537
121 -- API Call to Insert messages into AAD Loader Log Table.
122 xla_aad_loader_util_pvt.insert_aadloaderlog(
123 p_amb_context_code => p_staging_context_code,
124 p_application_id => p_application_id,
125 p_request_code => 'IMPORT' ,
126 p_log_type_code => 'PRE-IMPORT',
127 p_encoded_message => '# delete xla_staging_components_h = '||SQL%ROWCOUNT,
128 p_component_code => 'pre_import');
129
130 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
131 trace(p_msg => '# record deleted from xla_staging_components_h = '||SQL%ROWCOUNT,
132 p_module => l_log_module,
133 p_level => C_LEVEL_STATEMENT);
134 END IF;
135
136 -- Clean up ADR
137 DELETE FROM xla_conditions
138 WHERE amb_context_code = p_staging_context_code
139 AND segment_rule_detail_id IS NOT NULL;
140
141 -- Bug : 16208537
142 -- API Call to Insert messages into AAD Loader Log Table.
143 xla_aad_loader_util_pvt.insert_aadloaderlog(
144 p_amb_context_code => p_staging_context_code,
145 p_application_id => p_application_id,
146 p_request_code => 'IMPORT' ,
147 p_log_type_code => 'PRE-IMPORT',
148 p_encoded_message => '# delete xla_conditions = '||SQL%ROWCOUNT,
149 p_component_code => 'pre_import');
150
151 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
152 trace(p_msg => '# record deleted from xla_conditions = '||SQL%ROWCOUNT,
153 p_module => l_log_module,
154 p_level => C_LEVEL_STATEMENT);
155 END IF;
156
157 DELETE FROM xla_seg_rule_details
158 WHERE amb_context_code = p_staging_context_code;
159
160 -- Bug : 16208537
161 -- API Call to Insert messages into AAD Loader Log Table.
162 xla_aad_loader_util_pvt.insert_aadloaderlog(
163 p_amb_context_code => p_staging_context_code,
164 p_application_id => p_application_id,
165 p_request_code => 'IMPORT' ,
166 p_log_type_code => 'PRE-IMPORT',
167 p_encoded_message => '# delete xla_seg_rule_details = '||SQL%ROWCOUNT,
168 p_component_code => 'pre_import');
169
170 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
171 trace(p_msg => '# record deleted from xla_seg_rule_details = '||SQL%ROWCOUNT,
172 p_module => l_log_module,
173 p_level => C_LEVEL_STATEMENT);
174 END IF;
175
176 DELETE FROM xla_seg_rules_tl
177 WHERE amb_context_code = p_staging_context_code;
178
179 -- Bug : 16208537
180 -- API Call to Insert messages into AAD Loader Log Table.
181 xla_aad_loader_util_pvt.insert_aadloaderlog(
182 p_amb_context_code => p_staging_context_code,
183 p_application_id => p_application_id,
184 p_request_code => 'IMPORT' ,
185 p_log_type_code => 'PRE-IMPORT',
186 p_encoded_message => '# delete xla_seg_rules_tl = '||SQL%ROWCOUNT,
187 p_component_code => 'pre_import');
188
189 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
190 trace(p_msg => '# record deleted from xla_seg_rules_tl = '||SQL%ROWCOUNT,
191 p_module => l_log_module,
192 p_level => C_LEVEL_STATEMENT);
193 END IF;
194
195 DELETE FROM xla_seg_rules_b
196 WHERE amb_context_code = p_staging_context_code;
197
198 -- Bug : 16208537
199 -- API Call to Insert messages into AAD Loader Log Table.
200 xla_aad_loader_util_pvt.insert_aadloaderlog(
201 p_amb_context_code => p_staging_context_code,
202 p_application_id => p_application_id,
203 p_request_code => 'IMPORT' ,
204 p_log_type_code => 'PRE-IMPORT',
205 p_encoded_message => '# delete xla_seg_rules_b = '||SQL%ROWCOUNT,
206 p_component_code => 'pre_import');
207
208 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
209 trace(p_msg => '# record deleted from xla_seg_rules_b = '||SQL%ROWCOUNT,
210 p_module => l_log_module,
211 p_level => C_LEVEL_STATEMENT);
212 END IF;
213
214 -- Clean up mapping set tables
215 DELETE FROM xla_mapping_set_values
216 WHERE amb_context_code = p_staging_context_code;
217
218 -- Bug : 16208537
219 -- API Call to Insert messages into AAD Loader Log Table.
220 xla_aad_loader_util_pvt.insert_aadloaderlog(
221 p_amb_context_code => p_staging_context_code,
222 p_application_id => p_application_id,
223 p_request_code => 'IMPORT' ,
224 p_log_type_code => 'PRE-IMPORT',
225 p_encoded_message => '# delete xla_mapping_set_values = '||SQL%ROWCOUNT,
226 p_component_code => 'pre_import');
227
228 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
229 trace(p_msg => '# record deleted from xla_mapping_set_values = '||SQL%ROWCOUNT,
230 p_module => l_log_module,
231 p_level => C_LEVEL_STATEMENT);
232 END IF;
233
234 DELETE FROM xla_mapping_sets_tl
235 WHERE amb_context_code = p_staging_context_code;
236
237 -- Bug : 16208537
238 -- API Call to Insert messages into AAD Loader Log Table.
239 xla_aad_loader_util_pvt.insert_aadloaderlog(
240 p_amb_context_code => p_staging_context_code,
241 p_application_id => p_application_id,
242 p_request_code => 'IMPORT' ,
243 p_log_type_code => 'PRE-IMPORT',
244 p_encoded_message => '# delete xla_mapping_sets_tl = '||SQL%ROWCOUNT,
245 p_component_code => 'pre_import');
246
247 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
248 trace(p_msg => '# record deleted from xla_mapping_sets_tl = '||SQL%ROWCOUNT,
249 p_module => l_log_module,
250 p_level => C_LEVEL_STATEMENT);
251 END IF;
252
253 DELETE FROM xla_mapping_sets_b
254 WHERE amb_context_code = p_staging_context_code;
255
256 -- Bug : 16208537
257 -- API Call to Insert messages into AAD Loader Log Table.
258 xla_aad_loader_util_pvt.insert_aadloaderlog(
259 p_amb_context_code => p_staging_context_code,
260 p_application_id => p_application_id,
261 p_request_code => 'IMPORT' ,
262 p_log_type_code => 'PRE-IMPORT',
263 p_encoded_message => '# delete xla_mapping_sets_b = '||SQL%ROWCOUNT,
264 p_component_code => 'pre_import');
265
266 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
267 trace(p_msg => '# record deleted from xla_mapping_sets_b = '||SQL%ROWCOUNT,
268 p_module => l_log_module,
269 p_level => C_LEVEL_STATEMENT);
270 END IF;
271
272 -- Clean up analytical criterion tables
273 DELETE FROM xla_analytical_sources
274 WHERE amb_context_code = p_staging_context_code;
275
276 -- Bug : 16208537
277 -- API Call to Insert messages into AAD Loader Log Table.
278 xla_aad_loader_util_pvt.insert_aadloaderlog(
279 p_amb_context_code => p_staging_context_code,
280 p_application_id => p_application_id,
281 p_request_code => 'IMPORT' ,
282 p_log_type_code => 'PRE-IMPORT',
283 p_encoded_message => '# delete xla_analytical_sources = '||SQL%ROWCOUNT,
284 p_component_code => 'pre_import');
285
286 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
287 trace(p_msg => '# record deleted from xla_analytical_sources = '||SQL%ROWCOUNT,
288 p_module => l_log_module,
289 p_level => C_LEVEL_STATEMENT);
290 END IF;
291
292 DELETE FROM xla_analytical_dtls_tl
293 WHERE amb_context_code = p_staging_context_code;
294
295 -- Bug : 16208537
296 -- API Call to Insert messages into AAD Loader Log Table.
297 xla_aad_loader_util_pvt.insert_aadloaderlog(
298 p_amb_context_code => p_staging_context_code,
299 p_application_id => p_application_id,
300 p_request_code => 'IMPORT' ,
301 p_log_type_code => 'PRE-IMPORT',
302 p_encoded_message => '# delete xla_analytical_dtls_tl = '||SQL%ROWCOUNT,
303 p_component_code => 'pre_import');
304
305 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
306 trace(p_msg => '# record deleted from xla_analytical_dtls_tl = '||SQL%ROWCOUNT,
307 p_module => l_log_module,
308 p_level => C_LEVEL_STATEMENT);
309 END IF;
310
311 DELETE FROM xla_analytical_dtls_b
312 WHERE amb_context_code = p_staging_context_code;
313
317 p_amb_context_code => p_staging_context_code,
314 -- Bug : 16208537
315 -- API Call to Insert messages into AAD Loader Log Table.
316 xla_aad_loader_util_pvt.insert_aadloaderlog(
318 p_application_id => p_application_id,
319 p_request_code => 'IMPORT' ,
320 p_log_type_code => 'PRE-IMPORT',
321 p_encoded_message => '# delete xla_analytical_dtls_b = '||SQL%ROWCOUNT,
322 p_component_code => 'pre_import');
323
324 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
325 trace(p_msg => '# record deleted from xla_analytical_dtls_b = '||SQL%ROWCOUNT,
326 p_module => l_log_module,
327 p_level => C_LEVEL_STATEMENT);
328 END IF;
329
330 DELETE FROM xla_analytical_hdrs_tl
331 WHERE amb_context_code = p_staging_context_code;
332
333 -- Bug : 16208537
334 -- API Call to Insert messages into AAD Loader Log Table.
335 xla_aad_loader_util_pvt.insert_aadloaderlog(
336 p_amb_context_code => p_staging_context_code,
337 p_application_id => p_application_id,
338 p_request_code => 'IMPORT' ,
339 p_log_type_code => 'PRE-IMPORT',
340 p_encoded_message => '# delete xla_analytical_hdrs_tl = '||SQL%ROWCOUNT,
341 p_component_code => 'pre_import');
342
343 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
344 trace(p_msg => '# record deleted from xla_analytical_hdrs_tl = '||SQL%ROWCOUNT,
345 p_module => l_log_module,
346 p_level => C_LEVEL_STATEMENT);
347 END IF;
348
349 DELETE FROM xla_analytical_hdrs_b
350 WHERE amb_context_code = p_staging_context_code;
351
352 -- Bug : 16208537
353 -- API Call to Insert messages into AAD Loader Log Table.
354 xla_aad_loader_util_pvt.insert_aadloaderlog(
355 p_amb_context_code => p_staging_context_code,
356 p_application_id => p_application_id,
357 p_request_code => 'IMPORT' ,
358 p_log_type_code => 'PRE-IMPORT',
359 p_encoded_message => '# delete xla_analytical_hdrs_b = '||SQL%ROWCOUNT,
360 p_component_code => 'pre_import');
361
362 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
363 trace(p_msg => '# record deleted from xla_analytical_hdrs_b = '||SQL%ROWCOUNT,
364 p_module => l_log_module,
365 p_level => C_LEVEL_STATEMENT);
366 END IF;
367
368 xla_aad_loader_util_pvt.purge
369 (p_application_id => p_application_id
370 ,p_amb_context_code => p_staging_context_code);
371
372 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
373 trace(p_msg => 'END of function pre_import - Return value = SUCCESS',
374 p_module => l_log_module,
375 p_level => C_LEVEL_PROCEDURE);
376 END IF;
377
378 RETURN 'SUCCESS';
379 EXCEPTION
380 WHEN OTHERS THEN
381 IF (c_lock%ISOPEN) THEN
382 CLOSE c_lock;
383 END IF;
384
385 IF (l_lock_error) THEN
386 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
387 trace(p_msg => 'END of function pre_import - Return value = ERROR',
388 p_module => l_log_module,
389 p_level => C_LEVEL_PROCEDURE);
390 END IF;
391
392 xla_aad_loader_util_pvt.stack_error
393 (p_appli_s_name => 'XLA'
394 ,p_msg_name => 'XLA_AAD_IMP_LOCK_FAILED');
395
396 RETURN 'ERROR';
397 ELSE
398 xla_aad_loader_util_pvt.stack_error
399 (p_appli_s_name => 'XLA'
400 ,p_msg_name => 'XLA_COMMON_ERROR'
401 ,p_token_1 => 'LOCATION'
402 ,p_value_1 => 'xla_aad_import_pvt.pre_import'
403 ,p_token_2 => 'ERROR'
404 ,p_value_2 => sqlcode ||' - '||sqlerrm); --Bug 16208537
405 RETURN 'ERROR';
406 END IF;
407
408 END pre_import;
409
410 --=============================================================================
411 --
412 -- Name: record_log
413 -- Description: This API inserts the log information to the log table
414 --
415 --=============================================================================
416 PROCEDURE record_log
417 (p_application_id IN INTEGER
418 ,p_amb_context_code IN VARCHAR2
419 ,p_staging_context_code IN VARCHAR2)
420 IS
421 l_log_module VARCHAR2(240);
422 BEGIN
423 IF g_log_enabled THEN
424 l_log_module := C_DEFAULT_MODULE||'.record_log';
425 END IF;
426
427 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
428 trace(p_msg => 'BEGIN of procedure record_log',
429 p_module => l_log_module,
430 p_level => C_LEVEL_PROCEDURE);
431 END IF;
432
433 INSERT INTO xla_aad_loader_logs
434 (aad_loader_log_id
435 ,amb_context_code
436 ,application_id
437 ,request_code
438 ,log_type_code
439 ,aad_application_id
440 ,product_rule_code
441 ,product_rule_type_code
442 ,version_to
443 ,object_version_number
444 ,creation_date
445 ,created_by
446 ,last_update_date
447 ,last_updated_by
448 ,last_update_login
449 ,program_update_date
450 ,program_application_id
451 ,program_id
452 ,request_id)
453 SELECT xla_aad_loader_logs_s.nextval
454 ,p_amb_context_code
455 ,p_application_id
456 ,'IMPORT'
457 ,'IMPORTED_AAD'
458 ,application_id
459 ,product_rule_code
460 ,product_rule_type_code
461 ,version_num
462 ,1
463 ,sysdate
464 ,xla_environment_pkg.g_usr_id
465 ,sysdate
466 ,xla_environment_pkg.g_usr_id
467 ,xla_environment_pkg.g_login_id
471 ,xla_environment_pkg.g_req_Id
468 ,sysdate
469 ,xla_environment_pkg.g_prog_appl_id
470 ,xla_environment_pkg.g_prog_id
472 FROM xla_product_rules_b
473 WHERE application_id = p_application_id
474 AND amb_context_code = p_staging_context_code;
475
476 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
477 trace(p_msg => '# rows inserted into xla_aad_loader_logs = '||SQL%ROWCOUNT,
478 p_module => l_log_module,
479 p_level => C_LEVEL_STATEMENT);
480 END IF;
481
482 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
483 trace(p_msg => 'END of procedure record_log',
484 p_module => l_log_module,
485 p_level => C_LEVEL_PROCEDURE);
486 END IF;
487
488 EXCEPTION
489 WHEN OTHERS THEN
490 xla_aad_loader_util_pvt.stack_error
491 (p_appli_s_name => 'XLA'
492 ,p_msg_name => 'XLA_COMMON_ERROR'
493 ,p_token_1 => 'LOCATION'
494 ,p_value_1 => 'xla_aad_import_pvt.record_log'
495 ,p_token_2 => 'ERROR'
496 ,p_value_2 => sqlcode ||' - '||sqlerrm); --Bug 16208537
497 RAISE;
498
499 END record_log;
500
501 --=============================================================================
502 --
503 -- Name: post_import
504 -- Description: This API perform post-import steps
505 --
506 --=============================================================================
507 PROCEDURE post_import
508 (p_application_id IN INTEGER
509 ,p_amb_context_code IN VARCHAR2
510 ,p_staging_context_code IN VARCHAR2)
511 IS
512 l_log_module VARCHAR2(240);
513 BEGIN
514 IF g_log_enabled THEN
515 l_log_module := C_DEFAULT_MODULE||'.post_import';
516 END IF;
517
518 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
519 trace(p_msg => 'BEGIN of procedure post_import',
520 p_module => l_log_module,
521 p_level => C_LEVEL_PROCEDURE);
522 END IF;
523
524 UPDATE xla_appli_amb_contexts
525 SET updated_flag = 'Y'
526 ,creation_date = sysdate
527 ,created_by = xla_environment_pkg.g_usr_id
528 ,last_update_date = sysdate
529 ,last_updated_by = xla_environment_pkg.g_usr_id
530 ,last_update_login = xla_environment_pkg.g_login_id
531 WHERE amb_context_code = p_amb_context_code
532 AND application_id = p_application_id;
533
534 record_log(p_application_id => p_application_id
535 ,p_amb_context_code => p_amb_context_code
536 ,p_staging_context_code => p_staging_context_code);
537
538 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
539 trace(p_msg => 'END of procedure post_import',
540 p_module => l_log_module,
541 p_level => C_LEVEL_PROCEDURE);
542 END IF;
543
544 EXCEPTION
545 WHEN OTHERS THEN
546 xla_aad_loader_util_pvt.stack_error
547 (p_appli_s_name => 'XLA'
548 ,p_msg_name => 'XLA_COMMON_ERROR'
549 ,p_token_1 => 'LOCATION'
550 ,p_value_1 => 'xla_aad_import_pvt.post_import'
551 ,p_token_2 => 'ERROR'
552 ,p_value_2 => sqlcode ||' - '||sqlerrm); --Bug 16208537
553 RAISE;
554
555 END post_import;
556
557
558 --=============================================================================
559 --
560 --
561 --
562 --
563 --
564 -- *********** public procedures and functions **********
565 --
566 --
567 --
568 --
569 --
570 --=============================================================================
571
572 --=============================================================================
573 --
574 -- Name: import
575 -- Description: This API imports the AADs and the components from the data file
576 -- to the staging area of an AMB context
577 --
578 --=============================================================================
579 PROCEDURE import
580 (p_api_version IN NUMBER
581 ,x_return_status IN OUT NOCOPY VARCHAR2
582 ,p_application_id IN INTEGER
583 ,p_source_pathname IN VARCHAR2
584 ,p_amb_context_code IN VARCHAR2
585 ,x_import_status IN OUT NOCOPY VARCHAR2
586 )
587 IS
588 l_api_name CONSTANT VARCHAR2(30) := 'import';
589 l_api_version CONSTANT NUMBER := 1.0;
590 l_staging_context_code VARCHAR2(30);
591 l_log_module VARCHAR2(240);
592 BEGIN
593 IF g_log_enabled THEN
594 l_log_module := C_DEFAULT_MODULE||'.import';
595 END IF;
596
597 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
598 trace(p_msg => 'BEGIN of function import',
599 p_module => l_log_module,
600 p_level => C_LEVEL_PROCEDURE);
601 END IF;
602
603 -- Standard call to check for call compatibility.
604 IF (NOT xla_aad_loader_util_pvt.compatible_api_call
605 (p_current_version_number => l_api_version
606 ,p_caller_version_number => p_api_version
607 ,p_api_name => l_api_name
608 ,p_pkg_name => C_DEFAULT_MODULE))
609 THEN
610 RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
611 END IF;
612
613 -- Initialize global variables
614 x_return_status := FND_API.G_RET_STS_SUCCESS;
615
616 -- API Logic
617 l_staging_context_code := xla_aad_loader_util_pvt.get_staging_context_code
618 (p_application_id => p_application_id
622 ,p_amb_context_code => p_amb_context_code
619 ,p_amb_context_code => p_amb_context_code);
620
621 x_import_status := pre_import(p_application_id => p_application_id
623 ,p_staging_context_code => l_staging_context_code);
624
625 IF (x_import_status = 'ERROR') THEN
626 RAISE FND_API.G_EXC_ERROR;
627 END IF;
628
629 xla_aad_upload_pvt.upload
630 (p_api_version => 1.0
631 ,x_return_status => x_return_status
632 ,p_application_id => p_application_id
633 ,p_source_pathname => p_source_pathname
634 ,p_amb_context_code => p_amb_context_code
635 ,x_upload_status => x_import_status);
636 IF (x_import_status = 'ERROR') THEN
637 RAISE FND_API.G_EXC_ERROR;
638 END IF;
639
640 post_import(p_application_id => p_application_id
641 ,p_amb_context_code => p_amb_context_code
642 ,p_staging_context_code => l_staging_context_code);
643
644 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
645 trace(p_msg => 'END of function import - Return value = '||x_import_status,
646 p_module => l_log_module,
647 p_level => C_LEVEL_PROCEDURE);
648 END IF;
649 EXCEPTION
650 WHEN FND_API.G_EXC_ERROR THEN
651 x_return_status := FND_API.G_RET_STS_ERROR ;
652 x_import_status := 'ERROR';
653
654 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
655 ROLLBACK;
656 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
657 x_import_status := 'ERROR';
658
659 WHEN OTHERS THEN
660 ROLLBACK;
661 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
662 x_import_status := 'ERROR';
663
664 xla_aad_loader_util_pvt.stack_error
665 (p_appli_s_name => 'XLA'
666 ,p_msg_name => 'XLA_COMMON_ERROR'
667 ,p_token_1 => 'LOCATION'
668 ,p_value_1 => 'xla_aad_import_pvt.import'
669 ,p_token_2 => 'ERROR'
670 ,p_value_2 => sqlcode ||' - '||sqlerrm); --Bug 16208537
671
672 END import;
673
674 --=============================================================================
675 --
676 -- Following code is executed when the package body is referenced for the first
677 -- time
678 --
679 --=============================================================================
680 BEGIN
681 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
682 g_log_enabled := fnd_log.test
683 (log_level => g_log_level
684 ,module => C_DEFAULT_MODULE);
685
686 IF NOT g_log_enabled THEN
687 g_log_level := C_LEVEL_LOG_DISABLED;
688 END IF;
689
690 END xla_aad_import_pvt;