[Home] [Help]
PACKAGE BODY: APPS.XLA_ACCT_LINE_TYPES_F_PKG
Source
1 PACKAGE BODY xla_acct_line_types_f_pkg AS
2 /* $Header: xlathalt.pkb 120.27.12010000.1 2008/07/29 10:09:09 appldev ship $ */
3 /*======================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +=======================================================================+
8 | PACKAGE NAME |
9 | xla_acct_line_types |
10 | |
11 | DESCRIPTION |
12 | Forms PL/SQL Wrapper for xla_acct_line_types |
13 | |
14 | HISTORY |
15 | Generated from XLAUTB. |
16 | |
17 | 05-Apr-05 eklau Added new column mpa_option_code to insert and |
18 | update procedures. |
19 +======================================================================*/
20
21 --=============================================================================
22 -- *********** Local Trace Routine **********
23 --=============================================================================
24 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
25 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
26 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
27 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
28 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
29 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
30
31 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
32 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_acct_line_types_f_pkg';
33
34 g_log_level NUMBER;
35 g_log_enabled BOOLEAN;
36
37 PROCEDURE trace
38 (p_msg IN VARCHAR2
39 ,p_module IN VARCHAR2
40 ,p_level IN NUMBER) IS
41 BEGIN
42 ----------------------------------------------------------------------------
43 -- Following is for FND log.
44 ----------------------------------------------------------------------------
45 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
46 fnd_log.message(p_level, p_module);
47 ELSIF p_level >= g_log_level THEN
48 fnd_log.string(p_level, p_module, p_msg);
49 END IF;
50
51 EXCEPTION
52 WHEN xla_exceptions_pkg.application_exception THEN
53 RAISE;
54
55 WHEN OTHERS THEN
56 xla_exceptions_pkg.raise_message
57 (p_location => 'xla_acct_line_types_f_pkg.trace');
58 END trace;
59
60
61 /*======================================================================+
62 | |
63 | Procedure insert_row |
64 | |
65 +======================================================================*/
66 PROCEDURE insert_row
67 (x_rowid IN OUT NOCOPY VARCHAR2
68 ,x_application_id IN NUMBER
69 ,x_amb_context_code IN VARCHAR2
70 ,x_entity_code IN VARCHAR2
71 ,x_event_class_code IN VARCHAR2
72 ,x_accounting_line_type_code IN VARCHAR2
73 ,x_accounting_line_code IN VARCHAR2
74 ,x_transaction_coa_id IN NUMBER
75 ,x_accounting_entry_type_code IN VARCHAR2
76 ,x_natural_side_code IN VARCHAR2
77 ,x_gl_transfer_mode_code IN VARCHAR2
78 ,x_switch_side_flag IN VARCHAR2
79 ,x_gain_or_loss_flag IN VARCHAR2
80 ,x_merge_duplicate_code IN VARCHAR2
81 ,x_enabled_flag IN VARCHAR2
82 ,x_accounting_class_code IN VARCHAR2
83 ,x_rounding_class_code IN VARCHAR2
84 ,x_business_method_code IN VARCHAR2
85 ,x_business_class_code IN VARCHAR2
86 ,x_name IN VARCHAR2
87 ,x_description IN VARCHAR2
88 ,x_creation_date IN DATE
89 ,x_created_by IN NUMBER
90 ,x_last_update_date IN DATE
91 ,x_last_updated_by IN NUMBER
92 ,x_last_update_login IN NUMBER
93 ,x_mpa_option_code IN VARCHAR2
94 ,x_encumbrance_type_id IN NUMBER)
95
96 IS
97
98 CURSOR c IS
99 SELECT rowid
100 FROM xla_acct_line_types_b
101 WHERE application_id = x_application_id
102 AND amb_context_code = x_amb_context_code
103 AND entity_code = x_entity_code
104 AND event_class_code = x_event_class_code
105 AND accounting_line_type_code = x_accounting_line_type_code
106 AND accounting_line_code = x_accounting_line_code
107 ;
108
109 l_log_module VARCHAR2(240);
110 BEGIN
111 IF g_log_enabled THEN
112 l_log_module := C_DEFAULT_MODULE||'.insert_row';
113 END IF;
114
115 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
116 trace(p_msg => 'BEGIN of procedure insert_row',
117 p_module => l_log_module,
118 p_level => C_LEVEL_PROCEDURE);
119 END IF;
120
121 INSERT INTO xla_acct_line_types_b
122 (creation_date
123 ,created_by
124 ,amb_context_code
125 ,application_id
126 ,entity_code
127 ,event_class_code
128 ,accounting_line_type_code
129 ,accounting_line_code
130 ,transaction_coa_id
131 ,accounting_entry_type_code
132 ,natural_side_code
133 ,gl_transfer_mode_code
134 ,switch_side_flag
135 ,gain_or_loss_flag
136 ,merge_duplicate_code
137 ,enabled_flag
138 ,accounting_class_code
139 ,rounding_class_code
140 ,business_method_code
141 ,business_class_code
142 ,last_update_date
143 ,last_updated_by
144 ,last_update_login
145 ,mpa_option_code
146 ,encumbrance_type_id)
147 VALUES
148 (x_creation_date
149 ,x_created_by
150 ,x_amb_context_code
151 ,x_application_id
152 ,x_entity_code
153 ,x_event_class_code
154 ,x_accounting_line_type_code
155 ,x_accounting_line_code
156 ,x_transaction_coa_id
157 ,x_accounting_entry_type_code
158 ,x_natural_side_code
159 ,x_gl_transfer_mode_code
160 ,x_switch_side_flag
161 ,x_gain_or_loss_flag
162 ,x_merge_duplicate_code
163 ,x_enabled_flag
164 ,x_accounting_class_code
165 ,x_rounding_class_code
166 ,x_business_method_code
167 ,x_business_class_code
168 ,x_last_update_date
169 ,x_last_updated_by
170 ,x_last_update_login
171 ,x_mpa_option_code
172 ,x_encumbrance_type_id)
173 ;
174
175 INSERT INTO xla_acct_line_types_tl
176 (amb_context_code
177 ,application_id
178 ,entity_code
179 ,event_class_code
180 ,accounting_line_type_code
181 ,accounting_line_code
182 ,name
183 ,description
184 ,creation_date
185 ,created_by
186 ,last_update_date
187 ,last_updated_by
188 ,last_update_login
189 ,language
190 ,source_lang)
191 SELECT
192 x_amb_context_code
193 ,x_application_id
194 ,x_entity_code
195 ,x_event_class_code
196 ,x_accounting_line_type_code
197 ,x_accounting_line_code
198 ,x_name
199 ,x_description
200 ,x_creation_date
201 ,x_created_by
202 ,x_last_update_date
203 ,x_last_updated_by
204 ,x_last_update_login
205 ,l.language_code
206 ,USERENV('LANG')
207 FROM fnd_languages l
208 WHERE l.installed_flag IN ('I', 'B')
209 AND NOT EXISTS
210 (SELECT NULL
211 FROM xla_acct_line_types_tl t
212 WHERE t.application_id = x_application_id
213 AND t.amb_context_code = x_amb_context_code
214 AND t.entity_code = x_entity_code
215 AND t.event_class_code = x_event_class_code
216 AND t.accounting_line_type_code = x_accounting_line_type_code
217 AND t.accounting_line_code = x_accounting_line_code
218 AND t.language = l.language_code);
219
220 OPEN c;
221 FETCH c INTO x_rowid;
222
223 IF (c%NOTFOUND) THEN
224 CLOSE c;
225 RAISE NO_DATA_FOUND;
226 END IF;
227 CLOSE c;
228
229 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
230 trace(p_msg => 'END of procedure insert_row',
231 p_module => l_log_module,
232 p_level => C_LEVEL_PROCEDURE);
233 END IF;
234
235 END insert_row;
236
237 /*======================================================================+
238 | |
239 | Procedure lock_row |
240 | |
241 +======================================================================*/
242 PROCEDURE lock_row
243 (x_application_id IN NUMBER
244 ,x_amb_context_code IN VARCHAR2
245 ,x_entity_code IN VARCHAR2
246 ,x_event_class_code IN VARCHAR2
247 ,x_accounting_line_type_code IN VARCHAR2
248 ,x_accounting_line_code IN VARCHAR2
249 ,x_transaction_coa_id IN NUMBER
250 ,x_accounting_entry_type_code IN VARCHAR2
251 ,x_natural_side_code IN VARCHAR2
252 ,x_gl_transfer_mode_code IN VARCHAR2
253 ,x_switch_side_flag IN VARCHAR2
254 ,x_gain_or_loss_flag IN VARCHAR2
255 ,x_merge_duplicate_code IN VARCHAR2
256 ,x_enabled_flag IN VARCHAR2
257 ,x_accounting_class_code IN VARCHAR2
258 ,x_rounding_class_code IN VARCHAR2
259 ,x_business_method_code IN VARCHAR2
260 ,x_business_class_code IN VARCHAR2
261 ,x_name IN VARCHAR2
262 ,x_description IN VARCHAR2
263 ,x_mpa_option_code IN VARCHAR2
264 ,x_encumbrance_type_id IN NUMBER)
265
266 IS
267
268 CURSOR c IS
269 SELECT amb_context_code
270 ,transaction_coa_id
271 ,accounting_entry_type_code
272 ,natural_side_code
273 ,gl_transfer_mode_code
274 ,switch_side_flag
275 ,gain_or_loss_flag
276 ,merge_duplicate_code
277 ,enabled_flag
278 ,accounting_class_code
279 ,rounding_class_code
280 ,business_method_code
281 ,business_class_code
282 ,mpa_option_code
283 ,encumbrance_type_id
284 FROM xla_acct_line_types_b
285 WHERE application_id = x_application_id
286 AND amb_context_code = x_amb_context_code
287 AND entity_code = x_entity_code
288 AND event_class_code = x_event_class_code
289 AND accounting_line_type_code = x_accounting_line_type_code
290 AND accounting_line_code = x_accounting_line_code
291 FOR UPDATE OF application_id NOWAIT;
292
293 recinfo c%ROWTYPE;
294
295 CURSOR c1 IS
296 SELECT amb_context_code
297 ,name
298 ,description
299 ,DECODE(language , USERENV('LANG'), 'Y', 'N') baselang
300 FROM xla_acct_line_types_tl
301 WHERE application_id = X_application_id
302 AND amb_context_code = X_amb_context_code
303 AND entity_code = X_entity_code
304 AND event_class_code = X_event_class_code
305 AND accounting_line_type_code = X_accounting_line_type_code
306 AND accounting_line_code = X_accounting_line_code
307 AND USERENV('LANG') IN (language ,source_lang)
308 FOR UPDATE OF application_id NOWAIT;
309
310 l_log_module VARCHAR2(240);
311 BEGIN
312 IF g_log_enabled THEN
313 l_log_module := C_DEFAULT_MODULE||'.lock_row';
314 END IF;
315
316 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
317 trace(p_msg => 'BEGIN of procedure lock_row',
318 p_module => l_log_module,
319 p_level => C_LEVEL_PROCEDURE);
320 END IF;
321
322
323 OPEN c;
324 FETCH c INTO recinfo;
325
326 IF (c%NOTFOUND) THEN
327 CLOSE c;
328 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
329 app_exception.raise_exception;
330 END IF;
331 CLOSE c;
332
333 IF ( ((recinfo.transaction_coa_id = X_transaction_coa_id)
334 OR ((recinfo.transaction_coa_id IS NULL)
335 AND (x_transaction_coa_id IS NULL)))
336 AND ((recinfo.encumbrance_type_id = X_encumbrance_type_id)
337 OR ((recinfo.encumbrance_type_id IS NULL)
338 AND (x_encumbrance_type_id IS NULL)))
339 AND (recinfo.accounting_entry_type_code = x_accounting_entry_type_code)
340 AND (recinfo.natural_side_code = x_natural_side_code)
341 AND (recinfo.gl_transfer_mode_code = x_gl_transfer_mode_code)
342 AND ((recinfo.switch_side_flag = x_switch_side_flag)
343 OR ((recinfo.switch_side_flag IS NULL)
344 AND (x_switch_side_flag IS NULL)))
345 AND ((recinfo.gain_or_loss_flag = x_gain_or_loss_flag)
346 OR ((recinfo.gain_or_loss_flag IS NULL)
347 AND (x_gain_or_loss_flag IS NULL)))
348 AND (recinfo.merge_duplicate_code = x_merge_duplicate_code)
349 AND (recinfo.enabled_flag = x_enabled_flag)
350 AND (recinfo.accounting_class_code = x_accounting_class_code)
351 AND (recinfo.rounding_class_code = x_rounding_class_code)
352 AND (recinfo.business_method_code = x_business_method_code)
353 AND ((recinfo.business_class_code = x_business_class_code)
354 OR ((recinfo.business_class_code IS NULL)
355 AND (x_business_class_code IS NULL)))
356 AND (recinfo.mpa_option_code = x_mpa_option_code)
357 ) THEN
358 NULL;
359 ELSE
360 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
361 app_exception.raise_exception;
362 END IF;
363
364 FOR tlinfo IN c1 LOOP
365 IF (tlinfo.baselang = 'Y') THEN
366 IF ( (tlinfo.name = X_name)
367 AND ((tlinfo.description = X_description)
368 OR ((tlinfo.description is null)
369 AND (X_description is null)))
370 ) THEN
371 NULL;
372 ELSE
373 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
374 app_exception.raise_exception;
375 END IF;
376 END IF;
377 END LOOP;
378
379
380 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
381 trace(p_msg => 'END of procedure lock_row',
382 p_module => l_log_module,
383 p_level => C_LEVEL_PROCEDURE);
384 END IF;
385
386 RETURN;
387
388 END lock_row;
389
390 /*======================================================================+
391 | |
392 | Procedure update_row |
393 | |
394 +======================================================================*/
395 PROCEDURE update_row
396 (x_application_id IN NUMBER
400 ,x_accounting_line_type_code IN VARCHAR2
397 ,x_amb_context_code IN VARCHAR2
398 ,x_entity_code IN VARCHAR2
399 ,x_event_class_code IN VARCHAR2
401 ,x_accounting_line_code IN VARCHAR2
402 ,x_transaction_coa_id IN NUMBER
403 ,x_accounting_entry_type_code IN VARCHAR2
404 ,x_natural_side_code IN VARCHAR2
405 ,x_gl_transfer_mode_code IN VARCHAR2
406 ,x_switch_side_flag IN VARCHAR2
407 ,x_gain_or_loss_flag IN VARCHAR2
408 ,x_merge_duplicate_code IN VARCHAR2
409 ,x_enabled_flag IN VARCHAR2
410 ,x_accounting_class_code IN VARCHAR2
411 ,x_rounding_class_code IN VARCHAR2
412 ,x_business_method_code IN VARCHAR2
413 ,x_business_class_code IN VARCHAR2
414 ,x_name IN VARCHAR2
415 ,x_description IN VARCHAR2
416 ,x_last_update_date IN DATE
417 ,x_last_updated_by IN NUMBER
418 ,x_last_update_login IN NUMBER
419 ,x_mpa_option_code IN VARCHAR2
420 ,x_encumbrance_type_id IN NUMBER)
421
422 IS
423
424 l_log_module VARCHAR2(240);
425 BEGIN
426 IF g_log_enabled THEN
427 l_log_module := C_DEFAULT_MODULE||'.update_row';
428 END IF;
429
430 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
431 trace(p_msg => 'BEGIN of procedure update_row',
432 p_module => l_log_module,
433 p_level => C_LEVEL_PROCEDURE);
434 END IF;
435
436 UPDATE xla_acct_line_types_b
437 SET
438 last_update_date = x_last_update_date
439 ,transaction_coa_id = x_transaction_coa_id
440 ,accounting_entry_type_code = x_accounting_entry_type_code
441 ,natural_side_code = x_natural_side_code
442 ,gl_transfer_mode_code = x_gl_transfer_mode_code
443 ,switch_side_flag = x_switch_side_flag
444 ,gain_or_loss_flag = x_gain_or_loss_flag
445 ,merge_duplicate_code = x_merge_duplicate_code
446 ,enabled_flag = x_enabled_flag
447 ,accounting_class_code = x_accounting_class_code
448 ,rounding_class_code = x_rounding_class_code
449 ,business_method_code = x_business_method_code
450 ,business_class_code = x_business_class_code
451 ,last_updated_by = x_last_updated_by
452 ,last_update_login = x_last_update_login
453 ,mpa_option_code = x_mpa_option_code
454 ,encumbrance_type_id = x_encumbrance_type_id
455 WHERE application_id = X_application_id
456 AND amb_context_code = X_amb_context_code
457 AND entity_code = X_entity_code
458 AND event_class_code = X_event_class_code
459 AND accounting_line_type_code = X_accounting_line_type_code
460 AND accounting_line_code = X_accounting_line_code;
461
462 IF (SQL%NOTFOUND) THEN
463 RAISE NO_DATA_FOUND;
464 END IF;
465
466 UPDATE xla_acct_line_types_tl
467 SET
468 last_update_date = x_last_update_date
469 ,name = X_name
470 ,description = X_description
471 ,last_updated_by = x_last_updated_by
472 ,last_update_login = x_last_update_login
473 ,source_lang = USERENV('LANG')
474 WHERE application_id = X_application_id
475 AND amb_context_code = X_amb_context_code
476 AND entity_code = X_entity_code
477 AND event_class_code = X_event_class_code
478 AND accounting_line_type_code = X_accounting_line_type_code
479 AND accounting_line_code = X_accounting_line_code
480 AND USERENV('LANG') IN (language, source_lang);
481
482 IF (SQL%NOTFOUND) THEN
483 RAISE NO_DATA_FOUND;
484 END IF;
485
486 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
487 trace(p_msg => 'END of procedure update_row',
488 p_module => l_log_module,
489 p_level => C_LEVEL_PROCEDURE);
490 END IF;
491
492 END update_row;
493
494 /*======================================================================+
495 | |
496 | Procedure delete_row |
497 | |
498 +======================================================================*/
499 PROCEDURE delete_row
500 (x_application_id IN NUMBER
501 ,x_amb_context_code IN VARCHAR2
502 ,x_entity_code IN VARCHAR2
503 ,x_event_class_code IN VARCHAR2
504 ,x_accounting_line_type_code IN VARCHAR2
505 ,x_accounting_line_code IN VARCHAR2)
506
507 IS
508
509 l_log_module VARCHAR2(240);
510 BEGIN
511 IF g_log_enabled THEN
512 l_log_module := C_DEFAULT_MODULE||'.delete_row';
513 END IF;
514
518 p_level => C_LEVEL_PROCEDURE);
515 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
516 trace(p_msg => 'BEGIN of procedure delete_row',
517 p_module => l_log_module,
519 END IF;
520
521 DELETE FROM xla_acct_line_types_tl
522 WHERE application_id = x_application_id
523 AND amb_context_code = x_amb_context_code
524 AND entity_code = x_entity_code
525 AND event_class_code = x_event_class_code
526 AND accounting_line_type_code = x_accounting_line_type_code
527 AND accounting_line_code = x_accounting_line_code;
528
529
530 IF (SQL%NOTFOUND) THEN
531 RAISE NO_DATA_FOUND;
532 END IF;
533
534 DELETE FROM xla_acct_line_types_b
535 WHERE application_id = x_application_id
536 AND amb_context_code = x_amb_context_code
537 AND entity_code = x_entity_code
538 AND event_class_code = x_event_class_code
539 AND accounting_line_type_code = x_accounting_line_type_code
540 AND accounting_line_code = x_accounting_line_code;
541
542
543 IF (SQL%NOTFOUND) THEN
544 RAISE NO_DATA_FOUND;
545 END IF;
546
547
548 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
549 trace(p_msg => 'END of procedure delete_row',
550 p_module => l_log_module,
551 p_level => C_LEVEL_PROCEDURE);
552 END IF;
553
554 END delete_row;
555
556 /*======================================================================+
557 | |
558 | Procedure add_language |
559 | |
560 +======================================================================*/
561 PROCEDURE add_language
562
563 IS
564
565 l_log_module VARCHAR2(240);
566 BEGIN
567 IF g_log_enabled THEN
568 l_log_module := C_DEFAULT_MODULE||'.add_language';
569 END IF;
570
571 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
572 trace(p_msg => 'BEGIN of procedure add_language',
573 p_module => l_log_module,
574 p_level => C_LEVEL_PROCEDURE);
575 END IF;
576
577 DELETE FROM xla_acct_line_types_tl T
578 WHERE NOT EXISTS
579 (SELECT NULL
580 FROM xla_acct_line_types_b b
581 WHERE b.application_id = t.application_id
582 AND b.amb_context_code = t.amb_context_code
583 AND b.entity_code = t.entity_code
584 AND b.event_class_code = t.event_class_code
585 AND b.accounting_line_type_code = t.accounting_line_type_code
586 AND b.accounting_line_code = t.accounting_line_code);
587
588 UPDATE xla_acct_line_types_tl t
589 SET (name
590 ,description)
591 = (SELECT b.name
592 ,b.description
593 FROM xla_acct_line_types_tl b
594 WHERE b.application_id = t.application_id
595 AND b.amb_context_code = t.amb_context_code
596 AND b.entity_code = t.entity_code
597 AND b.event_class_code = t.event_class_code
598 AND b.accounting_line_type_code = t.accounting_line_type_code
599 AND b.accounting_line_code = t.accounting_line_code
600 AND b.language = t.source_lang)
601 WHERE (t.application_id
602 ,t.amb_context_code
603 ,t.entity_code
604 ,t.event_class_code
605 ,t.accounting_line_type_code
606 ,t.accounting_line_code
607 ,t.language)
608 IN (SELECT subt.application_id
609 ,subt.amb_context_code
610 ,subt.entity_code
611 ,subt.event_class_code
612 ,subt.accounting_line_type_code
613 ,subt.accounting_line_code
614 ,subt.language
615 FROM xla_acct_line_types_tl subb
616 ,xla_acct_line_types_tl subt
617 WHERE subb.application_id = subt.application_id
618 AND subb.amb_context_code = subt.amb_context_code
619 AND subb.entity_code = subt.entity_code
620 AND subb.event_class_code = subt.event_class_code
621 AND subb.accounting_line_type_code = subt.accounting_line_type_code
622 AND subb.accounting_line_code = subt.accounting_line_code
623 AND subb.language = subt.source_lang
624 AND (SUBB.name <> SUBT.name
625 OR SUBB.description <> SUBT.description
626 OR (subb.description IS NULL
627 AND subt.description IS NOT NULL)
628 OR (subb.description IS NOT NULL
629 AND subt.description IS NULL)
630 ))
631 ;
632
633 INSERT INTO xla_acct_line_types_tl
634 (amb_context_code
635 ,application_id
636 ,entity_code
640 ,name
637 ,event_class_code
638 ,accounting_line_type_code
639 ,accounting_line_code
641 ,description
642 ,creation_date
643 ,created_by
644 ,last_update_date
645 ,last_updated_by
646 ,last_update_login
647 ,language
648 ,source_lang)
649 SELECT /*+ ORDERED */
650 b.amb_context_code
651 ,b.application_id
652 ,b.entity_code
653 ,b.event_class_code
654 ,b.accounting_line_type_code
655 ,b.accounting_line_code
656 ,b.name
657 ,b.description
658 ,b.creation_date
659 ,b.created_by
660 ,b.last_update_date
661 ,b.last_updated_by
662 ,b.last_update_login
663 ,l.language_code
664 ,b.source_lang
665 FROM xla_acct_line_types_tl b
666 ,fnd_languages l
667 WHERE l.installed_flag IN ('I', 'B')
668 AND b.language = userenv('LANG')
669 AND NOT EXISTS
670 (SELECT NULL
671 FROM xla_acct_line_types_tl t
672 WHERE t.application_id = b.application_id
673 AND t.amb_context_code = b.amb_context_code
674 AND t.entity_code = b.entity_code
675 AND t.event_class_code = b.event_class_code
676 AND t.accounting_line_type_code = b.accounting_line_type_code
677 AND t.accounting_line_code = b.accounting_line_code
678 AND t.language = l.language_code);
679
680 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
681 trace(p_msg => 'END of procedure add_language',
682 p_module => l_log_module,
683 p_level => C_LEVEL_PROCEDURE);
684 END IF;
685
686 END add_language;
687
688 --=============================================================================
689 --
690 -- Name: translate_row
691 -- Description: To be used by FNDLOAD to upload a translated row
692 --
693 --=============================================================================
694 PROCEDURE translate_row
695 (p_application_short_name IN VARCHAR2
696 ,p_amb_context_code IN VARCHAR2
697 ,p_event_class_code IN VARCHAR2
698 ,p_accounting_line_type_code IN VARCHAR2
699 ,p_accounting_line_code IN VARCHAR2
700 ,p_name IN VARCHAR2
701 ,p_description IN VARCHAR2
702 ,p_owner IN VARCHAR2
703 ,p_last_update_date IN VARCHAR2
704 ,p_custom_mode IN VARCHAR2)
705 IS
706 CURSOR c_app_id IS
707 SELECT application_id
708 FROM fnd_application
709 WHERE application_short_name = p_application_short_name;
710
711 l_application_id INTEGER;
712 l_rowid ROWID;
713 l_exist VARCHAR2(1);
714 f_luby NUMBER; -- entity owner in file
715 f_ludate DATE; -- entity update date in file
716 db_luby NUMBER; -- entity owner in db
717 db_ludate DATE; -- entity update date in db
718 l_log_module VARCHAR2(240);
719 BEGIN
720
721 IF g_log_enabled THEN
722 l_log_module := C_DEFAULT_MODULE||'.translate_row';
723 END IF;
724
725 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
726 trace(p_msg => 'BEGIN of procedure translate_row',
727 p_module => l_log_module,
728 p_level => C_LEVEL_PROCEDURE);
729 END IF;
730
731 -- Translate owner to file_last_updated_by
732 f_luby := fnd_load_util.owner_id(p_owner);
733
734 -- Translate char last_update_date to date
735 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
736
737 OPEN c_app_id;
738 FETCH c_app_id INTO l_application_id;
739 CLOSE c_app_id;
740
741 BEGIN
742 SELECT last_updated_by, last_update_date
743 INTO db_luby, db_ludate
744 FROM xla_acct_line_types_tl
745 WHERE application_id = l_application_id
746 AND amb_context_code = p_amb_context_code
747 AND event_class_code = p_event_class_code
748 AND accounting_line_type_code = p_accounting_line_type_code
749 AND accounting_line_code = p_accounting_line_code
750 AND language = userenv('LANG');
751
752 IF (fnd_load_util.upload_test(f_luby, f_ludate, db_luby,
753 db_ludate, p_custom_mode)) then
754 UPDATE xla_acct_line_types_tl
755 SET name = p_name
756 ,description = p_description
757 ,last_update_date = f_ludate
758 ,last_updated_by = f_luby
759 ,last_update_login = 0
760 ,source_lang = userenv('LANG')
761 WHERE userenv('LANG') IN (language, source_lang)
762 AND application_id = l_application_id
763 AND amb_context_code = p_amb_context_code
764 AND event_class_code = p_event_class_code
765 AND accounting_line_type_code = p_accounting_line_type_code
766 AND accounting_line_code = p_accounting_line_code;
767
768 END IF;
769
770
771
772 END;
773
774 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
775 trace(p_msg => 'END of procedure translate_row',
776 p_module => l_log_module,
777 p_level => C_LEVEL_PROCEDURE);
778 END IF;
779
780
781
782 END translate_row;
783
784 --=============================================================================
785 --
786 -- Following code is executed when the package body is referenced for the first
787 -- time
788 --
789 --=============================================================================
790 BEGIN
791 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
792 g_log_enabled := fnd_log.test
793 (log_level => g_log_level
794 ,module => C_DEFAULT_MODULE);
795
796 IF NOT g_log_enabled THEN
797 g_log_level := C_LEVEL_LOG_DISABLED;
798 END IF;
799
800 end xla_acct_line_types_f_PKG;