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