[Home] [Help]
PACKAGE BODY: APPS.XLA_EVENT_CLASS_ATTRS_F_PKG
Source
1 PACKAGE BODY xla_event_class_attrs_f_pkg AS
2 /* $Header: xlatbeca.pkb 120.13 2006/02/16 03:28:23 wychan 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_class_attrs_f_pkg |
10 | |
11 | DESCRIPTION |
12 | Forms PL/SQL Wrapper for xla_classes_attr |
13 | |
14 | HISTORY |
15 | 05/22/01 Dimple Shah Created |
16 | |
17 +======================================================================*/
18
19 --=============================================================================
20 -- *********** Local Trace Routine **********
21 --=============================================================================
22 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
23 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
24 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
25 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
26 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
27 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
28
29 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
30 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_event_class_attrs_f_pkg';
31
32 g_debug_flag VARCHAR2(1) :=
33 NVL(fnd_profile.value('XLA_DEBUG_TRACE'),'N');
34
35 g_log_level NUMBER;
36 g_log_enabled BOOLEAN;
37
38 PROCEDURE trace
39 (p_msg IN VARCHAR2
40 ,p_module IN VARCHAR2
41 ,p_level IN NUMBER) IS
42 BEGIN
43 ----------------------------------------------------------------------------
44 -- Following is for FND log.
45 ----------------------------------------------------------------------------
46 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
47 fnd_log.message(p_level, p_module);
48 ELSIF p_level >= g_log_level THEN
49 fnd_log.string(p_level, p_module, p_msg);
50 END IF;
51
52 EXCEPTION
53 WHEN xla_exceptions_pkg.application_exception THEN
54 RAISE;
55
56 WHEN OTHERS THEN
57 xla_exceptions_pkg.raise_message
58 (p_location => 'xla_event_class_attrs_f_pkg.trace');
59 END trace;
60
61
62
63 /*======================================================================+
64 | |
65 | Procedure insert_row |
66 | |
67 +======================================================================*/
68 PROCEDURE insert_row
69 (x_rowid IN OUT NOCOPY VARCHAR2
70 ,x_application_id IN NUMBER
71 ,x_entity_code IN VARCHAR2
72 ,x_event_class_code IN VARCHAR2
73 ,x_event_class_group_code IN VARCHAR2
74 ,x_je_category_name IN VARCHAR2
75 ,x_reporting_view_name IN VARCHAR2
76 ,x_allow_actuals_flag IN VARCHAR2
77 ,x_allow_budgets_flag IN VARCHAR2
78 ,x_allow_encumbrance_flag IN VARCHAR2
79 ,x_calculate_acctd_amts_flag IN VARCHAR2
80 ,x_calculate_g_l_amts_flag IN VARCHAR2
81 ,x_creation_date IN DATE
82 ,x_created_by IN NUMBER
83 ,x_last_update_date IN DATE
84 ,x_last_updated_by IN NUMBER
85 ,x_last_update_login IN NUMBER)
86
87 IS
88
89 CURSOR c IS
90 SELECT rowid
91 FROM xla_event_class_attrs
92 WHERE application_id = x_application_id
93 AND entity_code = x_entity_code
94 AND event_class_code = x_event_class_code
95 ;
96
97 l_log_module VARCHAR2(240);
98 BEGIN
99
100 IF g_log_enabled THEN
101 l_log_module := C_DEFAULT_MODULE||'.insert_row';
102 END IF;
103
104 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
105 trace(p_msg => 'BEGIN of procedure insert_row',
106 p_module => l_log_module,
107 p_level => C_LEVEL_PROCEDURE);
108 END IF;
109
110 INSERT INTO xla_event_class_attrs
111 (creation_date
112 ,created_by
113 ,application_id
114 ,entity_code
115 ,event_class_code
116 ,event_class_group_code
117 ,je_category_name
118 ,reporting_view_name
119 ,allow_actuals_flag
120 ,allow_budgets_flag
121 ,allow_encumbrance_flag
122 ,calculate_acctd_amts_flag
123 ,calculate_g_l_amts_flag
124 ,last_update_date
125 ,last_updated_by
126 ,last_update_login)
127 VALUES
128 (x_creation_date
129 ,x_created_by
130 ,x_application_id
131 ,x_entity_code
132 ,x_event_class_code
133 ,x_event_class_group_code
134 ,x_je_category_name
135 ,x_reporting_view_name
136 ,x_allow_actuals_flag
137 ,x_allow_budgets_flag
138 ,x_allow_encumbrance_flag
139 ,x_calculate_acctd_amts_flag
140 ,x_calculate_g_l_amts_flag
141 ,x_last_update_date
142 ,x_last_updated_by
143 ,x_last_update_login)
144 ;
145
146 OPEN c;
147 FETCH c INTO x_rowid;
148
149 IF (c%NOTFOUND) THEN
150 CLOSE c;
151 RAISE NO_DATA_FOUND;
152 END IF;
153 CLOSE c;
154
155 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
156 trace(p_msg => 'END of procedure insert_row',
157 p_module => l_log_module,
158 p_level => C_LEVEL_PROCEDURE);
159 END IF;
160
161 END insert_row;
162
163 /*======================================================================+
164 | |
165 | Procedure lock_row |
166 | |
167 +======================================================================*/
168 PROCEDURE lock_row
169 (x_rowid IN OUT NOCOPY VARCHAR2
170 ,x_application_id IN NUMBER
171 ,x_entity_code IN VARCHAR2
172 ,x_event_class_code IN VARCHAR2
173 ,x_event_class_group_code IN VARCHAR2
174 ,x_je_category_name IN VARCHAR2
175 ,x_reporting_view_name IN VARCHAR2
176 ,x_allow_actuals_flag IN VARCHAR2
177 ,x_allow_budgets_flag IN VARCHAR2
178 ,x_allow_encumbrance_flag IN VARCHAR2
179 ,x_calculate_acctd_amts_flag IN VARCHAR2
180 ,x_calculate_g_l_amts_flag IN VARCHAR2)
181
182 IS
183
184 CURSOR c IS
185 SELECT application_id
186 ,entity_code
187 ,event_class_code
188 ,event_class_group_code
189 ,je_category_name
190 ,reporting_view_name
191 ,allow_actuals_flag
192 ,allow_budgets_flag
193 ,allow_encumbrance_flag
194 ,calculate_acctd_amts_flag
195 ,calculate_g_l_amts_flag
196 FROM xla_event_class_attrs
197 WHERE application_id = x_application_id
198 AND entity_code = x_entity_code
199 AND event_class_code = x_event_class_code
200 FOR UPDATE OF application_id NOWAIT;
201
202 recinfo c%ROWTYPE;
203
204 l_log_module VARCHAR2(240);
205 BEGIN
206
207 IF g_log_enabled THEN
208 l_log_module := C_DEFAULT_MODULE||'.lock_row';
209 END IF;
210
211 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
212 trace(p_msg => 'BEGIN of procedure lock_row',
213 p_module => l_log_module,
214 p_level => C_LEVEL_PROCEDURE);
215 END IF;
216
217 OPEN c;
218 FETCH c INTO recinfo;
219
220 IF (c%NOTFOUND) THEN
221 CLOSE c;
222 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
223 app_exception.raise_exception;
224 END IF;
225 CLOSE c;
226
227 IF ( (recinfo.application_id = x_application_id)
228 AND (recinfo.entity_code = x_entity_code)
229 AND (recinfo.event_class_code = x_event_class_code)
230 AND (recinfo.event_class_group_code = x_event_class_group_code)
231 AND (recinfo.je_category_name = x_je_category_name)
232 AND (recinfo.allow_actuals_flag = x_allow_actuals_flag)
233 AND (recinfo.allow_budgets_flag = x_allow_budgets_flag)
234 AND (recinfo.allow_encumbrance_flag = x_allow_encumbrance_flag)
235 AND (recinfo.calculate_acctd_amts_flag = x_calculate_acctd_amts_flag)
236 AND (recinfo.calculate_g_l_amts_flag = x_calculate_g_l_amts_flag)
237 AND ((recinfo.reporting_view_name = X_reporting_view_name)
238 OR ((recinfo.reporting_view_name IS NULL)
239 AND (x_reporting_view_name IS NULL)))
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 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
248 trace(p_msg => 'END of procedure lock_row',
249 p_module => l_log_module,
250 p_level => C_LEVEL_PROCEDURE);
251 END IF;
252
253 RETURN;
254
255 END lock_row;
256
257 /*======================================================================+
258 | |
259 | Procedure update_row |
260 | |
261 +======================================================================*/
262 PROCEDURE update_row
263 (x_rowid IN OUT NOCOPY VARCHAR2
264 ,x_application_id IN NUMBER
265 ,x_entity_code IN VARCHAR2
266 ,x_event_class_code IN VARCHAR2
267 ,x_event_class_group_code IN VARCHAR2
268 ,x_je_category_name IN VARCHAR2
269 ,x_reporting_view_name IN VARCHAR2
270 ,x_allow_actuals_flag IN VARCHAR2
271 ,x_allow_budgets_flag IN VARCHAR2
272 ,x_allow_encumbrance_flag IN VARCHAR2
273 ,x_calculate_acctd_amts_flag IN VARCHAR2
274 ,x_calculate_g_l_amts_flag IN VARCHAR2
275 ,x_last_update_date IN DATE
276 ,x_last_updated_by IN NUMBER
277 ,x_last_update_login IN NUMBER)
278 IS
279
280 l_log_module VARCHAR2(240);
281 BEGIN
282
283 IF g_log_enabled THEN
284 l_log_module := C_DEFAULT_MODULE||'.update_row';
285 END IF;
286
287 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
288 trace(p_msg => 'BEGIN of procedure update_row',
289 p_module => l_log_module,
290 p_level => C_LEVEL_PROCEDURE);
291 END IF;
292
293 UPDATE xla_event_class_attrs
294 SET
295 last_update_date = x_last_update_date
296 ,event_class_group_code = x_event_class_group_code
297 ,je_category_name = x_je_category_name
298 ,reporting_view_name = x_reporting_view_name
299 ,allow_actuals_flag = x_allow_actuals_flag
300 ,allow_budgets_flag = x_allow_budgets_flag
301 ,allow_encumbrance_flag = x_allow_encumbrance_flag
302 ,calculate_acctd_amts_flag = x_calculate_acctd_amts_flag
303 ,calculate_g_l_amts_flag = x_calculate_g_l_amts_flag
304 ,last_updated_by = x_last_updated_by
305 ,last_update_login = x_last_update_login
306 WHERE application_id = X_application_id
307 AND entity_code = x_entity_code
308 AND event_class_code = x_event_class_code;
309
310 IF (SQL%NOTFOUND) THEN
311 RAISE NO_DATA_FOUND;
312 END IF;
313
314 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
315 trace(p_msg => 'END of procedure update_row',
316 p_module => l_log_module,
317 p_level => C_LEVEL_PROCEDURE);
318 END IF;
319
320 END update_row;
321
322 /*======================================================================+
323 | |
324 | Procedure delete_row |
325 | |
326 +======================================================================*/
327 PROCEDURE delete_row
328 (x_application_id IN NUMBER
329 ,x_entity_code IN VARCHAR2
330 ,x_event_class_code IN VARCHAR2)
331
332 IS
333
334 l_log_module VARCHAR2(240);
335 BEGIN
336
337 IF g_log_enabled THEN
338 l_log_module := C_DEFAULT_MODULE||'.delete_row';
339 END IF;
340
341 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
342 trace(p_msg => 'BEGIN of procedure delete_row',
343 p_module => l_log_module,
344 p_level => C_LEVEL_PROCEDURE);
345 END IF;
346
347 DELETE FROM xla_event_class_attrs
348 WHERE application_id = x_application_id
349 AND entity_code = x_entity_code
350 AND event_class_code = x_event_class_code;
351
352 IF (SQL%NOTFOUND) THEN
353 RAISE NO_DATA_FOUND;
354 END IF;
355
356 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
357 trace(p_msg => 'END of procedure delete_row',
358 p_module => l_log_module,
359 p_level => C_LEVEL_PROCEDURE);
360 END IF;
361
362 END delete_row;
363
364 --=============================================================================
365 --
366 -- Name: load_row
367 -- Description: To be used by FNDLOAD to upload a row to the table
368 --
369 --=============================================================================
370 PROCEDURE load_row
371 (p_application_short_name IN VARCHAR2
372 ,p_entity_code IN VARCHAR2
373 ,p_event_class_code IN VARCHAR2
374 ,p_event_class_group_code IN VARCHAR2
375 ,p_je_category_key IN VARCHAR2
376 ,p_reporting_view_name IN VARCHAR2
377 ,p_allow_actuals_flag IN VARCHAR2
378 ,p_allow_budgets_flag IN VARCHAR2
379 ,p_allow_encumbrance_flag IN VARCHAR2
380 ,p_calculate_acctd_amts_flag IN VARCHAR2
381 ,p_calculate_g_l_amts_flag IN VARCHAR2
382 ,p_owner IN VARCHAR2
383 ,p_last_update_date IN VARCHAR2)
384 IS
385 CURSOR c_app_id(p_app_short_name VARCHAR2) IS
386 SELECT application_id
387 FROM fnd_application
388 WHERE application_short_name = p_app_short_name;
389
390 CURSOR c_je_category(p_je_category_key VARCHAR2) IS
391 SELECT je_category_name
392 FROM gl_je_categories
393 WHERE je_category_key = p_je_category_key;
394
395 l_application_id INTEGER;
396 l_je_category_name VARCHAR2(30);
397 l_rowid ROWID;
398 l_exist VARCHAR2(1);
399 f_luby NUMBER; -- entity owner in file
400 f_ludate DATE; -- entity update date in file
401 db_luby NUMBER; -- entity owner in db
402 db_ludate DATE; -- entity update date in db
403 l_log_module VARCHAR2(240);
404 BEGIN
405
406 IF g_log_enabled THEN
407 l_log_module := C_DEFAULT_MODULE||'.load_row';
408 END IF;
409
410 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
411 trace(p_msg => 'BEGIN of procedure load_row',
412 p_module => l_log_module,
413 p_level => C_LEVEL_PROCEDURE);
414 END IF;
415
416 -- Translate owner to file_last_updated_by
417 f_luby := fnd_load_util.owner_id(p_owner);
418
419 -- Translate char last_update_date to date
420 f_ludate := nvl(to_date(p_last_update_date, 'YYYY/MM/DD'), sysdate);
421
422 OPEN c_app_id(p_application_short_name);
423 FETCH c_app_id INTO l_application_id;
424 CLOSE c_app_id;
425
426 OPEN c_je_category(p_je_category_key);
427 FETCH c_je_category INTO l_je_category_name;
428 CLOSE c_je_category;
429
430 BEGIN
431
432 SELECT last_updated_by, last_update_date
433 INTO db_luby, db_ludate
434 FROM xla_event_class_attrs
435 WHERE application_id = l_application_id
436 AND entity_code = p_entity_code
437 AND event_class_code = p_event_class_code;
438
439 IF (fnd_load_util.upload_test(f_luby, f_ludate, db_luby, db_ludate, NULL)) THEN
440
441 xla_event_class_attrs_f_pkg.update_row
442 (x_rowid => l_rowid
443 ,x_application_id => l_application_id
444 ,x_entity_code => p_entity_code
445 ,x_event_class_code => p_event_class_code
446 ,x_event_class_group_code => p_event_class_group_code
447 ,x_je_category_name => l_je_category_name
448 ,x_reporting_view_name => p_reporting_view_name
449 ,x_allow_actuals_flag => p_allow_actuals_flag
450 ,x_allow_budgets_flag => p_allow_budgets_flag
451 ,x_allow_encumbrance_flag => p_allow_encumbrance_flag
452 ,x_calculate_acctd_amts_flag => p_calculate_acctd_amts_flag
453 ,x_calculate_g_l_amts_flag => p_calculate_g_l_amts_flag
454 ,x_last_update_date => f_ludate
455 ,x_last_updated_by => f_luby
456 ,x_last_update_login => 0);
457
458 END IF;
459
460 EXCEPTION
461 WHEN NO_DATA_FOUND THEN
462 xla_event_class_attrs_f_pkg.insert_row
463 (x_rowid => l_rowid
464 ,x_application_id => l_application_id
465 ,x_entity_code => p_entity_code
466 ,x_event_class_code => p_event_class_code
467 ,x_event_class_group_code => p_event_class_group_code
468 ,x_je_category_name => l_je_category_name
469 ,x_reporting_view_name => p_reporting_view_name
470 ,x_allow_actuals_flag => p_allow_actuals_flag
471 ,x_allow_budgets_flag => p_allow_budgets_flag
472 ,x_allow_encumbrance_flag => p_allow_encumbrance_flag
473 ,x_calculate_acctd_amts_flag => p_calculate_acctd_amts_flag
474 ,x_calculate_g_l_amts_flag => p_calculate_g_l_amts_flag
475 ,x_creation_date => f_ludate
476 ,x_created_by => f_luby
477 ,x_last_update_date => f_ludate
478 ,x_last_updated_by => f_luby
479 ,x_last_update_login => 0);
480
481 xla_acct_setup_pkg.perform_event_class_setup
482 (p_application_id => l_application_id
483 ,p_event_class_code => p_event_class_code);
484
485 END;
486
487 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
488 trace(p_msg => 'END of procedure load_row',
489 p_module => l_log_module,
490 p_level => C_LEVEL_PROCEDURE);
491 END IF;
492
493 EXCEPTION
494 WHEN NO_DATA_FOUND THEN
495 null;
496 WHEN OTHERS THEN
497 xla_exceptions_pkg.raise_message
498 (p_location => 'xla_event_class_attrs_f_pkg.load_row');
499
500 END load_row;
501
502 --=============================================================================
503 --
504 -- Name: load_row
505 -- Description: This overload API is created for backward compatiability.
506 -- It can eb removed as soon as 9/2/2005 freeze is completed.
507 --
508 --=============================================================================
509 /*
510 PROCEDURE load_row
511 (p_application_short_name IN VARCHAR2
512 ,p_entity_code IN VARCHAR2
513 ,p_event_class_code IN VARCHAR2
514 ,p_event_class_group_code IN VARCHAR2
515 ,p_je_category_name IN VARCHAR2
516 ,p_reporting_view_name IN VARCHAR2
517 ,p_allow_actuals_flag IN VARCHAR2
518 ,p_allow_budgets_flag IN VARCHAR2
519 ,p_allow_encumbrance_flag IN VARCHAR2
520 ,p_calculate_acctd_amts_flag IN VARCHAR2
521 ,p_calculate_g_l_amts_flag IN VARCHAR2
522 ,p_owner IN VARCHAR2
523 ,p_last_update_date IN VARCHAR2)
524 IS
525 BEGIN
526 xla_event_class_attrs_f_pkg.load_row
527 (p_application_short_name => p_application_short_name
528 ,p_entity_code => p_entity_code
529 ,p_event_class_code => p_event_class_code
530 ,p_event_class_group_code => p_event_class_group_code
531 ,p_je_category_key => p_je_category_name
532 ,p_reporting_view_name => p_reporting_view_name
533 ,p_allow_actuals_flag => p_allow_actuals_flag
534 ,p_allow_budgets_flag => p_allow_budgets_flag
535 ,p_allow_encumbrance_flag => p_allow_encumbrance_flag
536 ,p_calculate_acctd_amts_flag => p_calculate_acctd_amts_flag
537 ,p_calculate_g_l_amts_flag => p_calculate_g_l_amts_flag
538 ,p_owner => p_owner
539 ,p_last_update_date => p_last_update_date);
540
541 EXCEPTION
542 WHEN NO_DATA_FOUND THEN
543 null;
544 WHEN OTHERS THEN
545 xla_exceptions_pkg.raise_message
546 (p_location => 'xla_event_class_attrs_f_pkg.load_row');
547
548 END load_row;
549 */
550
551 --=============================================================================
552 --
553 -- Following code is executed when the package body is referenced for the first
554 -- time
555 --
556 --=============================================================================
557 BEGIN
558 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
559 g_log_enabled := fnd_log.test
560 (log_level => g_log_level
561 ,module => C_DEFAULT_MODULE);
562
563 IF NOT g_log_enabled THEN
564 g_log_level := C_LEVEL_LOG_DISABLED;
565 END IF;
566
567
568 end xla_event_class_attrs_f_pkg;