DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_EVENT_MAPPINGS_F_PKG

Source


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