DBA Data[Home] [Help]

PACKAGE BODY: APPS.XLA_ACCOUNTING_ERR_PKG

Source


1 PACKAGE BODY xla_accounting_err_pkg AS
2 -- $Header: xlaaperr.pkb 120.20 2006/04/12 21:45:20 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_accounting_err_pkg                                                 |
10 |                                                                            |
11 | DESCRIPTION                                                                |
12 |     This is the body of the package that handles errors for accounting     |
13 |     entries generated by Accounting Program and Mnaual Enteries.           |
14 |                                                                            |
15 | HISTORY                                                                    |
16 |     09/09/2002      S. Singhania    Created                                |
17 |     11/30/2002      S. Singhania    Added call to 'xla_accounting_pkg.set_ |
18 |                                        error_count'                        |
19 |     12/12/2002      S. Singhania    Added more calls to 'xla_utitlity_pkg. |
20 |                                        trace' routine to help debug.       |
21 |     01/03/2003      S. Singhania    Minor changes due to change in column  |
22 |                                        name in xla_accounting_errors.      |
23 |                                        (ae_line_number => ae_line_num)     |
24 |     05/21/2003      S. Singhania    Added more trace messages in exception |
25 |                                        handlers                            |
26 |                                     Added local trace routine.             |
27 |                                     Fix for bug # 2970204                  |
28 |                                     Modified the specifications of         |
29 |                                       initialize()                         |
30 |     06/12/2003      S. Singhania    Added trace messages to the exception  |
31 |                                       in STACK_ERRORS                      |
32 |     07/29/2003      S. Singhania    Modified the specifications of         |
33 |                                       initialize()                         |
34 |                                     Modification for bug # 3072738         |
35 |                                       - Added the API GET_TOTAL_ERROR_COUNT|
36 |                                       - Code modified to count # of errors |
37 |                                         rather than failed events.         |
38 |     08/04/2003      S. Singhania    Added NVL to return value in           |
39 |                                       GET_TOTAL_ERROR_COUNT                |
40 |     08/12/2003      S. Singhania    Added trace to display message_name in |
41 |                                       STACK_ERROR                          |
42 |     08/27/2003      S. Singhania    Modified STACK_ERROR to insert message |
43 |                                       rather than encoded message.         |
44 |                                       Bug # 3113574                        |
45 |     09/09/2003      S. Singhania       Added the procedure body for        |
46 |                                          SET_ERROR_SOURCE                  |
47 |     10/14/2003      S. Singhania       Renamed SET_ERROR_SOURCE to         |
48 |                                          SET_OPTIONS.                      |
49 |                                        Added new parameters to INITIALIZE. |
50 |     02/28/2004      S. Singhania    Bug 3416534. Updated local trace       |
51 |                                       procedure and added FND_LOG messages |
52 |     03/23/2004      S. Singhania    Added a parameter p_module to the TRACE|
53 |                                       calls and the procedure.             |
54 +===========================================================================*/
55 
56 --=============================================================================
57 --           ****************  declaraions  ********************
58 --=============================================================================
59 -------------------------------------------------------------------------------
60 -- declaring private variables
61 -------------------------------------------------------------------------------
62 g_error_index                  PLS_INTEGER := 0;
63 g_client_id                    VARCHAR2(30);
64 g_accounting_errors            xla_accounting_err_pkg.t_array_error;
65 g_error_source                 VARCHAR2(30);
66 g_request_id                   NUMBER;
67 g_application_id               NUMBER;
68 -------------------------------------------------------------------------------
69 -- forward declarion of private procedures and functions
70 -------------------------------------------------------------------------------
71 PROCEDURE reset;
72 
73 PROCEDURE stack_error
74        (p_appli_s_name            IN  VARCHAR2
75        ,p_msg_name                IN  VARCHAR2
76        ,p_entity_id               IN  NUMBER
77        ,p_event_id                IN  NUMBER
78        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
79        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
80        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
81        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL);
82 
83 --=============================================================================
84 --               *********** Local Trace Routine **********
85 --=============================================================================
86 C_LEVEL_STATEMENT     CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
87 C_LEVEL_PROCEDURE     CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
88 C_LEVEL_EVENT         CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
89 C_LEVEL_EXCEPTION     CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
90 C_LEVEL_ERROR         CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
91 C_LEVEL_UNEXPECTED    CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
92 
93 C_LEVEL_LOG_DISABLED  CONSTANT NUMBER := 99;
94 C_DEFAULT_MODULE      CONSTANT VARCHAR2(240) := 'xla.plsql.xla_accounting_err_pkg';
95 
96 g_log_level           NUMBER;
97 g_log_enabled         BOOLEAN;
98 
99 PROCEDURE trace
100        (p_msg                        IN VARCHAR2
101        ,p_level                      IN NUMBER
102        ,p_module                     IN VARCHAR2) IS
103 BEGIN
104 
105    IF (p_msg IS NULL AND p_level >= g_log_level) THEN
106       fnd_log.message(p_level, p_module);
107    ELSIF p_level >= g_log_level THEN
108       fnd_log.string(p_level, p_module, p_msg);
109    END IF;
110 
111 EXCEPTION
112    WHEN xla_exceptions_pkg.application_exception THEN
113       RAISE;
114    WHEN OTHERS THEN
115       xla_exceptions_pkg.raise_message
116          (p_location   => 'xla_accounting_err_pkg.trace');
117 END trace;
118 
119 
120 --=============================================================================
121 --          *********** public procedures and functions **********
122 --=============================================================================
123 --=============================================================================
124 --
125 --
126 --
127 --
128 --
129 --
130 --
131 --
132 --
133 --
134 -- Following are the public routines:
135 --
136 --    1.    build_message (no tokens)
137 --    2.    build_message (1 token)
138 --    3.    build_message (2 token)
139 --    4.    build_message (3 token)
140 --    5.    build_message (4 token)
141 --    6.    build_message (5 token)
142 --    7.    build_message (6 token)
143 --    8.    initialize
144 --    9.    insert_errors
145 --   10.    set_error_source
146 --
147 --
148 --
149 --
150 --
151 --
152 --
153 --
154 --
155 --
156 --
157 --=============================================================================
158 
159 --=============================================================================
160 --
161 --
162 --=============================================================================
163 PROCEDURE build_message
164        (p_appli_s_name            IN  VARCHAR2
165        ,p_msg_name                IN  VARCHAR2
166        ,p_entity_id               IN  NUMBER
167        ,p_event_id                IN  NUMBER
168        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
169        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
170        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
171        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
172 l_log_module                VARCHAR2(240);
173 BEGIN
174    IF g_log_enabled THEN
175       l_log_module := C_DEFAULT_MODULE||'.build_message';
176    END IF;
177    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
178       trace
179          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
180          ,p_level    => C_LEVEL_PROCEDURE
181          ,p_module   => l_log_module);
182       trace
183          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
184          ,p_level    => C_LEVEL_PROCEDURE
185          ,p_module   => l_log_module);
186       trace
187          (p_msg      => 'p_msg_name = '||p_msg_name
188          ,p_level    => C_LEVEL_PROCEDURE
189          ,p_module   => l_log_module);
190       trace
191          (p_msg      => 'p_entity_id = '||p_entity_id
192          ,p_level    => C_LEVEL_PROCEDURE
193          ,p_module   => l_log_module);
194       trace
195          (p_msg      => 'p_event_id = '||p_event_id
196          ,p_level    => C_LEVEL_PROCEDURE
197          ,p_module   => l_log_module);
198       trace
199          (p_msg      => 'p_ledger_id = '||p_ledger_id
200          ,p_level    => C_LEVEL_PROCEDURE
201          ,p_module   => l_log_module);
202       trace
203          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
204          ,p_level    => C_LEVEL_PROCEDURE
205          ,p_module   => l_log_module);
206       trace
207          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
208          ,p_level    => C_LEVEL_PROCEDURE
209          ,p_module   => l_log_module);
210       trace
211          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
212          ,p_level    => C_LEVEL_PROCEDURE
213          ,p_module   => l_log_module);
214    END IF;
215 
216    xla_messages_pkg.build_message
217       (p_appli_s_name                  => p_appli_s_name
218       ,p_msg_name                      => p_msg_name);
219 
220    stack_error
221       (p_appli_s_name                  => p_appli_s_name
222       ,p_msg_name                      => p_msg_name
223       ,p_entity_id                     => p_entity_id
224       ,p_event_id                      => p_event_id
225       ,p_ledger_id                     => p_ledger_id
226       ,p_ae_header_id                  => p_ae_header_id
227       ,p_ae_line_num                   => p_ae_line_num
228       ,p_accounting_batch_id           => p_accounting_batch_id);
229 
230    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
231       trace
232          (p_msg      => 'END of procedure BUILD_MESSAGE'
233          ,p_level    => C_LEVEL_PROCEDURE
234          ,p_module   => l_log_module);
235    END IF;
236 EXCEPTION
237 WHEN xla_exceptions_pkg.application_exception THEN
238    RAISE;
239 WHEN OTHERS THEN
240    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
241       trace
242          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
243          ,p_level    => C_LEVEL_EXCEPTION
244          ,p_module   => l_log_module);
245       trace
246          (p_msg      => 'p_msg_name = '||p_msg_name
247          ,p_level    => C_LEVEL_EXCEPTION
248          ,p_module   => l_log_module);
249       trace
250          (p_msg      => 'p_entity_id = '||p_entity_id
251          ,p_level    => C_LEVEL_EXCEPTION
252          ,p_module   => l_log_module);
253       trace
254          (p_msg      => 'p_event_id = '||p_event_id
255          ,p_level    => C_LEVEL_EXCEPTION
256          ,p_module   => l_log_module);
257       trace
258          (p_msg      => 'p_ledger_id = '||p_ledger_id
259          ,p_level    => C_LEVEL_EXCEPTION
260          ,p_module   => l_log_module);
261       trace
262          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
263          ,p_level    => C_LEVEL_EXCEPTION
264          ,p_module   => l_log_module);
265       trace
266          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
267          ,p_level    => C_LEVEL_EXCEPTION
268          ,p_module   => l_log_module);
269       trace
270          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
271          ,p_level    => C_LEVEL_EXCEPTION
272          ,p_module   => l_log_module);
273    END IF;
274 
275    xla_exceptions_pkg.raise_message
276        (p_location       => 'xla_accounting_err_pkg.build_message');
277 END build_message;  -- end of procedure
278 
279 
280 --=============================================================================
281 --
282 --
283 --=============================================================================
284 PROCEDURE build_message
285        (p_appli_s_name            IN  VARCHAR2
286        ,p_msg_name                IN  VARCHAR2
287        ,p_token_1                 IN  VARCHAR2
288        ,p_value_1                 IN  VARCHAR2
289        ,p_entity_id               IN  NUMBER
290        ,p_event_id                IN  NUMBER
291        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
292        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
293        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
294        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
295 l_log_module                VARCHAR2(240);
296 BEGIN
297    IF g_log_enabled THEN
298       l_log_module := C_DEFAULT_MODULE||'.build_message';
299    END IF;
300    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
301       trace
302          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
303          ,p_level    => C_LEVEL_PROCEDURE
304          ,p_module   => l_log_module);
305       trace
306          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
307          ,p_level    => C_LEVEL_PROCEDURE
308          ,p_module   => l_log_module);
309       trace
310          (p_msg      => 'p_msg_name = '||p_msg_name
311          ,p_level    => C_LEVEL_PROCEDURE
312          ,p_module   => l_log_module);
313       trace
314          (p_msg      => 'p_token_1 = '||p_token_1
315          ,p_level    => C_LEVEL_PROCEDURE
316          ,p_module   => l_log_module);
317       trace
318          (p_msg      => 'p_value_1 = '||p_value_1
319          ,p_level    => C_LEVEL_PROCEDURE
320          ,p_module   => l_log_module);
321       trace
322          (p_msg      => 'p_entity_id = '||p_entity_id
323          ,p_level    => C_LEVEL_PROCEDURE
324          ,p_module   => l_log_module);
325       trace
326          (p_msg      => 'p_event_id = '||p_event_id
327          ,p_level    => C_LEVEL_PROCEDURE
328          ,p_module   => l_log_module);
329       trace
330          (p_msg      => 'p_ledger_id = '||p_ledger_id
331          ,p_level    => C_LEVEL_PROCEDURE
332          ,p_module   => l_log_module);
333       trace
334          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
335          ,p_level    => C_LEVEL_PROCEDURE
339          ,p_level    => C_LEVEL_PROCEDURE
336          ,p_module   => l_log_module);
337       trace
338          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
340          ,p_module   => l_log_module);
341       trace
342          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
343          ,p_level    => C_LEVEL_PROCEDURE
344          ,p_module   => l_log_module);
345    END IF;
346 
347    xla_messages_pkg.build_message
348       (p_appli_s_name                  => p_appli_s_name
349       ,p_msg_name                      => p_msg_name
350       ,p_token_1                       => p_token_1
351       ,p_value_1                       => p_value_1);
352 
353    stack_error
354       (p_appli_s_name                  => p_appli_s_name
355       ,p_msg_name                      => p_msg_name
356       ,p_entity_id                     => p_entity_id
357       ,p_event_id                      => p_event_id
358       ,p_ledger_id                     => p_ledger_id
359       ,p_ae_header_id                  => p_ae_header_id
360       ,p_ae_line_num                   => p_ae_line_num
361       ,p_accounting_batch_id           => p_accounting_batch_id);
362 
363    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
364       trace
365          (p_msg      => 'END of procedure BUILD_MESSAGE'
366          ,p_level    => C_LEVEL_PROCEDURE
367          ,p_module   => l_log_module);
368    END IF;
369 EXCEPTION
370 WHEN xla_exceptions_pkg.application_exception THEN
371    RAISE;
372 WHEN OTHERS THEN
373    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
374       trace
375          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
376          ,p_level    => C_LEVEL_EXCEPTION
377          ,p_module   => l_log_module);
378       trace
379          (p_msg      => 'p_msg_name = '||p_msg_name
380          ,p_level    => C_LEVEL_EXCEPTION
381          ,p_module   => l_log_module);
382       trace
383          (p_msg      => 'p_token_1 = '||p_token_1
384          ,p_level    => C_LEVEL_EXCEPTION
385          ,p_module   => l_log_module);
386       trace
387          (p_msg      => 'p_value_1 = '||p_value_1
388          ,p_level    => C_LEVEL_EXCEPTION
389          ,p_module   => l_log_module);
390       trace
391          (p_msg      => 'p_entity_id = '||p_entity_id
392          ,p_level    => C_LEVEL_EXCEPTION
393          ,p_module   => l_log_module);
394       trace
395          (p_msg      => 'p_event_id = '||p_event_id
396          ,p_level    => C_LEVEL_EXCEPTION
397          ,p_module   => l_log_module);
398       trace
399          (p_msg      => 'p_ledger_id = '||p_ledger_id
400          ,p_level    => C_LEVEL_EXCEPTION
401          ,p_module   => l_log_module);
402       trace
403          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
404          ,p_level    => C_LEVEL_EXCEPTION
405          ,p_module   => l_log_module);
406       trace
407          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
408          ,p_level    => C_LEVEL_EXCEPTION
409          ,p_module   => l_log_module);
410       trace
411          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
412          ,p_level    => C_LEVEL_EXCEPTION
413          ,p_module   => l_log_module);
414    END IF;
415 
416    xla_exceptions_pkg.raise_message
417        (p_location       => 'xla_accounting_err_pkg.build_message');
418 END build_message;  -- end of procedure
419 
420 
421 --=============================================================================
422 --
423 --
424 --=============================================================================
425 PROCEDURE build_message
426        (p_appli_s_name            IN  VARCHAR2
427        ,p_msg_name                IN  VARCHAR2
428        ,p_token_1                 IN  VARCHAR2
429        ,p_value_1                 IN  VARCHAR2
430        ,p_token_2                 IN  VARCHAR2
431        ,p_value_2                 IN  VARCHAR2
432        ,p_entity_id               IN  NUMBER
433        ,p_event_id                IN  NUMBER
434        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
435        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
436        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
437        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
438 l_log_module                VARCHAR2(240);
439 BEGIN
440    IF g_log_enabled THEN
441       l_log_module := C_DEFAULT_MODULE||'.build_message';
442    END IF;
443    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
444       trace
445          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
446          ,p_level    => C_LEVEL_PROCEDURE
447          ,p_module   => l_log_module);
448       trace
449          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
450          ,p_level    => C_LEVEL_PROCEDURE
451          ,p_module   => l_log_module);
452       trace
453          (p_msg      => 'p_msg_name = '||p_msg_name
454          ,p_level    => C_LEVEL_PROCEDURE
455          ,p_module   => l_log_module);
456       trace
457          (p_msg      => 'p_token_1 = '||p_token_1
458          ,p_level    => C_LEVEL_PROCEDURE
459          ,p_module   => l_log_module);
460       trace
461          (p_msg      => 'p_value_1 = '||p_value_1
462          ,p_level    => C_LEVEL_PROCEDURE
463          ,p_module   => l_log_module);
464       trace
465          (p_msg      => 'p_token_2 = '||p_token_2
466          ,p_level    => C_LEVEL_PROCEDURE
467          ,p_module   => l_log_module);
468       trace
469          (p_msg      => 'p_value_2 = '||p_value_2
470          ,p_level    => C_LEVEL_PROCEDURE
471          ,p_module   => l_log_module);
472       trace
473          (p_msg      => 'p_entity_id = '||p_entity_id
474          ,p_level    => C_LEVEL_PROCEDURE
478          ,p_level    => C_LEVEL_PROCEDURE
475          ,p_module   => l_log_module);
476       trace
477          (p_msg      => 'p_event_id = '||p_event_id
479          ,p_module   => l_log_module);
480       trace
481          (p_msg      => 'p_ledger_id = '||p_ledger_id
482          ,p_level    => C_LEVEL_PROCEDURE
483          ,p_module   => l_log_module);
484       trace
485          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
486          ,p_level    => C_LEVEL_PROCEDURE
487          ,p_module   => l_log_module);
488       trace
489          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
490          ,p_level    => C_LEVEL_PROCEDURE
491          ,p_module   => l_log_module);
492       trace
493          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
494          ,p_level    => C_LEVEL_PROCEDURE
495          ,p_module   => l_log_module);
496    END IF;
497 
498    xla_messages_pkg.build_message
499       (p_appli_s_name                  => p_appli_s_name
500       ,p_msg_name                      => p_msg_name
501       ,p_token_1                       => p_token_1
502       ,p_value_1                       => p_value_1
503       ,p_token_2                       => p_token_2
504       ,p_value_2                       => p_value_2);
505 
506    stack_error
507       (p_appli_s_name                  => p_appli_s_name
508       ,p_msg_name                      => p_msg_name
509       ,p_entity_id                     => p_entity_id
510       ,p_event_id                      => p_event_id
511       ,p_ledger_id                     => p_ledger_id
512       ,p_ae_header_id                  => p_ae_header_id
513       ,p_ae_line_num                   => p_ae_line_num
514       ,p_accounting_batch_id           => p_accounting_batch_id);
515 
516    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
517       trace
518          (p_msg      => 'END of procedure BUILD_MESSAGE'
519          ,p_level    => C_LEVEL_PROCEDURE
520          ,p_module   => l_log_module);
521    END IF;
522 EXCEPTION
523 WHEN xla_exceptions_pkg.application_exception THEN
524    RAISE;
525 WHEN OTHERS THEN
526    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
527       trace
528          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
529          ,p_level    => C_LEVEL_EXCEPTION
530          ,p_module   => l_log_module);
531       trace
532          (p_msg      => 'p_msg_name = '||p_msg_name
533          ,p_level    => C_LEVEL_EXCEPTION
534          ,p_module   => l_log_module);
535       trace
536          (p_msg      => 'p_token_1 = '||p_token_1
537          ,p_level    => C_LEVEL_EXCEPTION
538          ,p_module   => l_log_module);
539       trace
540          (p_msg      => 'p_value_1 = '||p_value_1
541          ,p_level    => C_LEVEL_EXCEPTION
542          ,p_module   => l_log_module);
543       trace
544          (p_msg      => 'p_token_2 = '||p_token_2
545          ,p_level    => C_LEVEL_EXCEPTION
546          ,p_module   => l_log_module);
547       trace
548          (p_msg      => 'p_value_2 = '||p_value_2
549          ,p_level    => C_LEVEL_EXCEPTION
550          ,p_module   => l_log_module);
551       trace
552          (p_msg      => 'p_entity_id = '||p_entity_id
553          ,p_level    => C_LEVEL_EXCEPTION
554          ,p_module   => l_log_module);
555       trace
556          (p_msg      => 'p_event_id = '||p_event_id
557          ,p_level    => C_LEVEL_EXCEPTION
558          ,p_module   => l_log_module);
559       trace
560          (p_msg      => 'p_ledger_id = '||p_ledger_id
561          ,p_level    => C_LEVEL_EXCEPTION
562          ,p_module   => l_log_module);
563       trace
564          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
565          ,p_level    => C_LEVEL_EXCEPTION
566          ,p_module   => l_log_module);
567       trace
568          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
569          ,p_level    => C_LEVEL_EXCEPTION
570          ,p_module   => l_log_module);
571       trace
572          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
573          ,p_level    => C_LEVEL_EXCEPTION
574          ,p_module   => l_log_module);
575    END IF;
576 
577    xla_exceptions_pkg.raise_message
578        (p_location       => 'xla_accounting_err_pkg.build_message');
579 END build_message;  -- end of procedure
580 
581 
582 --=============================================================================
583 --
584 --
585 --=============================================================================
586 PROCEDURE build_message
587        (p_appli_s_name            IN  VARCHAR2
588        ,p_msg_name                IN  VARCHAR2
589        ,p_token_1                 IN  VARCHAR2
590        ,p_value_1                 IN  VARCHAR2
591        ,p_token_2                 IN  VARCHAR2
592        ,p_value_2                 IN  VARCHAR2
593        ,p_token_3                 IN  VARCHAR2
594        ,p_value_3                 IN  VARCHAR2
595        ,p_entity_id               IN  NUMBER
596        ,p_event_id                IN  NUMBER
597        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
598        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
599        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
600        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
601 l_log_module                VARCHAR2(240);
602 BEGIN
603    IF g_log_enabled THEN
604       l_log_module := C_DEFAULT_MODULE||'.build_message';
605    END IF;
606    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
607       trace
608          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
609          ,p_level    => C_LEVEL_PROCEDURE
610          ,p_module   => l_log_module);
611       trace
615       trace
612          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
613          ,p_level    => C_LEVEL_PROCEDURE
614          ,p_module   => l_log_module);
616          (p_msg      => 'p_msg_name = '||p_msg_name
617          ,p_level    => C_LEVEL_PROCEDURE
618          ,p_module   => l_log_module);
619       trace
620          (p_msg      => 'p_token_1 = '||p_token_1
621          ,p_level    => C_LEVEL_PROCEDURE
622          ,p_module   => l_log_module);
623       trace
624          (p_msg      => 'p_value_1 = '||p_value_1
625          ,p_level    => C_LEVEL_PROCEDURE
626          ,p_module   => l_log_module);
627       trace
628          (p_msg      => 'p_token_2 = '||p_token_2
629          ,p_level    => C_LEVEL_PROCEDURE
630          ,p_module   => l_log_module);
631       trace
632          (p_msg      => 'p_value_2 = '||p_value_2
633          ,p_level    => C_LEVEL_PROCEDURE
634          ,p_module   => l_log_module);
635       trace
636          (p_msg      => 'p_token_3 = '||p_token_3
637          ,p_level    => C_LEVEL_PROCEDURE
638          ,p_module   => l_log_module);
639       trace
640          (p_msg      => 'p_value_3 = '||p_value_3
641          ,p_level    => C_LEVEL_PROCEDURE
642          ,p_module   => l_log_module);
643       trace
644          (p_msg      => 'p_entity_id = '||p_entity_id
645          ,p_level    => C_LEVEL_PROCEDURE
646          ,p_module   => l_log_module);
647       trace
648          (p_msg      => 'p_event_id = '||p_event_id
649          ,p_level    => C_LEVEL_PROCEDURE
650          ,p_module   => l_log_module);
651       trace
652          (p_msg      => 'p_ledger_id = '||p_ledger_id
653          ,p_level    => C_LEVEL_PROCEDURE
654          ,p_module   => l_log_module);
655       trace
656          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
657          ,p_level    => C_LEVEL_PROCEDURE
658          ,p_module   => l_log_module);
659       trace
660          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
661          ,p_level    => C_LEVEL_PROCEDURE
662          ,p_module   => l_log_module);
663       trace
664          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
665          ,p_level    => C_LEVEL_PROCEDURE
666          ,p_module   => l_log_module);
667    END IF;
668 
669    xla_messages_pkg.build_message
670       (p_appli_s_name                  => p_appli_s_name
671       ,p_msg_name                      => p_msg_name
672       ,p_token_1                       => p_token_1
673       ,p_value_1                       => p_value_1
674       ,p_token_2                       => p_token_2
675       ,p_value_2                       => p_value_2
676       ,p_token_3                       => p_token_3
677       ,p_value_3                       => p_value_3);
678 
679    stack_error
680       (p_appli_s_name                  => p_appli_s_name
681       ,p_msg_name                      => p_msg_name
682       ,p_entity_id                     => p_entity_id
683       ,p_event_id                      => p_event_id
684       ,p_ledger_id                     => p_ledger_id
685       ,p_ae_header_id                  => p_ae_header_id
686       ,p_ae_line_num                   => p_ae_line_num
687       ,p_accounting_batch_id           => p_accounting_batch_id);
688 
689    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
690       trace
691          (p_msg      => 'END of procedure BUILD_MESSAGE'
692          ,p_level    => C_LEVEL_PROCEDURE
693          ,p_module   => l_log_module);
694    END IF;
695 EXCEPTION
696 WHEN xla_exceptions_pkg.application_exception THEN
697    RAISE;
698 WHEN OTHERS THEN
699    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
700       trace
701          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
702          ,p_level    => C_LEVEL_EXCEPTION
703          ,p_module   => l_log_module);
704       trace
705          (p_msg      => 'p_msg_name = '||p_msg_name
706          ,p_level    => C_LEVEL_EXCEPTION
707          ,p_module   => l_log_module);
708       trace
709          (p_msg      => 'p_token_1 = '||p_token_1
710          ,p_level    => C_LEVEL_EXCEPTION
711          ,p_module   => l_log_module);
712       trace
713          (p_msg      => 'p_value_1 = '||p_value_1
714          ,p_level    => C_LEVEL_EXCEPTION
715          ,p_module   => l_log_module);
716       trace
717          (p_msg      => 'p_token_2 = '||p_token_2
718          ,p_level    => C_LEVEL_EXCEPTION
719          ,p_module   => l_log_module);
720       trace
721          (p_msg      => 'p_value_2 = '||p_value_2
722          ,p_level    => C_LEVEL_EXCEPTION
723          ,p_module   => l_log_module);
724       trace
725          (p_msg      => 'p_token_3 = '||p_token_3
726          ,p_level    => C_LEVEL_EXCEPTION
727          ,p_module   => l_log_module);
728       trace
729          (p_msg      => 'p_value_3 = '||p_value_3
730          ,p_level    => C_LEVEL_EXCEPTION
731          ,p_module   => l_log_module);
732       trace
733          (p_msg      => 'p_entity_id = '||p_entity_id
734          ,p_level    => C_LEVEL_EXCEPTION
735          ,p_module   => l_log_module);
736       trace
737          (p_msg      => 'p_event_id = '||p_event_id
738          ,p_level    => C_LEVEL_EXCEPTION
739          ,p_module   => l_log_module);
740       trace
741          (p_msg      => 'p_ledger_id = '||p_ledger_id
742          ,p_level    => C_LEVEL_EXCEPTION
743          ,p_module   => l_log_module);
744       trace
745          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
746          ,p_level    => C_LEVEL_EXCEPTION
747          ,p_module   => l_log_module);
748       trace
749          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
750          ,p_level    => C_LEVEL_EXCEPTION
754          ,p_level    => C_LEVEL_EXCEPTION
751          ,p_module   => l_log_module);
752       trace
753          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
755          ,p_module   => l_log_module);
756    END IF;
757 
758    xla_exceptions_pkg.raise_message
759        (p_location       => 'xla_accounting_err_pkg.build_message');
760 END build_message;  -- end of procedure
761 
762 
763 --=============================================================================
764 --
765 --
766 --=============================================================================
767 PROCEDURE build_message
768        (p_appli_s_name            IN  VARCHAR2
769        ,p_msg_name                IN  VARCHAR2
770        ,p_token_1                 IN  VARCHAR2
771        ,p_value_1                 IN  VARCHAR2
772        ,p_token_2                 IN  VARCHAR2
773        ,p_value_2                 IN  VARCHAR2
774        ,p_token_3                 IN  VARCHAR2
775        ,p_value_3                 IN  VARCHAR2
776        ,p_token_4                 IN  VARCHAR2
777        ,p_value_4                 IN  VARCHAR2
778        ,p_entity_id               IN  NUMBER
779        ,p_event_id                IN  NUMBER
780        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
781        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
782        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
783        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
784 l_log_module                VARCHAR2(240);
785 BEGIN
786    IF g_log_enabled THEN
787       l_log_module := C_DEFAULT_MODULE||'.build_message';
788    END IF;
789    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
790       trace
791          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
792          ,p_level    => C_LEVEL_PROCEDURE
793          ,p_module   => l_log_module);
794       trace
795          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
796          ,p_level    => C_LEVEL_PROCEDURE
797          ,p_module   => l_log_module);
798       trace
799          (p_msg      => 'p_msg_name = '||p_msg_name
800          ,p_level    => C_LEVEL_PROCEDURE
801          ,p_module   => l_log_module);
802       trace
803          (p_msg      => 'p_token_1 = '||p_token_1
804          ,p_level    => C_LEVEL_PROCEDURE
805          ,p_module   => l_log_module);
806       trace
807          (p_msg      => 'p_value_1 = '||p_value_1
808          ,p_level    => C_LEVEL_PROCEDURE
809          ,p_module   => l_log_module);
810       trace
811          (p_msg      => 'p_token_2 = '||p_token_2
812          ,p_level    => C_LEVEL_PROCEDURE
813          ,p_module   => l_log_module);
814       trace
815          (p_msg      => 'p_value_2 = '||p_value_2
816          ,p_level    => C_LEVEL_PROCEDURE
817          ,p_module   => l_log_module);
818       trace
819          (p_msg      => 'p_token_3 = '||p_token_3
820          ,p_level    => C_LEVEL_PROCEDURE
821          ,p_module   => l_log_module);
822       trace
823          (p_msg      => 'p_value_3 = '||p_value_3
824          ,p_level    => C_LEVEL_PROCEDURE
825          ,p_module   => l_log_module);
826       trace
827          (p_msg      => 'p_token_4 = '||p_token_4
828          ,p_level    => C_LEVEL_PROCEDURE
829          ,p_module   => l_log_module);
830       trace
831          (p_msg      => 'p_value_4 = '||p_value_4
832          ,p_level    => C_LEVEL_PROCEDURE
833          ,p_module   => l_log_module);
834       trace
835          (p_msg      => 'p_entity_id = '||p_entity_id
836          ,p_level    => C_LEVEL_PROCEDURE
837          ,p_module   => l_log_module);
838       trace
839          (p_msg      => 'p_event_id = '||p_event_id
840          ,p_level    => C_LEVEL_PROCEDURE
841          ,p_module   => l_log_module);
842       trace
843          (p_msg      => 'p_ledger_id = '||p_ledger_id
844          ,p_level    => C_LEVEL_PROCEDURE
845          ,p_module   => l_log_module);
846       trace
847          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
848          ,p_level    => C_LEVEL_PROCEDURE
849          ,p_module   => l_log_module);
850       trace
851          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
852          ,p_level    => C_LEVEL_PROCEDURE
853          ,p_module   => l_log_module);
854       trace
855          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
856          ,p_level    => C_LEVEL_PROCEDURE
857          ,p_module   => l_log_module);
858    END IF;
859 
860    xla_messages_pkg.build_message
861       (p_appli_s_name                  => p_appli_s_name
862       ,p_msg_name                      => p_msg_name
863       ,p_token_1                       => p_token_1
864       ,p_value_1                       => p_value_1
865       ,p_token_2                       => p_token_2
866       ,p_value_2                       => p_value_2
867       ,p_token_3                       => p_token_3
868       ,p_value_3                       => p_value_3
869       ,p_token_4                       => p_token_4
870       ,p_value_4                       => p_value_4);
871 
872    stack_error
873       (p_appli_s_name                  => p_appli_s_name
874       ,p_msg_name                      => p_msg_name
875       ,p_entity_id                     => p_entity_id
876       ,p_event_id                      => p_event_id
877       ,p_ledger_id                     => p_ledger_id
878       ,p_ae_header_id                  => p_ae_header_id
879       ,p_ae_line_num                   => p_ae_line_num
880       ,p_accounting_batch_id           => p_accounting_batch_id);
881 
882    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
883       trace
884          (p_msg      => 'END of procedure BUILD_MESSAGE'
885          ,p_level    => C_LEVEL_PROCEDURE
889 WHEN xla_exceptions_pkg.application_exception THEN
886          ,p_module   => l_log_module);
887    END IF;
888 EXCEPTION
890    RAISE;
891 WHEN OTHERS THEN
892    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
893       trace
894          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
895          ,p_level    => C_LEVEL_EXCEPTION
896          ,p_module   => l_log_module);
897       trace
898          (p_msg      => 'p_msg_name = '||p_msg_name
899          ,p_level    => C_LEVEL_EXCEPTION
900          ,p_module   => l_log_module);
901       trace
902          (p_msg      => 'p_token_1 = '||p_token_1
903          ,p_level    => C_LEVEL_EXCEPTION
904          ,p_module   => l_log_module);
905       trace
906          (p_msg      => 'p_value_1 = '||p_value_1
907          ,p_level    => C_LEVEL_EXCEPTION
908          ,p_module   => l_log_module);
909       trace
910          (p_msg      => 'p_token_2 = '||p_token_2
911          ,p_level    => C_LEVEL_EXCEPTION
912          ,p_module   => l_log_module);
913       trace
914          (p_msg      => 'p_value_2 = '||p_value_2
915          ,p_level    => C_LEVEL_EXCEPTION
916          ,p_module   => l_log_module);
917       trace
918          (p_msg      => 'p_token_3 = '||p_token_3
919          ,p_level    => C_LEVEL_EXCEPTION
920          ,p_module   => l_log_module);
921       trace
922          (p_msg      => 'p_value_3 = '||p_value_3
923          ,p_level    => C_LEVEL_EXCEPTION
924          ,p_module   => l_log_module);
925       trace
926          (p_msg      => 'p_token_4 = '||p_token_4
927          ,p_level    => C_LEVEL_EXCEPTION
928          ,p_module   => l_log_module);
929       trace
930          (p_msg      => 'p_value_4 = '||p_value_4
931          ,p_level    => C_LEVEL_EXCEPTION
932          ,p_module   => l_log_module);
933       trace
934          (p_msg      => 'p_entity_id = '||p_entity_id
935          ,p_level    => C_LEVEL_EXCEPTION
936          ,p_module   => l_log_module);
937       trace
938          (p_msg      => 'p_event_id = '||p_event_id
939          ,p_level    => C_LEVEL_EXCEPTION
940          ,p_module   => l_log_module);
941       trace
942          (p_msg      => 'p_ledger_id = '||p_ledger_id
943          ,p_level    => C_LEVEL_EXCEPTION
944          ,p_module   => l_log_module);
945       trace
946          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
947          ,p_level    => C_LEVEL_EXCEPTION
948          ,p_module   => l_log_module);
949       trace
950          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
951          ,p_level    => C_LEVEL_EXCEPTION
952          ,p_module   => l_log_module);
953       trace
954          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
955          ,p_level    => C_LEVEL_EXCEPTION
956          ,p_module   => l_log_module);
957    END IF;
958 
959    xla_exceptions_pkg.raise_message
960        (p_location       => 'xla_accounting_err_pkg.build_message');
961 END build_message;  -- end of procedure
962 
963 
964 --=============================================================================
965 --
966 --
967 --=============================================================================
968 PROCEDURE build_message
969        (p_appli_s_name            IN  VARCHAR2
970        ,p_msg_name                IN  VARCHAR2
971        ,p_token_1                 IN  VARCHAR2
972        ,p_value_1                 IN  VARCHAR2
973        ,p_token_2                 IN  VARCHAR2
974        ,p_value_2                 IN  VARCHAR2
975        ,p_token_3                 IN  VARCHAR2
976        ,p_value_3                 IN  VARCHAR2
977        ,p_token_4                 IN  VARCHAR2
978        ,p_value_4                 IN  VARCHAR2
979        ,p_token_5                 IN  VARCHAR2
980        ,p_value_5                 IN  VARCHAR2
981        ,p_entity_id               IN  NUMBER
982        ,p_event_id                IN  NUMBER
983        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
984        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
985        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
986        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
987 l_log_module                VARCHAR2(240);
988 BEGIN
989    IF g_log_enabled THEN
990       l_log_module := C_DEFAULT_MODULE||'.build_message';
991    END IF;
992    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
993       trace
994          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
995          ,p_level    => C_LEVEL_PROCEDURE
996          ,p_module   => l_log_module);
997       trace
998          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
999          ,p_level    => C_LEVEL_PROCEDURE
1000          ,p_module   => l_log_module);
1001       trace
1002          (p_msg      => 'p_msg_name = '||p_msg_name
1003          ,p_level    => C_LEVEL_PROCEDURE
1004          ,p_module   => l_log_module);
1005       trace
1006          (p_msg      => 'p_token_1 = '||p_token_1
1007          ,p_level    => C_LEVEL_PROCEDURE
1008          ,p_module   => l_log_module);
1009       trace
1010          (p_msg      => 'p_value_1 = '||p_value_1
1011          ,p_level    => C_LEVEL_PROCEDURE
1012          ,p_module   => l_log_module);
1013       trace
1014          (p_msg      => 'p_token_2 = '||p_token_2
1015          ,p_level    => C_LEVEL_PROCEDURE
1016          ,p_module   => l_log_module);
1017       trace
1018          (p_msg      => 'p_value_2 = '||p_value_2
1019          ,p_level    => C_LEVEL_PROCEDURE
1020          ,p_module   => l_log_module);
1021       trace
1022          (p_msg      => 'p_token_3 = '||p_token_3
1023          ,p_level    => C_LEVEL_PROCEDURE
1024          ,p_module   => l_log_module);
1025       trace
1029       trace
1026          (p_msg      => 'p_value_3 = '||p_value_3
1027          ,p_level    => C_LEVEL_PROCEDURE
1028          ,p_module   => l_log_module);
1030          (p_msg      => 'p_token_4 = '||p_token_4
1031          ,p_level    => C_LEVEL_PROCEDURE
1032          ,p_module   => l_log_module);
1033       trace
1034          (p_msg      => 'p_value_4 = '||p_value_4
1035          ,p_level    => C_LEVEL_PROCEDURE
1036          ,p_module   => l_log_module);
1037       trace
1038          (p_msg      => 'p_token_5 = '||p_token_5
1039          ,p_level    => C_LEVEL_PROCEDURE
1040          ,p_module   => l_log_module);
1041       trace
1042          (p_msg      => 'p_value_5 = '||p_value_5
1043          ,p_level    => C_LEVEL_PROCEDURE
1044          ,p_module   => l_log_module);
1045       trace
1046          (p_msg      => 'p_entity_id = '||p_entity_id
1047          ,p_level    => C_LEVEL_PROCEDURE
1048          ,p_module   => l_log_module);
1049       trace
1050          (p_msg      => 'p_event_id = '||p_event_id
1051          ,p_level    => C_LEVEL_PROCEDURE
1052          ,p_module   => l_log_module);
1053       trace
1054          (p_msg      => 'p_ledger_id = '||p_ledger_id
1055          ,p_level    => C_LEVEL_PROCEDURE
1056          ,p_module   => l_log_module);
1057       trace
1058          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1059          ,p_level    => C_LEVEL_PROCEDURE
1060          ,p_module   => l_log_module);
1061       trace
1062          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1063          ,p_level    => C_LEVEL_PROCEDURE
1064          ,p_module   => l_log_module);
1065       trace
1066          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1067          ,p_level    => C_LEVEL_PROCEDURE
1068          ,p_module   => l_log_module);
1069    END IF;
1070 
1071    xla_messages_pkg.build_message
1072       (p_appli_s_name                  => p_appli_s_name
1073       ,p_msg_name                      => p_msg_name
1074       ,p_token_1                       => p_token_1
1075       ,p_value_1                       => p_value_1
1076       ,p_token_2                       => p_token_2
1077       ,p_value_2                       => p_value_2
1078       ,p_token_3                       => p_token_3
1079       ,p_value_3                       => p_value_3
1080       ,p_token_4                       => p_token_4
1081       ,p_value_4                       => p_value_4
1082       ,p_token_5                       => p_token_5
1083       ,p_value_5                       => p_value_5);
1084 
1085    stack_error
1086       (p_appli_s_name                  => p_appli_s_name
1087       ,p_msg_name                      => p_msg_name
1088       ,p_entity_id                     => p_entity_id
1089       ,p_event_id                      => p_event_id
1090       ,p_ledger_id                     => p_ledger_id
1091       ,p_ae_header_id                  => p_ae_header_id
1092       ,p_ae_line_num                   => p_ae_line_num
1093       ,p_accounting_batch_id           => p_accounting_batch_id);
1094 
1095    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1096       trace
1097          (p_msg      => 'END of procedure BUILD_MESSAGE'
1098          ,p_level    => C_LEVEL_PROCEDURE
1099          ,p_module   => l_log_module);
1100    END IF;
1101 EXCEPTION
1102 WHEN xla_exceptions_pkg.application_exception THEN
1103    RAISE;
1104 WHEN OTHERS THEN
1105    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
1106       trace
1107          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
1108          ,p_level    => C_LEVEL_EXCEPTION
1109          ,p_module   => l_log_module);
1110       trace
1111          (p_msg      => 'p_msg_name = '||p_msg_name
1112          ,p_level    => C_LEVEL_EXCEPTION
1113          ,p_module   => l_log_module);
1114       trace
1115          (p_msg      => 'p_token_1 = '||p_token_1
1116          ,p_level    => C_LEVEL_EXCEPTION
1117          ,p_module   => l_log_module);
1118       trace
1119          (p_msg      => 'p_value_1 = '||p_value_1
1120          ,p_level    => C_LEVEL_EXCEPTION
1121          ,p_module   => l_log_module);
1122       trace
1123          (p_msg      => 'p_token_2 = '||p_token_2
1124          ,p_level    => C_LEVEL_EXCEPTION
1125          ,p_module   => l_log_module);
1126       trace
1127          (p_msg      => 'p_value_2 = '||p_value_2
1128          ,p_level    => C_LEVEL_EXCEPTION
1129          ,p_module   => l_log_module);
1130       trace
1131          (p_msg      => 'p_token_3 = '||p_token_3
1132          ,p_level    => C_LEVEL_EXCEPTION
1133          ,p_module   => l_log_module);
1134       trace
1135          (p_msg      => 'p_value_3 = '||p_value_3
1136          ,p_level    => C_LEVEL_EXCEPTION
1137          ,p_module   => l_log_module);
1138       trace
1139          (p_msg      => 'p_token_4 = '||p_token_4
1140          ,p_level    => C_LEVEL_EXCEPTION
1141          ,p_module   => l_log_module);
1142       trace
1143          (p_msg      => 'p_value_4 = '||p_value_4
1144          ,p_level    => C_LEVEL_EXCEPTION
1145          ,p_module   => l_log_module);
1146       trace
1147          (p_msg      => 'p_token_5 = '||p_token_5
1148          ,p_level    => C_LEVEL_EXCEPTION
1149          ,p_module   => l_log_module);
1150       trace
1151          (p_msg      => 'p_value_5 = '||p_value_5
1152          ,p_level    => C_LEVEL_EXCEPTION
1153          ,p_module   => l_log_module);
1154       trace
1155          (p_msg      => 'p_entity_id = '||p_entity_id
1156          ,p_level    => C_LEVEL_EXCEPTION
1157          ,p_module   => l_log_module);
1158       trace
1159          (p_msg      => 'p_event_id = '||p_event_id
1160          ,p_level    => C_LEVEL_EXCEPTION
1161          ,p_module   => l_log_module);
1162       trace
1163          (p_msg      => 'p_ledger_id = '||p_ledger_id
1167          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1164          ,p_level    => C_LEVEL_EXCEPTION
1165          ,p_module   => l_log_module);
1166       trace
1168          ,p_level    => C_LEVEL_EXCEPTION
1169          ,p_module   => l_log_module);
1170       trace
1171          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1172          ,p_level    => C_LEVEL_EXCEPTION
1173          ,p_module   => l_log_module);
1174       trace
1175          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1176          ,p_level    => C_LEVEL_EXCEPTION
1177          ,p_module   => l_log_module);
1178    END IF;
1179 
1180    xla_exceptions_pkg.raise_message
1181        (p_location       => 'xla_accounting_err_pkg.build_message');
1182 END build_message;  -- end of procedure
1183 
1184 
1185 
1186 --=============================================================================
1187 --
1188 --
1189 --=============================================================================
1190 PROCEDURE build_message
1191        (p_appli_s_name            IN  VARCHAR2
1192        ,p_msg_name                IN  VARCHAR2
1193        ,p_token_1                 IN  VARCHAR2
1194        ,p_value_1                 IN  VARCHAR2
1195        ,p_token_2                 IN  VARCHAR2
1196        ,p_value_2                 IN  VARCHAR2
1197        ,p_token_3                 IN  VARCHAR2
1198        ,p_value_3                 IN  VARCHAR2
1199        ,p_token_4                 IN  VARCHAR2
1200        ,p_value_4                 IN  VARCHAR2
1201        ,p_token_5                 IN  VARCHAR2
1202        ,p_value_5                 IN  VARCHAR2
1203        ,p_token_6                 IN  VARCHAR2
1204        ,p_value_6                 IN  VARCHAR2
1205        ,p_entity_id               IN  NUMBER
1206        ,p_event_id                IN  NUMBER
1207        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
1208        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
1209        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
1210        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
1211 l_log_module                VARCHAR2(240);
1212 BEGIN
1213    IF g_log_enabled THEN
1214       l_log_module := C_DEFAULT_MODULE||'.build_message';
1215    END IF;
1216    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1217       trace
1218          (p_msg      => 'BEGIN of procedure BUILD_MESSAGE'
1219          ,p_level    => C_LEVEL_PROCEDURE
1220          ,p_module   => l_log_module);
1221       trace
1222          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
1223          ,p_level    => C_LEVEL_PROCEDURE
1224          ,p_module   => l_log_module);
1225       trace
1226          (p_msg      => 'p_msg_name = '||p_msg_name
1227          ,p_level    => C_LEVEL_PROCEDURE
1228          ,p_module   => l_log_module);
1229       trace
1230          (p_msg      => 'p_token_1 = '||p_token_1
1231          ,p_level    => C_LEVEL_PROCEDURE
1232          ,p_module   => l_log_module);
1233       trace
1234          (p_msg      => 'p_value_1 = '||p_value_1
1235          ,p_level    => C_LEVEL_PROCEDURE
1236          ,p_module   => l_log_module);
1237       trace
1238          (p_msg      => 'p_token_2 = '||p_token_2
1239          ,p_level    => C_LEVEL_PROCEDURE
1240          ,p_module   => l_log_module);
1241       trace
1242          (p_msg      => 'p_value_2 = '||p_value_2
1243          ,p_level    => C_LEVEL_PROCEDURE
1244          ,p_module   => l_log_module);
1245       trace
1246          (p_msg      => 'p_token_3 = '||p_token_3
1247          ,p_level    => C_LEVEL_PROCEDURE
1248          ,p_module   => l_log_module);
1249       trace
1250          (p_msg      => 'p_value_3 = '||p_value_3
1251          ,p_level    => C_LEVEL_PROCEDURE
1252          ,p_module   => l_log_module);
1253       trace
1254          (p_msg      => 'p_token_4 = '||p_token_4
1255          ,p_level    => C_LEVEL_PROCEDURE
1256          ,p_module   => l_log_module);
1257       trace
1258          (p_msg      => 'p_value_4 = '||p_value_4
1259          ,p_level    => C_LEVEL_PROCEDURE
1260          ,p_module   => l_log_module);
1261       trace
1262          (p_msg      => 'p_token_5 = '||p_token_5
1263          ,p_level    => C_LEVEL_PROCEDURE
1264          ,p_module   => l_log_module);
1265       trace
1266          (p_msg      => 'p_value_5 = '||p_value_5
1267          ,p_level    => C_LEVEL_PROCEDURE
1268          ,p_module   => l_log_module);
1269       trace
1270          (p_msg      => 'p_token_6 = '||p_token_6
1271          ,p_level    => C_LEVEL_PROCEDURE
1272          ,p_module   => l_log_module);
1273       trace
1274          (p_msg      => 'p_value_6 = '||p_value_6
1275          ,p_level    => C_LEVEL_PROCEDURE
1276          ,p_module   => l_log_module);
1277       trace
1278          (p_msg      => 'p_entity_id = '||p_entity_id
1279          ,p_level    => C_LEVEL_PROCEDURE
1280          ,p_module   => l_log_module);
1281       trace
1282          (p_msg      => 'p_event_id = '||p_event_id
1283          ,p_level    => C_LEVEL_PROCEDURE
1284          ,p_module   => l_log_module);
1285       trace
1286          (p_msg      => 'p_ledger_id = '||p_ledger_id
1287          ,p_level    => C_LEVEL_PROCEDURE
1288          ,p_module   => l_log_module);
1289       trace
1290          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1291          ,p_level    => C_LEVEL_PROCEDURE
1292          ,p_module   => l_log_module);
1293       trace
1294          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1295          ,p_level    => C_LEVEL_PROCEDURE
1296          ,p_module   => l_log_module);
1297       trace
1298          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1299          ,p_level    => C_LEVEL_PROCEDURE
1300          ,p_module   => l_log_module);
1301    END IF;
1302 
1306       ,p_token_1                       => p_token_1
1303    xla_messages_pkg.build_message
1304       (p_appli_s_name                  => p_appli_s_name
1305       ,p_msg_name                      => p_msg_name
1307       ,p_value_1                       => p_value_1
1308       ,p_token_2                       => p_token_2
1309       ,p_value_2                       => p_value_2
1310       ,p_token_3                       => p_token_3
1311       ,p_value_3                       => p_value_3
1312       ,p_token_4                       => p_token_4
1313       ,p_value_4                       => p_value_4
1314       ,p_token_5                       => p_token_5
1315       ,p_value_5                       => p_value_5
1316       ,p_token_6                       => p_token_6
1317       ,p_value_6                       => p_value_6);
1318 
1319    stack_error
1320       (p_appli_s_name                  => p_appli_s_name
1321       ,p_msg_name                      => p_msg_name
1322       ,p_entity_id                     => p_entity_id
1323       ,p_event_id                      => p_event_id
1324       ,p_ledger_id                     => p_ledger_id
1325       ,p_ae_header_id                  => p_ae_header_id
1326       ,p_ae_line_num                   => p_ae_line_num
1327       ,p_accounting_batch_id           => p_accounting_batch_id);
1328 
1329    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1330       trace
1331          (p_msg      => 'END of procedure BUILD_MESSAGE'
1332          ,p_level    => C_LEVEL_PROCEDURE
1333          ,p_module   => l_log_module);
1334    END IF;
1335 EXCEPTION
1336 WHEN xla_exceptions_pkg.application_exception THEN
1337    RAISE;
1338 WHEN OTHERS THEN
1339    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
1340       trace
1341          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
1342          ,p_level    => C_LEVEL_EXCEPTION
1343          ,p_module   => l_log_module);
1344       trace
1345          (p_msg      => 'p_msg_name = '||p_msg_name
1346          ,p_level    => C_LEVEL_EXCEPTION
1347          ,p_module   => l_log_module);
1348       trace
1349          (p_msg      => 'p_token_1 = '||p_token_1
1350          ,p_level    => C_LEVEL_EXCEPTION
1351          ,p_module   => l_log_module);
1352       trace
1353          (p_msg      => 'p_value_1 = '||p_value_1
1354          ,p_level    => C_LEVEL_EXCEPTION
1355          ,p_module   => l_log_module);
1356       trace
1357          (p_msg      => 'p_token_2 = '||p_token_2
1358          ,p_level    => C_LEVEL_EXCEPTION
1359          ,p_module   => l_log_module);
1360       trace
1361          (p_msg      => 'p_value_2 = '||p_value_2
1362          ,p_level    => C_LEVEL_EXCEPTION
1363          ,p_module   => l_log_module);
1364       trace
1365          (p_msg      => 'p_token_3 = '||p_token_3
1366          ,p_level    => C_LEVEL_EXCEPTION
1367          ,p_module   => l_log_module);
1368       trace
1369          (p_msg      => 'p_value_3 = '||p_value_3
1370          ,p_level    => C_LEVEL_EXCEPTION
1371          ,p_module   => l_log_module);
1372       trace
1373          (p_msg      => 'p_token_4 = '||p_token_4
1374          ,p_level    => C_LEVEL_EXCEPTION
1375          ,p_module   => l_log_module);
1376       trace
1377          (p_msg      => 'p_value_4 = '||p_value_4
1378          ,p_level    => C_LEVEL_EXCEPTION
1379          ,p_module   => l_log_module);
1380       trace
1381          (p_msg      => 'p_token_5 = '||p_token_5
1382          ,p_level    => C_LEVEL_EXCEPTION
1383          ,p_module   => l_log_module);
1384       trace
1385          (p_msg      => 'p_value_5 = '||p_value_5
1386          ,p_level    => C_LEVEL_EXCEPTION
1387          ,p_module   => l_log_module);
1388       trace
1389          (p_msg      => 'p_token_6 = '||p_token_6
1390          ,p_level    => C_LEVEL_EXCEPTION
1391          ,p_module   => l_log_module);
1392       trace
1393          (p_msg      => 'p_value_6 = '||p_value_6
1394          ,p_level    => C_LEVEL_EXCEPTION
1395          ,p_module   => l_log_module);
1396       trace
1397          (p_msg      => 'p_entity_id = '||p_entity_id
1398          ,p_level    => C_LEVEL_EXCEPTION
1399          ,p_module   => l_log_module);
1400       trace
1401          (p_msg      => 'p_event_id = '||p_event_id
1402          ,p_level    => C_LEVEL_EXCEPTION
1403          ,p_module   => l_log_module);
1404       trace
1405          (p_msg      => 'p_ledger_id = '||p_ledger_id
1406          ,p_level    => C_LEVEL_EXCEPTION
1407          ,p_module   => l_log_module);
1408       trace
1409          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1410          ,p_level    => C_LEVEL_EXCEPTION
1411          ,p_module   => l_log_module);
1412       trace
1413          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1414          ,p_level    => C_LEVEL_EXCEPTION
1415          ,p_module   => l_log_module);
1416       trace
1417          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1418          ,p_level    => C_LEVEL_EXCEPTION
1419          ,p_module   => l_log_module);
1420    END IF;
1421 
1422    xla_exceptions_pkg.raise_message
1423        (p_location       => 'xla_accounting_err_pkg.build_message');
1424 END build_message;  -- end of procedure
1425 
1426 
1427 --=============================================================================
1428 --
1429 --
1430 --=============================================================================
1431 FUNCTION get_total_error_count
1432 RETURN NUMBER IS
1433 l_total_error_count         NUMBER;
1434 l_log_module                VARCHAR2(240);
1435 BEGIN
1436    IF g_log_enabled THEN
1437       l_log_module := C_DEFAULT_MODULE||'.get_total_error_count';
1438    END IF;
1439    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1440       trace
1441          (p_msg      => 'BEGIN of function GET_TOTAL_ERROR_COUNT'
1445 
1442          ,p_level    => C_LEVEL_PROCEDURE
1443          ,p_module   => l_log_module);
1444    END IF;
1446    l_total_error_count := NVL(xla_context_pkg.get_acct_err_context, 0);
1447 
1448    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1449       trace
1450          (p_msg      => 'RETURN value l_total_error_count = '||l_total_error_count
1451          ,p_level    => C_LEVEL_PROCEDURE
1452          ,p_module   => l_log_module);
1453       trace
1454          (p_msg      => 'END of function GET_TOTAL_ERROR_COUNT'
1455          ,p_level    => C_LEVEL_PROCEDURE
1456          ,p_module   => l_log_module);
1457    END IF;
1458 
1459    RETURN l_total_error_count;
1460 EXCEPTION
1461 WHEN xla_exceptions_pkg.application_exception THEN
1462    RAISE;
1463 WHEN OTHERS THEN
1464    xla_exceptions_pkg.raise_message
1465        (p_location       => 'xla_accounting_err_pkg.get_total_error_count');
1466 END get_total_error_count; -- end of function
1467 
1468 
1469 --=============================================================================
1470 --
1471 --
1472 --=============================================================================
1473 
1474 PROCEDURE initialize
1475        (p_client_id               IN  VARCHAR2 DEFAULT NULL
1476        ,p_error_limit             IN  NUMBER   DEFAULT NULL
1477        ,p_error_source            IN  VARCHAR2 DEFAULT NULL
1478        ,p_request_id              IN  NUMBER   DEFAULT NULL
1479        ,p_application_id          IN  NUMBER   DEFAULT NULL) IS
1480 l_log_module                VARCHAR2(240);
1481 BEGIN
1482    IF g_log_enabled THEN
1483       l_log_module := C_DEFAULT_MODULE||'.initialize';
1484    END IF;
1485    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1486       trace
1487          (p_msg      => 'BEGIN of procedure INITIALIZE'
1488          ,p_level    => C_LEVEL_PROCEDURE
1489          ,p_module   => l_log_module);
1490       trace
1491          (p_msg      => 'p_client_id = '||p_client_id
1492          ,p_level    => C_LEVEL_PROCEDURE
1493          ,p_module   => l_log_module);
1494       trace
1495          (p_msg      => 'p_error_limit = '||p_error_limit
1496          ,p_level    => C_LEVEL_PROCEDURE
1497          ,p_module   => l_log_module);
1498       trace
1499          (p_msg      => 'p_error_source = '||p_error_source
1500          ,p_level    => C_LEVEL_PROCEDURE
1501          ,p_module   => l_log_module);
1502       trace
1503          (p_msg      => 'p_request_id = '||p_request_id
1504          ,p_level    => C_LEVEL_PROCEDURE
1505          ,p_module   => l_log_module);
1506       trace
1507          (p_msg      => 'p_application_id = '||p_application_id
1508          ,p_level    => C_LEVEL_PROCEDURE
1509          ,p_module   => l_log_module);
1510    END IF;
1511 
1512    g_client_id       := p_client_id;
1513    g_error_limit     := p_error_limit;
1514    g_error_source    := p_error_source;
1515    g_request_id      := NVL(p_request_id,NVL(g_request_id,xla_environment_pkg.g_req_id));
1516    g_application_id  := NVL(p_application_id,NVL(g_application_id,fnd_profile.value('RESP_APPL_ID')));
1517    g_error_count     := 0;
1518    g_warning_count   := 0;
1519 
1520    reset;
1521 
1522    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1523       trace
1524          (p_msg      => 'END of procedure INITIALIZE'
1525          ,p_level    => C_LEVEL_PROCEDURE
1526          ,p_module   => l_log_module);
1527    END IF;
1528 EXCEPTION
1529 WHEN xla_exceptions_pkg.application_exception THEN
1530    RAISE;
1531 WHEN OTHERS THEN
1532    xla_exceptions_pkg.raise_message
1533        (p_location       => 'xla_accounting_err_pkg.initialize');
1534 END initialize;  -- end of procedure
1535 
1536 
1537 --=============================================================================
1538 --
1539 -- Following inserts the stacked errors into the error table in the database.
1540 -- Once the errors have been inserted it calls the "reset"
1541 --
1542 --=============================================================================
1543 
1544 PROCEDURE insert_errors IS
1545 l_log_module                VARCHAR2(240);
1546 BEGIN
1547    IF g_log_enabled THEN
1548       l_log_module := C_DEFAULT_MODULE||'.insert_errors';
1549    END IF;
1550    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1551       trace
1552          (p_msg      => 'BEGIN of procedure INSERT_ERRORS'
1553          ,p_level    => C_LEVEL_PROCEDURE
1554          ,p_module   => l_log_module);
1555    END IF;
1556 
1557    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1558       trace
1559          (p_msg      => 'Count of Error Messages in the stack = '||g_error_index
1560          ,p_level    => C_LEVEL_STATEMENT
1561          ,p_module   => l_log_module);
1562    END IF;
1563 
1564    IF g_error_index > 0 THEN
1565       FOR i IN g_accounting_errors.FIRST..g_accounting_errors.LAST LOOP
1566          INSERT INTO xla_accounting_errors
1567                         (accounting_error_id
1568                         ,application_id
1569                         ,event_id
1570                         ,entity_id
1571                         ,ledger_id
1572                         ,ae_header_id
1573                         ,ae_line_num
1574                         ,accounting_batch_id
1575                         ,message_number
1576                         ,encoded_msg
1577                         ,error_source_code
1578                         ,created_by
1579                         ,creation_date
1580                         ,last_update_date
1581                         ,last_updated_by
1582                         ,last_update_login
1583                         ,program_update_date
1587                  VALUES (xla_accounting_errors_s.nextval
1584                         ,program_application_id
1585                         ,program_id
1586                         ,request_id)
1588                         ,g_accounting_errors(i).application_id
1589                         ,g_accounting_errors(i).event_id
1590                         ,g_accounting_errors(i).entity_id
1591                         ,g_accounting_errors(i).ledger_id
1592                         ,g_accounting_errors(i).ae_header_id
1593                         ,g_accounting_errors(i).ae_line_num
1594                         ,g_accounting_errors(i).accounting_batch_id
1595                         ,g_accounting_errors(i).message_number
1596                         ,g_accounting_errors(i).encoded_msg
1597                         ,g_accounting_errors(i).error_source_code
1598                         ,xla_environment_pkg.g_usr_id
1599                         ,sysdate
1600                         ,sysdate
1601                         ,xla_environment_pkg.g_usr_id
1602                         ,xla_environment_pkg.g_login_id
1603                         ,NULL
1604                         ,xla_environment_pkg.g_prog_appl_id
1605                         ,xla_environment_pkg.g_prog_id
1606                         ,g_accounting_errors(i).request_id);
1607       END LOOP;
1608    END IF;
1609 
1610    ----------------------------------------------------------------------------
1611    -- call to reset is made to clear the pl/sql array
1612    ----------------------------------------------------------------------------
1613    reset;
1614 
1615    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1616       trace
1617          (p_msg      => 'END of procedure INSERT_ERRORS'
1618          ,p_level    => C_LEVEL_PROCEDURE
1619          ,p_module   => l_log_module);
1620    END IF;
1621 EXCEPTION
1622 WHEN xla_exceptions_pkg.application_exception THEN
1623    RAISE;
1624 WHEN OTHERS THEN
1625    xla_exceptions_pkg.raise_message
1626        (p_location       => 'xla_accounting_err_pkg.insert_errors');
1627 END insert_errors;  -- end of procedure
1628 
1629 
1630 
1631 --=============================================================================
1632 --
1633 --
1634 --
1635 --=============================================================================
1636 
1637 PROCEDURE set_options
1638        (p_error_source            IN  VARCHAR2 DEFAULT NULL
1639        ,p_request_id              IN  NUMBER   DEFAULT NULL
1640        ,p_application_id          IN  NUMBER   DEFAULT NULL) IS
1641 l_log_module                VARCHAR2(240);
1642 BEGIN
1643    IF g_log_enabled THEN
1644       l_log_module := C_DEFAULT_MODULE||'.set_options';
1645    END IF;
1646    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1647       trace
1648          (p_msg      => 'BEGIN of procedure SET_OPTIONS'
1649          ,p_level    => C_LEVEL_PROCEDURE
1650          ,p_module   => l_log_module);
1651       trace
1652          (p_msg      => 'p_error_source = '||p_error_source
1653          ,p_level    => C_LEVEL_PROCEDURE
1654          ,p_module   => l_log_module);
1655       trace
1656          (p_msg      => 'p_request_id = '||p_request_id
1657          ,p_level    => C_LEVEL_PROCEDURE
1658          ,p_module   => l_log_module);
1659       trace
1660          (p_msg      => 'p_application_id = '||p_application_id
1661          ,p_level    => C_LEVEL_PROCEDURE
1662          ,p_module   => l_log_module);
1663    END IF;
1664 
1665    g_error_source    := NVL(p_error_source, g_error_source);
1666    g_request_id      := NVL(p_request_id, g_request_id);
1667    g_application_id  := NVL(p_application_id, g_application_id);
1668 
1669    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1670       trace
1671          (p_msg      => 'g_error_source = '||g_error_source
1672          ,p_level    => C_LEVEL_STATEMENT
1673          ,p_module   => l_log_module);
1674       trace
1675          (p_msg      => 'g_request_id = '||g_request_id
1676          ,p_level    => C_LEVEL_STATEMENT
1677          ,p_module   => l_log_module);
1678       trace
1679          (p_msg      => 'g_application_id = '||g_application_id
1680          ,p_level    => C_LEVEL_STATEMENT
1681          ,p_module   => l_log_module);
1682    END IF;
1683 
1684    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1685       trace
1686          (p_msg      => 'END of procedure SET_OPTIONS'
1687          ,p_level    => C_LEVEL_PROCEDURE
1688          ,p_module   => l_log_module);
1689    END IF;
1690 EXCEPTION
1691 WHEN xla_exceptions_pkg.application_exception THEN
1692    RAISE;
1693 WHEN OTHERS THEN
1694    xla_exceptions_pkg.raise_message
1695        (p_location       => 'xla_accounting_err_pkg.set_options');
1696 END set_options;  -- end of procedure
1697 
1698 
1699 
1700 --=============================================================================
1701 --          *********** private procedures and functions **********
1702 --=============================================================================
1703 --=============================================================================
1704 --
1705 --
1706 --
1707 --
1708 --
1709 --
1710 --
1711 --
1712 --
1713 --
1714 -- Following are the private routines:
1715 --
1716 --    1.    stack_error
1717 --    2.    reset
1718 --
1719 --
1720 --
1721 --
1722 --
1723 --
1724 --
1725 --
1726 --
1727 --
1728 --
1729 --=============================================================================
1730 
1731 --=============================================================================
1732 --
1733 -- stack_error procedure, when called, reads the message from the fnd's message
1734 -- stack and stores it in a pl/sql array. It assumes that all the errors for
1735 -- an event are stacked before stacking errors for another event.
1736 --
1737 --=============================================================================
1738 
1739 PROCEDURE stack_error
1740        (p_appli_s_name            IN  VARCHAR2
1741        ,p_msg_name                IN  VARCHAR2
1742        ,p_entity_id               IN  NUMBER
1743        ,p_event_id                IN  NUMBER
1744        ,p_ledger_id               IN  NUMBER   DEFAULT NULL
1745        ,p_ae_header_id            IN  NUMBER   DEFAULT NULL
1746        ,p_ae_line_num             IN  NUMBER   DEFAULT NULL
1747        ,p_accounting_batch_id     IN  NUMBER   DEFAULT NULL) IS
1748 l_encoded_msg               VARCHAR2(2000);
1749 l_msg_number                NUMBER;
1750 l_ntemp                     NUMBER;
1751 l_log_module                VARCHAR2(240);
1752 BEGIN
1753    IF g_log_enabled THEN
1754       l_log_module := C_DEFAULT_MODULE||'.stack_error';
1755    END IF;
1759          ,p_level    => C_LEVEL_PROCEDURE
1756    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1757       trace
1758          (p_msg      => 'BEGIN of procedure STACK_ERROR'
1760          ,p_module   => l_log_module);
1761       trace
1762          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
1763          ,p_level    => C_LEVEL_PROCEDURE
1764          ,p_module   => l_log_module);
1765       trace
1766          (p_msg      => 'p_msg_name = '||p_msg_name
1767          ,p_level    => C_LEVEL_PROCEDURE
1768          ,p_module   => l_log_module);
1769       trace
1770          (p_msg      => 'p_entity_id = '||p_entity_id
1771          ,p_level    => C_LEVEL_PROCEDURE
1772          ,p_module   => l_log_module);
1773       trace
1774          (p_msg      => 'p_event_id = '||p_event_id
1775          ,p_level    => C_LEVEL_PROCEDURE
1776          ,p_module   => l_log_module);
1777       trace
1778          (p_msg      => 'p_ledger_id = '||p_ledger_id
1779          ,p_level    => C_LEVEL_PROCEDURE
1780          ,p_module   => l_log_module);
1781       trace
1782          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1783          ,p_level    => C_LEVEL_PROCEDURE
1784          ,p_module   => l_log_module);
1785       trace
1786          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1787          ,p_level    => C_LEVEL_PROCEDURE
1788          ,p_module   => l_log_module);
1789       trace
1790          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1791          ,p_level    => C_LEVEL_PROCEDURE
1792          ,p_module   => l_log_module);
1793    END IF;
1794 
1795    ----------------------------------------------------------------------------
1796    -- Store error message in plsql array
1797    -- Error messages are stored in 'encoded' form as retrived using fnd_message
1798    -- API.
1799    -- This has changed bug # 3113574. Now, the error message is not stored as
1800    -- encoded but as translated message.
1801    ----------------------------------------------------------------------------
1802    l_msg_number := fnd_message.get_number
1803                       (p_appli_s_name
1804                       ,p_msg_name);
1805    l_msg_number := NVL(l_msg_number, -1);
1806 
1807    IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1808       trace
1809          (p_msg      => 'l_msg_number = '||l_msg_number
1810          ,p_level    => C_LEVEL_STATEMENT
1811          ,p_module   => l_log_module);
1812    END IF;
1813 
1814    --l_encoded_msg := fnd_message.get_encoded;
1815    l_encoded_msg := fnd_message.get();
1816 
1817    g_error_index  := g_error_index + 1;
1818    g_error_count  := g_error_count + 1;
1819 
1820    IF (p_msg_name IN ('XLA_BC_ADVISORY_HDR',  'XLA_BC_PARTIAL_HDR',
1821                       'XLA_BC_ADVISORY_LINE', 'XLA_BC_PARTIAL_LINE')) THEN
1822      g_warning_count := g_warning_count + 1;
1823    END IF;
1824 
1825    g_accounting_errors(g_error_index).application_id      := g_application_id;
1826    g_accounting_errors(g_error_index).event_id            := p_event_id;
1827    g_accounting_errors(g_error_index).entity_id           := p_entity_id;
1828    g_accounting_errors(g_error_index).ledger_id           := p_ledger_id;
1832    g_accounting_errors(g_error_index).message_number      := l_msg_number;
1829    g_accounting_errors(g_error_index).ae_header_id        := p_ae_header_id;
1830    g_accounting_errors(g_error_index).ae_line_num         := p_ae_line_num;
1831    g_accounting_errors(g_error_index).accounting_batch_id := p_accounting_batch_id;
1833    g_accounting_errors(g_error_index).encoded_msg         := l_encoded_msg;
1834    g_accounting_errors(g_error_index).error_source_code   := g_error_source;
1835    g_accounting_errors(g_error_index).request_id          := g_request_id;
1836 
1837    -------------------------------------------------------------------------
1838    -- In batch mode count of errors for a ledger are stored in a
1839    -- global context. Following updates the value in the global context.
1840    -------------------------------------------------------------------------
1841    IF g_client_id IS NOT NULL THEN
1842       l_ntemp := NVL(xla_context_pkg.get_acct_err_context, 0) + 1;
1843 
1844       xla_context_pkg.set_acct_err_context
1845          (p_error_count            => l_ntemp
1846          ,p_client_id              => g_client_id);
1847    END IF;
1848 
1849    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1850       trace
1851          (p_msg      => 'END of procedure STACK_ERROR'
1852          ,p_level    => C_LEVEL_PROCEDURE
1853          ,p_module   => l_log_module);
1854    END IF;
1855 EXCEPTION
1856 WHEN xla_exceptions_pkg.application_exception THEN
1857    RAISE;
1858 WHEN OTHERS THEN
1859    IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
1860       trace
1861          (p_msg      => 'p_appli_s_name = '||p_appli_s_name
1862          ,p_level    => C_LEVEL_EXCEPTION
1863          ,p_module   => l_log_module);
1864       trace
1865          (p_msg      => 'p_msg_name = '||p_msg_name
1866          ,p_level    => C_LEVEL_EXCEPTION
1867          ,p_module   => l_log_module);
1868       trace
1869          (p_msg      => 'p_entity_id = '||p_entity_id
1870          ,p_level    => C_LEVEL_EXCEPTION
1871          ,p_module   => l_log_module);
1872       trace
1873          (p_msg      => 'p_event_id = '||p_event_id
1874          ,p_level    => C_LEVEL_EXCEPTION
1875          ,p_module   => l_log_module);
1876       trace
1877          (p_msg      => 'p_ledger_id = '||p_ledger_id
1878          ,p_level    => C_LEVEL_EXCEPTION
1879          ,p_module   => l_log_module);
1880       trace
1881          (p_msg      => 'p_ae_header_id = '||p_ae_header_id
1882          ,p_level    => C_LEVEL_EXCEPTION
1883          ,p_module   => l_log_module);
1884       trace
1885          (p_msg      => 'p_ae_line_num = '||p_ae_line_num
1886          ,p_level    => C_LEVEL_EXCEPTION
1887          ,p_module   => l_log_module);
1888       trace
1889          (p_msg      => 'p_accounting_batch_id = '||p_accounting_batch_id
1890          ,p_level    => C_LEVEL_EXCEPTION
1891          ,p_module   => l_log_module);
1892       trace
1893          (p_msg      => 'g_error_count = '||g_error_count
1894          ,p_level    => C_LEVEL_EXCEPTION
1895          ,p_module   => l_log_module);
1896       trace
1897          (p_msg      => 'g_warning_count = '||g_warning_count
1898          ,p_level    => C_LEVEL_EXCEPTION
1899          ,p_module   => l_log_module);
1900       trace
1901          (p_msg      => 'g_client_id = '||g_client_id
1902          ,p_level    => C_LEVEL_EXCEPTION
1903          ,p_module   => l_log_module);
1904       trace
1905          (p_msg      => 'l_msg_number = '||l_msg_number
1906          ,p_level    => C_LEVEL_EXCEPTION
1907          ,p_module   => l_log_module);
1908       trace
1909          (p_msg      => 'g_error_index = '||g_error_index
1910          ,p_level    => C_LEVEL_EXCEPTION
1911          ,p_module   => l_log_module);
1912    END IF;
1913 
1914    xla_exceptions_pkg.raise_message
1915        (p_location       => 'xla_accounting_err_pkg.stack_error');
1916 END stack_error;  -- end of procedure
1917 
1918 
1919 
1920 --=============================================================================
1921 --
1922 -- reset procedure reinitializes the pl/sql array in which errors are stacked
1923 -- in the memmory.
1924 --
1925 --=============================================================================
1926 
1927 PROCEDURE reset IS
1928 l_log_module                VARCHAR2(240);
1929 BEGIN
1930    IF g_log_enabled THEN
1931       l_log_module := C_DEFAULT_MODULE||'.reset';
1932    END IF;
1933    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1934       trace
1935          (p_msg      => 'BEGIN of procedure RESET'
1936          ,p_level    => C_LEVEL_PROCEDURE
1937          ,p_module   => l_log_module);
1938    END IF;
1939 
1940    g_error_index := 0;
1941    g_accounting_errors.DELETE;
1942 
1943    IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1947          ,p_module   => l_log_module);
1944       trace
1945          (p_msg      => 'END of procedure RESET'
1946          ,p_level    => C_LEVEL_PROCEDURE
1948    END IF;
1949 EXCEPTION
1950 WHEN xla_exceptions_pkg.application_exception THEN
1951    RAISE;
1952 WHEN OTHERS THEN
1953    xla_exceptions_pkg.raise_message
1954        (p_location       => 'xla_accounting_err_pkg.reset');
1955 END reset;  -- end of procedure
1956 
1957 
1958 --=============================================================================
1959 --          *********** Initialization routine **********
1960 --=============================================================================
1961 
1962 --=============================================================================
1963 --
1964 --
1965 --
1966 --
1967 --
1968 --
1969 --
1970 --
1971 --
1972 --
1973 -- Following code is executed when the package body is referenced for the first
1974 -- time
1975 --
1976 --
1977 --
1978 --
1979 --
1980 --
1981 --
1982 --
1983 --
1984 --
1985 --
1986 --
1987 --=============================================================================
1988 
1989 BEGIN
1990    g_log_level      := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
1991    g_log_enabled    := fnd_log.test
1992                           (log_level  => g_log_level
1993                           ,module     => C_DEFAULT_MODULE);
1994 
1995    IF NOT g_log_enabled  THEN
1996       g_log_level := C_LEVEL_LOG_DISABLED;
1997    END IF;
1998    initialize;
1999 
2000 END xla_accounting_err_pkg;