DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_LINE_DEFINITIONS_F_PVT

Source


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