DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_CREATE_ACCTING_SRS

Source


1 PACKAGE BODY ar_create_accting_srs AS
2 /*$Header: ARSACCTB.pls 120.10.12000000.2 2007/08/22 13:24:16 sgnagara ship $*/
3 
4 g_exec_status      VARCHAR2(1) := fnd_api.G_RET_STS_SUCCESS;
5 
6 g_xla_run          VARCHAR2(1) := 'Y';
7 --Local procedures
8 PROCEDURE log(
9    message       IN VARCHAR2,
10    newline       IN BOOLEAN DEFAULT TRUE) IS
11 BEGIN
12   IF message = 'NEWLINE' THEN
13    FND_FILE.NEW_LINE(FND_FILE.LOG, 1);
14   ELSIF (newline) THEN
15     FND_FILE.put_line(fnd_file.log,message);
16   ELSE
17     FND_FILE.put(fnd_file.log,message);
18   END IF;
19 END log;
20 
21 PROCEDURE out(
22    message      IN      VARCHAR2,
23    newline      IN      BOOLEAN DEFAULT TRUE) IS
24 BEGIN
25   IF message = 'NEWLINE' THEN
26    FND_FILE.NEW_LINE(FND_FILE.output, 1);
27   ELSIF (newline) THEN
28     FND_FILE.put_line(fnd_file.output,message);
29   ELSE
30     FND_FILE.put(fnd_file.output,message);
31   END IF;
32 END out;
33 
34 PROCEDURE outandlog(
35    message      IN      VARCHAR2,
36    newline      IN      BOOLEAN DEFAULT TRUE) IS
37 BEGIN
38   out(message, newline);
39   log(message, newline);
40 END outandlog;
41 
42 FUNCTION logerror(SQLERRM VARCHAR2 DEFAULT NULL)
43 RETURN VARCHAR2 IS
44   l_msg_data VARCHAR2(2000);
45 BEGIN
46   FND_MSG_PUB.Reset;
47 
48   FOR I IN 1..FND_MSG_PUB.Count_Msg LOOP
49     l_msg_data := l_msg_data || FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE );
50   END LOOP;
51   IF (SQLERRM IS NOT NULL) THEN
52     l_msg_data := l_msg_data || SQLERRM;
53   END IF;
54   log(l_msg_data);
55   RETURN l_msg_data;
56 END logerror;
57 
58 PROCEDURE revrec_per_org
59 (p_report_mode    IN  VARCHAR2 := 'S',
60  p_max_workers    IN  NUMBER := 2,
61  p_interval       IN  NUMBER := 60,
62  p_max_wait       IN  NUMBER := 180,
63  p_org_id         IN  NUMBER,
64  x_out_request_id OUT NOCOPY NUMBER)
65 IS
66  revrec_sub_pb    EXCEPTION;
67 BEGIN
68   outandlog('Submitting Revenue Recognition ARTERRPM for Org_id:'||p_org_id);
69   FND_REQUEST.SET_ORG_ID(p_org_id);
70   x_out_request_id := FND_REQUEST.SUBMIT_REQUEST(
71                          application=>'AR',
72                          program=>'ARTERRPM',
73                          sub_request=>FALSE,
74                          argument1=> p_report_mode,
75                          argument2=> p_max_workers,
76                          argument3=> p_interval,
77                          argument4=> p_max_wait,
78                          argument5=> p_org_id );
79   IF x_out_request_id <> 0 THEN
80      outandlog('Revenue Recognition submitted for Org_id:'||p_org_id||' by the request '||x_out_request_id);
81      INSERT INTO ar_submission_ctrl_gt
82      (worker_id         , --org_id
83       batch_id          , --batch_id
84       script_name       , --script_name
85       status            , --
86       order_num         , --order helper number
87       request_id        , --request_id
88       table_name        ) --table_name
89       VALUES
90      (p_org_id,
91       NULL,
92       'ARTERRPM',
93       'SUBMITTED',
94       1,
95       x_out_request_id,
96       'REVREC');
97      COMMIT;
98   ELSE
99      RAISE revrec_sub_pb;
100   END IF;
101 EXCEPTION
102   WHEN revrec_sub_pb THEN
103      log(logerror(SQLERRM));
104   WHEN OTHERS THEN
105      log(logerror(SQLERRM));
106 END;
107 
108 
109 PROCEDURE rev_contigency_per_org
110 (p_org_id         IN NUMBER,
111  x_out_request_id OUT NOCOPY NUMBER)
112 IS
113   rev_contingency_sub_pb  EXCEPTION;
114 BEGIN
115   outandlog('submit_rev_contigency for org_id :'||p_org_id);
116   FND_REQUEST.SET_ORG_ID(p_org_id);
117 
118   IF (ar_revenue_management_pvt.revenue_management_enabled) THEN
119 
120   x_out_request_id := FND_REQUEST.SUBMIT_REQUEST(
121                          application=>'AR',
122                          program=>'ARREVSWP',
123                          sub_request=>FALSE,
124                          argument1 =>p_org_id);
125   IF x_out_request_id <> 0 THEN
126      outandlog('submit_rev_contigency for org_id :'||p_org_id||' has submitted the request :'||x_out_request_id);
127      INSERT INTO ar_submission_ctrl_gt
128      (worker_id         , --org_id
129       batch_id          , --batch_id
130       script_name       , --script_name
131       status            , --
132       order_num         , --order helper number
133       request_id        , --request_id
134       table_name        ) --table_name
135       VALUES
136      (p_org_id,
137       NULL,
138       'ARREVSWP',
139       'SUBMITTED',
140       2,
141       x_out_request_id,
142       'REVCONTEN');
143      COMMIT;
144   ELSE
145      RAISE rev_contingency_sub_pb;
146   END IF;
147 
148   END IF;
149 EXCEPTION
150   WHEN rev_contingency_sub_pb THEN
151      log(logerror(SQLERRM));
152   WHEN OTHERS THEN
153      log(logerror(SQLERRM));
154 END;
155 
156 
157 PROCEDURE sla_create_accounting
158 (p_request_id     IN  NUMBER   DEFAULT NULL
159 ,p_entity_id      IN  NUMBER   DEFAULT NULL
160 ,p_src_app        IN  NUMBER   DEFAULT NULL
161 ,p_app            IN  NUMBER   DEFAULT NULL
162 ,p_dummy_param0   IN  VARCHAR2 DEFAULT NULL
163 ,p_ledger         IN  NUMBER
164 ,p_proc_categ     IN  VARCHAR2 DEFAULT NULL
165 ,p_end_date       IN  DATE
166 ,p_create_acct    IN  VARCHAR2
167 ,p_dummy_param1   IN  VARCHAR2 DEFAULT NULL
168 ,p_acct_mode      IN  VARCHAR2
169 ,p_dummy_param2   IN  VARCHAR2 DEFAULT NULL
170 ,p_errors_only    IN  VARCHAR2
171 ,p_report         IN  VARCHAR2
172 ,p_transf_gl      IN  VARCHAR2
173 ,p_dummy_param3   IN  VARCHAR2 DEFAULT NULL
174 ,p_post_to_gl     IN  VARCHAR2
175 ,p_gl_batch_name  IN  VARCHAR2 DEFAULT NULL
176 ,p_mixed_currency IN  NUMBER   DEFAULT NULL
177 ,p_val_meth       IN  VARCHAR2 DEFAULT NULL
178 ,p_sec_id_int_1   IN  NUMBER   DEFAULT NULL
179 ,p_sec_id_int_2   IN  NUMBER   DEFAULT NULL
180 ,p_sec_id_int_3   IN  NUMBER   DEFAULT NULL
181 ,p_sec_id_char_1  IN  VARCHAR2 DEFAULT NULL
182 ,p_sec_id_char_2  IN  VARCHAR2 DEFAULT NULL
183 ,p_sec_id_char_3  IN  VARCHAR2 DEFAULT NULL
184 --BUG#5391740
185 ,p_include_user_trx_id_flag     IN VARCHAR2 DEFAULT 'N'
186 ,p_include_user_trx_identifiers IN VARCHAR2 DEFAULT NULL
187 ,p_debug_flag                   IN VARCHAR2 DEFAULT NULL
188 )
189 IS
190  CURSOR c_app_name(p_app_id  IN NUMBER) IS
191   SELECT application_name
192     FROM FND_APPLICATION_VL FVL
193    WHERE application_id = p_src_app;
194 
195  CURSOR c_ledger_name(p_ledger_id  IN NUMBER) IS
196   SELECT name
197     FROM gl_ledgers
198    WHERE ledger_id = p_ledger_id;
199 
200  CURSOR c_valid_date(p_ledger_id IN VARCHAR2,
201                      p_date      IN DATE) IS
202   SELECT 'Y'
203     FROM gl_period_statuses  glp
204    WHERE glp.application_id  = 222
205      AND p_date     BETWEEN glp.start_date AND glp.end_date
206      AND glp.set_of_books_id = p_ledger
207      AND glp.closing_status  IN ('O','F');
208 
209  l_res                 VARCHAr2(1);
210  l_iso_language        VARCHAR2(30);
211  l_iso_territory       VARCHAR2(30);
212  l_bool                BOOLEAN;
213  l_request_id          NUMBER;
214  l_src_app             VARCHAR2(240);
215  l_app                 VARCHAR2(240);
216  l_ledger_name         VARCHAR2(30);
217  x_msg_count           NUMBER;
218  x_msg_data            VARCHAR2(2000);
219  create_acct_sub_pb    EXCEPTION;
220  accting_date_pb       EXCEPTION;
221 BEGIN
222   outandlog('sla_create_accounting for the ledger: '||p_ledger);
223 
224 /*BUG#5687816 -- Remove the verification to AR accounting period status
225   IF  p_acct_mode = 'F' THEN
226     log('ledger_id:'||p_ledger);
227     log('End Date :'||p_end_date);
228     OPEN c_valid_date(p_ledger_id => p_ledger,
229                       p_date      => p_end_date);
230     FETCH c_valid_date INTO l_res;
231     IF c_valid_date%NOTFOUND THEN
232        FND_MSG_PUB.initialize;
233        FND_MESSAGE.SET_NAME('AR','AR_ACCT_PERIOD_NOT_OPEN');
234        FND_MSG_PUB.ADD;
235        RAISE accting_date_pb;
236    END IF;
237   END IF;
238 */
239 
240   OPEN c_app_name(p_src_app);
241   FETCH c_app_name INTO l_src_app;
242   CLOSE c_app_name;
243 
244   OPEN c_app_name(p_app);
245   FETCH c_app_name INTO l_app;
246   CLOSE c_app_name;
247 
248   OPEN c_ledger_name(p_ledger);
249   FETCH c_ledger_name INTO l_ledger_name;
250   CLOSE c_ledger_name;
251 
252   SELECT lower(iso_language),iso_territory
253     INTO   l_iso_language,
254            l_iso_territory
255     FROM   FND_LANGUAGES
256    WHERE  language_code = USERENV('LANG');
257 
258 
259   l_bool := fnd_request.add_layout
260            (template_appl_name => 'XLA',
261 			template_code      => 'XLAACCPB01',
262 			template_language  => l_iso_language,
263  			template_territory => l_iso_territory,
264 			output_format      => 'PDF');
265 
266   l_request_id := FND_REQUEST.SUBMIT_REQUEST(
267                          application=>'XLA',
268                          program=>'XLAACCPB',
269                          sub_request=>FALSE,
270                          argument1 =>p_src_app,
271                          argument2 =>p_app,
272                          argument3 =>p_dummy_param0,
273                          argument4 =>p_ledger,
274                          argument5 =>p_proc_categ,
275                          argument6 =>fnd_date.date_to_canonical(p_end_date),
276                          argument7 =>p_create_acct,
277                          argument8 =>p_dummy_param1,
278                          argument9 =>p_acct_mode,
279                          argument10=>p_dummy_param2,
280                          argument11=>p_errors_only,
281                          argument12=>p_report,
282                          argument13=>p_transf_gl,
283                          argument14=>p_dummy_param3,
284                          argument15=>p_post_to_gl,
285                          argument16=>p_gl_batch_name,
286                          argument17=>p_mixed_currency,
287                          argument18=>'N',
288                          argument19=>p_request_id,
289                          argument20=>p_entity_id,
290                          argument21=>l_src_app,
291                          argument22=>l_app,
292                          argument23=>l_ledger_name,
293                          argument24=>p_proc_categ,
294                          argument25=>p_create_acct,
295                          argument26=>'',
296                          argument27=>p_errors_only,
297                          argument28=>p_report,
298                          argument29=>p_transf_gl,
299                          argument30=>p_post_to_gl,
300                          argument31=>'No',
301                          argument32=>p_val_meth,
302                          argument33=>p_sec_id_int_1,
303                          argument34=>p_sec_id_int_2,
304                          argument35=>p_sec_id_int_3,
305                          argument36=>p_sec_id_char_1,
306                          argument37=>p_sec_id_char_2,
307                          argument38=>p_sec_id_char_3,
308                          argument39=>NULL,
309                          argument40=>p_include_user_trx_id_flag,
310                          argument41=>p_include_user_trx_identifiers,
311                          argument42=>p_debug_flag );
312 
313 
314   IF l_request_id <> 0 THEN
315      outandlog('sla create accounting submitted with the request_id'||l_request_id);
316      COMMIT;
317   ELSE
318      RAISE create_acct_sub_pb;
319   END IF;
320 EXCEPTION
321   WHEN accting_date_pb THEN
322        g_xla_run     := 'N';
323        IF c_valid_date%ISOPEN THEN
324          CLOSE c_valid_date;
325        END IF;
326        FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
327                                  p_count => x_msg_count,
328                                  p_data  => x_msg_data);
329      out(message => x_msg_data);
330      log(message => x_msg_data);
331   WHEN create_acct_sub_pb THEN
332      log(logerror(SQLERRM));
333   WHEN OTHERS THEN
334      log(logerror(SQLERRM));
335 END;
336 
337 PROCEDURE wait_for_end_subreq(
338  p_interval       IN  NUMBER   DEFAULT 60
339 ,p_max_wait       IN  NUMBER   DEFAULT 180
340 ,p_sub_name       IN  VARCHAR2)
341 IS
342   CURSOR reqs IS
343   SELECT request_id
344     FROM ar_submission_ctrl_gt
345    WHERE status      <> 'COMPLETE'
346      AND script_name = p_sub_name;
347   l_req_id      NUMBER;
348   l_phase       VARCHAR2(50);
349   l_status      VARCHAR2(50);
350   l_dev_phase   VARCHAR2(50);
351   l_dev_status  VARCHAR2(50);
352   l_message     VARCHAR2(2000);
353   l_complete    BOOLEAN;
354   revrecdone    EXCEPTION;
355 BEGIN
356   log('wait_for_end_subreq :'|| p_sub_name ||' to finish');
357   LOOP
358     OPEN reqs;
359     LOOP
360       FETCH reqs INTO l_req_id;
361       EXIT WHEN reqs%NOTFOUND;
362       l_complete := FND_CONCURRENT.WAIT_FOR_REQUEST(
363 		       request_id=>l_req_id,
364 		       interval=>p_interval,
365 		       max_wait=>p_max_wait,
366 		       phase=>l_phase,
367 		       status=>l_status,
368 		       dev_phase=>l_dev_phase,
369 		       dev_status=>l_dev_status,
370 		       message=>l_message);
371        IF l_dev_phase = 'COMPLETE' THEN
372         UPDATE ar_submission_ctrl_gt
373            SET status = 'COMPLETE'
374          WHERE request_id = l_req_id;
375 --{If required, we can control the error handling at concurrent process level
376 -- but as this is part of the accounting posting process if revrec or rev analyser fails
377 -- for now we allow the accouning for the cash receipts
378 --         IF l_dev_status IN ('TERMINATED', 'CANCELLED', 'ERROR') THEN
379 --           RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
380 --         END IF;
381 --}
382        END IF;
383     END LOOP;
384     CLOSE reqs;
385 
386     OPEN reqs;
387     FETCH reqs INTO l_req_id;
388     IF reqs%NOTFOUND THEN
389       RAISE revrecdone;
390     END IF;
391     CLOSE reqs;
392   END LOOP;
393 EXCEPTION
394   WHEN revrecdone THEN
395     IF reqs%ISOPEN THEN
396        CLOSE reqs;
397     END IF;
398   WHEN fnd_api.G_EXC_UNEXPECTED_ERROR THEN
399     g_exec_status := fnd_api.G_RET_STS_UNEXP_ERROR;
400   WHEN OTHERS THEN
401     IF reqs%ISOPEN THEN
402        CLOSE reqs;
403     END IF;
404     RAISE;
405 END;
406 
407 -- Public procedure
408 PROCEDURE submission (
409  errbuf           OUT NOCOPY VARCHAR2
410 ,retcode          OUT NOCOPY NUMBER
411 --
412 ,p_report_mode    IN  VARCHAR2 DEFAULT 'S'
413 ,p_max_workers    IN  NUMBER   DEFAULT 2
414 ,p_interval       IN  NUMBER   DEFAULT 60
415 ,p_max_wait       IN  NUMBER   DEFAULT 180
416 ---
417 ,p_request_id     IN  NUMBER   DEFAULT NULL
418 ,p_entity_id      IN  NUMBER   DEFAULT NULL
419 ,p_src_app        IN  NUMBER   DEFAULT NULL
420 ,p_app            IN  NUMBER   DEFAULT NULL
421 ,p_dummy_param0   IN  VARCHAR2 DEFAULT NULL
422 ,p_ledger         IN  NUMBER
423 ,p_proc_categ     IN  VARCHAR2 DEFAULT NULL
424 ,p_end_date       IN  VARCHAR2
425 ,p_create_acct    IN  VARCHAR2
426 ,p_dummy_param1   IN  VARCHAR2 DEFAULT NULL
427 ,p_acct_mode      IN  VARCHAR2
428 ,p_dummy_param2   IN  VARCHAR2 DEFAULT NULL
429 ,p_errors_only    IN  VARCHAR2
430 ,p_report         IN  VARCHAR2
434 ,p_gl_batch_name  IN  VARCHAR2 DEFAULT NULL
431 ,p_transf_gl      IN  VARCHAR2
432 ,p_dummy_param3   IN  VARCHAR2 DEFAULT NULL
433 ,p_post_to_gl     IN  VARCHAR2
435 ,p_mixed_currency IN  NUMBER   DEFAULT NULL
436 ,p_val_meth       IN  VARCHAR2 DEFAULT NULL
437 ,p_sec_id_int_1   IN  NUMBER   DEFAULT NULL
438 ,p_sec_id_int_2   IN  NUMBER   DEFAULT NULL
439 ,p_sec_id_int_3   IN  NUMBER   DEFAULT NULL
440 ,p_sec_id_char_1  IN  VARCHAR2 DEFAULT NULL
441 ,p_sec_id_char_2  IN  VARCHAR2 DEFAULT NULL
442 ,p_sec_id_char_3  IN  VARCHAR2 DEFAULT NULL
443 --BUG#5391740
444 ,p_include_user_trx_id_flag     IN VARCHAR2 DEFAULT 'N'
445 ,p_include_user_trx_identifiers IN VARCHAR2 DEFAULT NULL
446 ,p_debug_flag                   IN VARCHAR2 DEFAULT NULL
447 ,p_user_id                      IN NUMBER   DEFAULT fnd_profile.value('USER_ID')
448 )
449 IS
450   CURSOR ous(p_ledger_id IN NUMBER) IS
451   SELECT DISTINCT arsys.org_id
452     FROM ar_system_parameters_all arsys,
453          mo_glob_org_access_tmp   mo
454    WHERE arsys.set_of_books_id = p_ledger_id
455      AND arsys.org_id          = mo.organization_id;
456 
457   l_org_id     NUMBER;
458   l_request_id NUMBER;
459   i            NUMBER;
460   l_text       VARCHAR2(2000);
461   NullLedger   EXCEPTION;
462   xla_not_run  EXCEPTION;
463 BEGIN
464 outandlog('Submission parameters');
465 outandlog('p_report_mode :'||p_report_mode);
466 outandlog('p_max_workers :'||p_max_workers);
467 outandlog('p_interval    :'||p_interval);
468 outandlog('p_max_wait    :'||p_max_wait);
469 outandlog('p_request_id  :'||p_request_id);
470 outandlog('p_entity_id   :'||p_entity_id);
471 outandlog('p_src_app     :'||p_src_app);
472 outandlog('p_app         :'||p_app);
473 outandlog('p_dummy_param0:'||p_dummy_param0);
474 outandlog('p_ledger      :'||p_ledger);
475 outandlog('p_proc_categ  :'||p_proc_categ);
476 outandlog('p_end_date    :'||p_end_date);
477 outandlog('p_create_acct :'||p_create_acct);
478 outandlog('p_dummy_param1:'||p_dummy_param1);
479 outandlog('p_acct_mode   :'||p_acct_mode);
480 outandlog('p_dummy_param2:'||p_dummy_param2);
481 outandlog('p_errors_only :'||p_errors_only);
482 outandlog('p_report      :'||p_report);
483 outandlog('p_transf_gl   :'||p_transf_gl);
484 outandlog('p_dummy_param3:'||p_dummy_param3);
485 outandlog('p_post_to_gl  :'||p_post_to_gl);
486 outandlog('p_gl_batch_name:'||p_gl_batch_name);
487 outandlog('p_mixed_currency:'||p_mixed_currency);
488 outandlog('p_val_meth     :'||p_val_meth);
489 outandlog('p_sec_id_int_1 :'||p_sec_id_int_1);
490 outandlog('p_sec_id_int_2 :'||p_sec_id_int_2);
491 outandlog('p_sec_id_int_3 :'||p_sec_id_int_3);
492 outandlog('p_sec_id_char_1:'||p_sec_id_char_1);
493 outandlog('p_sec_id_char_2:'||p_sec_id_char_2);
494 outandlog('p_sec_id_char_3:'||p_sec_id_char_3);
495 
496 IF p_ledger IS NULL THEN
497   RAISE NullLedger;
498 END IF;
499 
500 OPEN ous(p_ledger);
501 LOOP
502   FETCH ous INTO l_org_id;
503   EXIT WHEN ous%NOTFOUND;
504 
505   --submission of Rev Rec
506   revrec_per_org
507   (p_report_mode    => p_report_mode,
508    p_max_workers    => p_max_workers,
509    p_interval       => p_interval,
510    p_max_wait       => p_max_wait,
511    p_org_id         => l_org_id,
512    x_out_request_id => l_request_id);
513 
514 END LOOP;
515 CLOSE ous;
516 
517 wait_for_end_subreq(
518  p_interval       => p_interval
519 ,p_max_wait       => p_max_wait
520 ,p_sub_name       => 'ARTERRPM' );
521 
522 
523 OPEN ous(p_ledger);
524 LOOP
525   FETCH ous INTO l_org_id;
526   EXIT WHEN ous%NOTFOUND;
527   --Run Revenue Contingency Analyzer
528   rev_contigency_per_org
529   (p_org_id         => l_org_id,
530    x_out_request_id => l_request_id);
531 END LOOP;
532 CLOSE ous;
533 
534 wait_for_end_subreq(
535  p_interval       => p_interval
536 ,p_max_wait       => p_max_wait
537 ,p_sub_name       => 'ARREVSWP' );
538 
539 --Submit SLA Create Accounting
540 sla_create_accounting
541 (p_request_id     => p_request_id
542 ,p_entity_id      => p_entity_id
543 ,p_src_app        => p_src_app
544 ,p_app            => p_app
545 ,p_dummy_param0   => p_dummy_param0
546 ,p_ledger         => p_ledger
547 ,p_proc_categ     => p_proc_categ
548 ,p_end_date       => fnd_date.canonical_to_date(p_end_date)
549 --,p_end_date       => p_end_date
550 ,p_create_acct    => p_create_acct
551 ,p_dummy_param1   => p_dummy_param1
552 ,p_acct_mode      => p_acct_mode
553 ,p_dummy_param2   => p_dummy_param2
554 ,p_errors_only    => p_errors_only
555 ,p_report         => p_report
556 ,p_transf_gl      => p_transf_gl
557 ,p_dummy_param3   => p_dummy_param3
558 ,p_post_to_gl     => p_post_to_gl
559 ,p_gl_batch_name  => p_gl_batch_name
560 ,p_mixed_currency => p_mixed_currency
561 ,p_val_meth       => p_val_meth
562 ,p_sec_id_int_1   => p_sec_id_int_1
563 ,p_sec_id_int_2   => p_sec_id_int_2
564 ,p_sec_id_int_3   => p_sec_id_int_3
565 ,p_sec_id_char_1  => p_sec_id_char_1
566 ,p_sec_id_char_2  => p_sec_id_char_2
567 ,p_sec_id_char_3  => p_sec_id_char_3
568 ,p_include_user_trx_id_flag     => p_include_user_trx_id_flag
569 ,p_include_user_trx_identifiers => p_include_user_trx_identifiers
570 ,p_debug_flag                   => p_debug_flag
571 );
572 
573 IF g_xla_run = 'N' THEN
574   RAISE xla_not_run;
575 END IF;
576 
577 EXCEPTION
578   WHEN NullLedger THEN
579     retcode   := 2;
580     log('Ledger can not be null');
581     errbuf    := 'Ledger can not be null';
582 
583   WHEN xla_not_run THEN
584     retcode   := 1;
585 
586   WHEN OTHERS THEN
587     retcode   := 2;
588     l_text    := logerror(SQLERRM);
589     log(l_text);
590     errbuf := l_text;
591     IF ous%ISOPEN THEN CLOSE ous; END IF;
592     RAISE;
593 
594 END;
595 
596 END;