[Home] [Help]
PACKAGE BODY: APPS.AR_CREATE_ACCTING_SRS
Source
1 PACKAGE BODY ar_create_accting_srs AS
2 /*$Header: ARSACCTB.pls 120.14 2010/09/20 13:51:56 rmanikan 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 -- Added for bug 10102580
201
202 --argument24
203 CURSOR c_proc_categ(p_app_id IN NUMBER, p_proc_categ_code IN VARCHAR2) IS
204 SELECT name
205 FROM xla_event_class_grps_vl
206 WHERE application_id = p_app_id
207 AND event_class_group_code = p_proc_categ;
208
209 CURSOR c_fetch_lookup(p_lookup_type IN VARCHAR2, p_lookup_code IN VARCHAR2) IS
210 SELECT meaning
211 FROM xla_lookups
212 WHERE lookup_type = p_lookup_type
213 AND lookup_code = p_lookup_code;
214
215 -- End bug 10102580
216
217 CURSOR c_valid_date(p_ledger_id IN VARCHAR2,
218 p_date IN DATE) IS
219 SELECT 'Y'
220 FROM gl_period_statuses glp
221 WHERE glp.application_id = 222
222 AND p_date BETWEEN glp.start_date AND glp.end_date
223 AND glp.set_of_books_id = p_ledger
224 AND glp.closing_status IN ('O','F');
225
226 l_res VARCHAr2(1);
227 l_iso_language VARCHAR2(30);
228 l_iso_territory VARCHAR2(30);
229 l_bool BOOLEAN;
230 l_request_id NUMBER;
231 l_src_app VARCHAR2(240);
232 l_app VARCHAR2(240);
233 l_ledger_name VARCHAR2(30);
234 l_proc_categ VARCHAR2(80);
235 l_create_acct VARCHAR2(80);
236 l_acct_mode VARCHAR2(80);
237 l_errors_only VARCHAR2(80);
238 l_report VARCHAR2(80);
239 l_transf_gl VARCHAR2(80);
240 l_post_to_gl VARCHAR2(80);
241 l_no VARCHAR2(80);
242 x_msg_count NUMBER;
243 x_msg_data VARCHAR2(2000);
244 create_acct_sub_pb EXCEPTION;
245 accting_date_pb EXCEPTION;
246 BEGIN
247 outandlog('sla_create_accounting for the ledger: '||p_ledger);
248
249 /*BUG#5687816 -- Remove the verification to AR accounting period status
250 IF p_acct_mode = 'F' THEN
251 log('ledger_id:'||p_ledger);
252 log('End Date :'||p_end_date);
253 OPEN c_valid_date(p_ledger_id => p_ledger,
254 p_date => p_end_date);
255 FETCH c_valid_date INTO l_res;
256 IF c_valid_date%NOTFOUND THEN
257 FND_MSG_PUB.initialize;
258 FND_MESSAGE.SET_NAME('AR','AR_ACCT_PERIOD_NOT_OPEN');
259 FND_MSG_PUB.ADD;
260 RAISE accting_date_pb;
261 END IF;
262 END IF;
263 */
264
265 OPEN c_app_name(p_src_app);
266 FETCH c_app_name INTO l_src_app;
267 CLOSE c_app_name;
268
269 OPEN c_app_name(p_app);
270 FETCH c_app_name INTO l_app;
271 CLOSE c_app_name;
272
273 OPEN c_ledger_name(p_ledger);
274 FETCH c_ledger_name INTO l_ledger_name;
275 CLOSE c_ledger_name;
276
277 -- Begin bug 10102580
278
279 --argument24
280 OPEN c_proc_categ(p_app, p_proc_categ);
281 FETCH c_proc_categ INTO l_proc_categ;
282 CLOSE c_proc_categ;
283
284 --argument25
285 OPEN c_fetch_lookup('XLA_YES_NO', p_create_acct);
286 FETCH c_fetch_lookup INTO l_create_acct;
287 CLOSE c_fetch_lookup;
288
289 --argument26
290 OPEN c_fetch_lookup('XLA_ACCOUNTING_ENTRY_STATUS', p_acct_mode);
291 FETCH c_fetch_lookup INTO l_acct_mode;
292 CLOSE c_fetch_lookup;
293
294 --argument27
295 OPEN c_fetch_lookup('XLA_YES_NO', p_errors_only);
296 FETCH c_fetch_lookup INTO l_errors_only;
297 CLOSE c_fetch_lookup;
298
299 --argument28
300 OPEN c_fetch_lookup('XLA_REPORT_LEVEL', p_report);
301 FETCH c_fetch_lookup INTO l_report;
302 CLOSE c_fetch_lookup;
303
304 --argument29
305 OPEN c_fetch_lookup('XLA_YES_NO', p_transf_gl);
306 FETCH c_fetch_lookup INTO l_transf_gl;
307 CLOSE c_fetch_lookup;
308
309 --argument30
310 OPEN c_fetch_lookup('XLA_YES_NO', p_post_to_gl);
311 FETCH c_fetch_lookup INTO l_post_to_gl;
312 CLOSE c_fetch_lookup;
313
314 --argument31
315 OPEN c_fetch_lookup('XLA_YES_NO', 'N');
316 FETCH c_fetch_lookup INTO l_no;
317 CLOSE c_fetch_lookup;
318
319 -- end bug 10102580
320
321 SELECT lower(iso_language),iso_territory
322 INTO l_iso_language,
323 l_iso_territory
324 FROM FND_LANGUAGES
325 WHERE language_code = USERENV('LANG');
326
327
328 l_bool := fnd_request.add_layout
329 (template_appl_name => 'XLA',
330 template_code => 'XLAACCPB01',
331 template_language => l_iso_language,
332 template_territory => l_iso_territory,
333 output_format => 'PDF');
334
335 l_request_id := FND_REQUEST.SUBMIT_REQUEST(
336 application=>'XLA',
337 program=>'XLAACCPB',
338 sub_request=>FALSE,
339 argument1 =>p_app,
340 argument2 =>p_src_app,
341 argument3 =>p_dummy_param0,
342 argument4 =>p_ledger,
343 argument5 =>p_proc_categ,
344 argument6 =>fnd_date.date_to_canonical(p_end_date),
345 argument7 =>p_create_acct,
346 argument8 =>p_dummy_param1,
347 argument9 =>p_acct_mode,
348 argument10=>p_dummy_param2,
349 argument11=>p_errors_only,
350 argument12=>p_report,
351 argument13=>p_transf_gl,
352 argument14=>p_dummy_param3,
353 argument15=>p_post_to_gl,
354 argument16=>p_gl_batch_name,
355 argument17=>p_mixed_currency,
356 argument18=>nvl(FND_PROFILE.value('XLA_SHOW_ZERO_AMT_JRNL'),'N'),
357 argument19=>p_request_id,
358 argument20=>p_entity_id,
359 argument21=>l_src_app,
360 argument22=>l_app,
361 argument23=>l_ledger_name,
362 argument24=>l_proc_categ,
363 argument25=>l_create_acct,
364 argument26=>l_acct_mode,
365 argument27=>l_errors_only,
366 argument28=>l_report,
367 argument29=>l_transf_gl,
368 argument30=>l_post_to_gl,
369 argument31=>l_no,
370 argument32=>p_val_meth,
371 argument33=>p_sec_id_int_1,
372 argument34=>p_sec_id_int_2,
373 argument35=>p_sec_id_int_3,
374 argument36=>p_sec_id_char_1,
375 argument37=>p_sec_id_char_2,
376 argument38=>p_sec_id_char_3,
377 argument39=>NULL,
378 argument40=>p_include_user_trx_id_flag,
379 argument41=>p_include_user_trx_identifiers,
380 argument42=>p_debug_flag );
381
382
383 IF l_request_id <> 0 THEN
384 outandlog('sla create accounting submitted with the request_id'||l_request_id);
385 COMMIT;
386 ELSE
387 RAISE create_acct_sub_pb;
388 END IF;
389 EXCEPTION
390 WHEN accting_date_pb THEN
391 g_xla_run := 'N';
392 IF c_valid_date%ISOPEN THEN
393 CLOSE c_valid_date;
394 END IF;
395 FND_MSG_PUB.Count_And_Get(p_encoded => FND_API.G_FALSE,
396 p_count => x_msg_count,
397 p_data => x_msg_data);
398 out(message => x_msg_data);
399 log(message => x_msg_data);
400 WHEN create_acct_sub_pb THEN
401 log(logerror(SQLERRM));
402 WHEN OTHERS THEN
403 log(logerror(SQLERRM));
404 END;
405
406 PROCEDURE wait_for_end_subreq(
407 p_interval IN NUMBER DEFAULT 60
408 ,p_max_wait IN NUMBER DEFAULT 180
409 ,p_sub_name IN VARCHAR2)
410 IS
411 CURSOR reqs IS
412 SELECT request_id
413 FROM ar_submission_ctrl_gt
414 WHERE status <> 'COMPLETE'
415 AND script_name = p_sub_name;
416 l_req_id NUMBER;
417 l_phase VARCHAR2(50);
418 l_status VARCHAR2(50);
419 l_dev_phase VARCHAR2(50);
420 l_dev_status VARCHAR2(50);
421 l_message VARCHAR2(2000);
422 l_complete BOOLEAN;
423 revrecdone EXCEPTION;
424 BEGIN
425 log('wait_for_end_subreq :'|| p_sub_name ||' to finish');
426 LOOP
427 OPEN reqs;
428 LOOP
429 FETCH reqs INTO l_req_id;
430 EXIT WHEN reqs%NOTFOUND;
431 l_complete := FND_CONCURRENT.WAIT_FOR_REQUEST(
432 request_id=>l_req_id,
433 interval=>p_interval,
434 max_wait=>p_max_wait,
435 phase=>l_phase,
436 status=>l_status,
437 dev_phase=>l_dev_phase,
438 dev_status=>l_dev_status,
439 message=>l_message);
440 IF l_dev_phase = 'COMPLETE' THEN
441 UPDATE ar_submission_ctrl_gt
442 SET status = 'COMPLETE'
443 WHERE request_id = l_req_id;
444 --{If required, we can control the error handling at concurrent process level
445 -- but as this is part of the accounting posting process if revrec or rev analyser fails
446 -- for now we allow the accouning for the cash receipts
447 -- IF l_dev_status IN ('TERMINATED', 'CANCELLED', 'ERROR') THEN
448 -- RAISE fnd_api.G_EXC_UNEXPECTED_ERROR;
449 -- END IF;
450 --}
451 END IF;
452 END LOOP;
453 CLOSE reqs;
454
455 OPEN reqs;
456 FETCH reqs INTO l_req_id;
457 IF reqs%NOTFOUND THEN
458 RAISE revrecdone;
459 END IF;
460 CLOSE reqs;
461 END LOOP;
462 EXCEPTION
463 WHEN revrecdone THEN
464 IF reqs%ISOPEN THEN
465 CLOSE reqs;
466 END IF;
467 WHEN fnd_api.G_EXC_UNEXPECTED_ERROR THEN
468 g_exec_status := fnd_api.G_RET_STS_UNEXP_ERROR;
469 WHEN OTHERS THEN
470 IF reqs%ISOPEN THEN
471 CLOSE reqs;
472 END IF;
473 RAISE;
474 END;
475
476 -- Public procedure
477 PROCEDURE submission (
478 errbuf OUT NOCOPY VARCHAR2
479 ,retcode OUT NOCOPY NUMBER
480 --
481 ,p_report_mode IN VARCHAR2 DEFAULT 'S'
482 ,p_max_workers IN NUMBER DEFAULT 2
483 ,p_interval IN NUMBER DEFAULT 60
484 ,p_max_wait IN NUMBER DEFAULT 180
485 ---
486 ,p_request_id IN NUMBER DEFAULT NULL
487 ,p_entity_id IN NUMBER DEFAULT NULL
488 ,p_src_app IN NUMBER DEFAULT NULL
489 ,p_app IN NUMBER DEFAULT NULL
490 ,p_dummy_param0 IN VARCHAR2 DEFAULT NULL
491 ,p_ledger IN NUMBER
492 ,p_proc_categ IN VARCHAR2 DEFAULT NULL
493 ,p_end_date IN VARCHAR2
494 ,p_create_acct IN VARCHAR2
495 ,p_dummy_param1 IN VARCHAR2 DEFAULT NULL
496 ,p_acct_mode IN VARCHAR2
497 ,p_dummy_param2 IN VARCHAR2 DEFAULT NULL
498 ,p_errors_only IN VARCHAR2
499 ,p_report IN VARCHAR2
500 ,p_transf_gl IN VARCHAR2
501 ,p_dummy_param3 IN VARCHAR2 DEFAULT NULL
502 ,p_post_to_gl IN VARCHAR2
503 ,p_gl_batch_name IN VARCHAR2 DEFAULT NULL
504 ,p_mixed_currency IN NUMBER DEFAULT NULL
505 ,p_val_meth IN VARCHAR2 DEFAULT NULL
506 ,p_sec_id_int_1 IN NUMBER DEFAULT NULL
507 ,p_sec_id_int_2 IN NUMBER DEFAULT NULL
508 ,p_sec_id_int_3 IN NUMBER DEFAULT NULL
509 ,p_sec_id_char_1 IN VARCHAR2 DEFAULT NULL
510 ,p_sec_id_char_2 IN VARCHAR2 DEFAULT NULL
511 ,p_sec_id_char_3 IN VARCHAR2 DEFAULT NULL
512 --BUG#5391740
513 ,p_include_user_trx_id_flag IN VARCHAR2 DEFAULT 'N'
514 ,p_include_user_trx_identifiers IN VARCHAR2 DEFAULT NULL
515 ,p_debug_flag IN VARCHAR2 DEFAULT NULL
516 ,p_user_id IN NUMBER DEFAULT fnd_profile.value('USER_ID')
517 )
518 IS
519 CURSOR ous(p_ledger_id IN NUMBER) IS
520 SELECT DISTINCT arsys.org_id
521 FROM ar_system_parameters_all arsys,
522 mo_glob_org_access_tmp mo
523 WHERE arsys.set_of_books_id = p_ledger_id
524 AND arsys.org_id = mo.organization_id;
525
526 l_org_id NUMBER;
527 l_request_id NUMBER;
528 i NUMBER;
529 l_text VARCHAR2(2000);
530 NullLedger EXCEPTION;
531 xla_not_run EXCEPTION;
532 BEGIN
533 outandlog('Submission parameters');
534 outandlog('p_report_mode :'||p_report_mode);
535 outandlog('p_max_workers :'||p_max_workers);
536 outandlog('p_interval :'||p_interval);
537 outandlog('p_max_wait :'||p_max_wait);
538 outandlog('p_request_id :'||p_request_id);
539 outandlog('p_entity_id :'||p_entity_id);
540 outandlog('p_src_app :'||p_src_app);
541 outandlog('p_app :'||p_app);
542 outandlog('p_dummy_param0:'||p_dummy_param0);
543 outandlog('p_ledger :'||p_ledger);
544 outandlog('p_proc_categ :'||p_proc_categ);
545 outandlog('p_end_date :'||p_end_date);
546 outandlog('p_create_acct :'||p_create_acct);
547 outandlog('p_dummy_param1:'||p_dummy_param1);
548 outandlog('p_acct_mode :'||p_acct_mode);
549 outandlog('p_dummy_param2:'||p_dummy_param2);
550 outandlog('p_errors_only :'||p_errors_only);
551 outandlog('p_report :'||p_report);
552 outandlog('p_transf_gl :'||p_transf_gl);
553 outandlog('p_dummy_param3:'||p_dummy_param3);
554 outandlog('p_post_to_gl :'||p_post_to_gl);
555 outandlog('p_gl_batch_name:'||p_gl_batch_name);
556 outandlog('p_mixed_currency:'||p_mixed_currency);
557 outandlog('p_val_meth :'||p_val_meth);
558 outandlog('p_sec_id_int_1 :'||p_sec_id_int_1);
559 outandlog('p_sec_id_int_2 :'||p_sec_id_int_2);
560 outandlog('p_sec_id_int_3 :'||p_sec_id_int_3);
561 outandlog('p_sec_id_char_1:'||p_sec_id_char_1);
562 outandlog('p_sec_id_char_2:'||p_sec_id_char_2);
563 outandlog('p_sec_id_char_3:'||p_sec_id_char_3);
564
565 IF p_ledger IS NULL THEN
566 RAISE NullLedger;
567 END IF;
568
569 OPEN ous(p_ledger);
570 LOOP
571 FETCH ous INTO l_org_id;
572 EXIT WHEN ous%NOTFOUND;
573
574 --submission of Rev Rec
575 revrec_per_org
576 (p_report_mode => p_report_mode,
577 p_max_workers => p_max_workers,
578 p_interval => p_interval,
579 p_max_wait => p_max_wait,
580 p_org_id => l_org_id,
581 x_out_request_id => l_request_id);
582
583 END LOOP;
584 CLOSE ous;
585
586 wait_for_end_subreq(
587 p_interval => p_interval
588 ,p_max_wait => p_max_wait
589 ,p_sub_name => 'ARTERRPM' );
590
591
592 OPEN ous(p_ledger);
593 LOOP
594 FETCH ous INTO l_org_id;
595 EXIT WHEN ous%NOTFOUND;
596 --Run Revenue Contingency Analyzer
597 rev_contigency_per_org
598 (p_org_id => l_org_id,
599 x_out_request_id => l_request_id);
600 END LOOP;
601 CLOSE ous;
602
603 wait_for_end_subreq(
604 p_interval => p_interval
605 ,p_max_wait => p_max_wait
606 ,p_sub_name => 'ARREVSWP' );
607
608 --Submit SLA Create Accounting
609 sla_create_accounting
610 (p_request_id => p_request_id
611 ,p_entity_id => p_entity_id
612 ,p_src_app => p_src_app
613 ,p_app => p_app
614 ,p_dummy_param0 => p_dummy_param0
615 ,p_ledger => p_ledger
616 ,p_proc_categ => p_proc_categ
617 ,p_end_date => fnd_date.canonical_to_date(p_end_date)
618 --,p_end_date => p_end_date
619 ,p_create_acct => p_create_acct
620 ,p_dummy_param1 => p_dummy_param1
621 ,p_acct_mode => p_acct_mode
622 ,p_dummy_param2 => p_dummy_param2
623 ,p_errors_only => p_errors_only
624 ,p_report => p_report
625 ,p_transf_gl => p_transf_gl
626 ,p_dummy_param3 => p_dummy_param3
627 ,p_post_to_gl => p_post_to_gl
628 ,p_gl_batch_name => p_gl_batch_name
629 ,p_mixed_currency => p_mixed_currency
630 ,p_val_meth => p_val_meth
631 ,p_sec_id_int_1 => p_sec_id_int_1
632 ,p_sec_id_int_2 => p_sec_id_int_2
633 ,p_sec_id_int_3 => p_sec_id_int_3
634 ,p_sec_id_char_1 => p_sec_id_char_1
635 ,p_sec_id_char_2 => p_sec_id_char_2
636 ,p_sec_id_char_3 => p_sec_id_char_3
637 ,p_include_user_trx_id_flag => p_include_user_trx_id_flag
638 ,p_include_user_trx_identifiers => p_include_user_trx_identifiers
639 ,p_debug_flag => p_debug_flag
640 );
641
642 IF g_xla_run = 'N' THEN
643 RAISE xla_not_run;
644 END IF;
645
646 EXCEPTION
647 WHEN NullLedger THEN
648 retcode := 2;
649 log('Ledger can not be null');
650 errbuf := 'Ledger can not be null';
651
652 WHEN xla_not_run THEN
653 retcode := 1;
654
655 WHEN OTHERS THEN
656 retcode := 2;
657 l_text := logerror(SQLERRM);
658 log(l_text);
659 errbuf := l_text;
660 IF ous%ISOPEN THEN CLOSE ous; END IF;
661 RAISE;
662
663 END;
664
665 END;