[Home] [Help]
PACKAGE BODY: APPS.CE_XLA_ACCT_EVENTS_PKG
Source
1 PACKAGE BODY CE_XLA_ACCT_EVENTS_PKG AS
2 /* $Header: cexlaevb.pls 120.16.12010000.4 2008/09/16 16:36:25 csutaria ship $ */
3
4 PROCEDURE log(p_msg varchar2) is
5 BEGIN
6 -- FND_FILE.PUT_LINE(FND_FILE.LOG,p_msg);
7 cep_standard.debug(p_msg);
8 END log;
9
10
11 FUNCTION Validate_GL_Date(X_accounting_date DATE,
12 X_ledger_id NUMBER,
13 X_cashflow_date DATE) RETURN DATE IS
14 l_count NUMBER;
15 l_accounting_date DATE;
16 BEGIN
17 IF X_accounting_date IS NULL THEN
18 log('No accounting date has been passed');
19 END IF;
20
21 log('validate accounting date '|| X_accounting_date);
22 SELECT count(*)
23 INTO l_count
24 FROM gl_period_statuses glp
25 WHERE glp.ledger_id = X_ledger_id
26 AND glp.closing_status in ('O','F')
27 AND glp.application_id = 101
28 AND glp.adjustment_period_flag = 'N'
29 AND X_accounting_date BETWEEN
30 glp.start_date AND glp.end_date;
31
32 IF l_count > 0 THEN
33 log('accounting date '|| X_accounting_date);
34 RETURN X_accounting_date;
35 ELSE
36 -- Return the next open GL date
37 SELECT MIN(start_date)
38 INTO l_accounting_date
39 FROM gl_period_statuses
40 WHERE closing_status = 'O'
41 AND ledger_id = X_ledger_id
42 AND application_id = 101
43 AND adjustment_period_flag = 'N'
44 AND start_date >= nvl(X_accounting_date, X_cashflow_date);
45 log('corrected accounting date '|| l_accounting_date);
46 RETURN l_accounting_date;
47 END IF;
48 EXCEPTION
49 WHEN NO_DATA_FOUND THEN
50 log('No Open period');
51 RETURN X_accounting_date;
52 WHEN OTHERS THEN
53 log('EXCEPTION Validate_GL_Date');
54 RAISE;
55 END Validate_GL_Date;
56
57
58 PROCEDURE Update_SLA_Event_Status(X_event_id NUMBER,
59 X_event_status_code VARCHAR2,
60 X_event_source_info xla_events_pub_pkg.t_event_source_info,
61 X_security_context xla_events_pub_pkg.t_security) IS
62 l_event_type_code VARCHAR2(30);
63 BEGIN
64 log('Updating SLA event: '|| X_event_id);
65 log('260: ' || X_event_source_info.application_id);
66 log('Trx ID: '|| X_event_source_info.source_id_int_1);
67 log('CE_CASHFLOWS: '||X_event_source_info.entity_type_code);
68 log('LE: '||X_event_source_info.legal_entity_id);
69 log('Ledger: '||X_event_source_info.ledger_id);
70 log('trx num: '||X_event_source_info.transaction_number);
71
72
73 XLA_EVENTS_PUB_PKG.update_event(p_event_source_info => X_event_source_info,
74 p_event_id => X_event_id,
75 p_event_type_code => null,
76 p_event_date => null,
77 p_event_status_code => X_event_status_code,
78 p_valuation_method => '',
79 p_security_context => X_security_context);
80
81 log('Updated SLA event: '|| X_event_id);
82 END Update_SLA_Event_Status;
83
84 /*========================================================================
85 | PUBLIC PROCEDURE Raise_SLA_Event
86 |
87 | DESCRIPTION
88 |
89 |
90 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
91 |
92 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
93 |
94 | PARAMETERS p_ev_rec which contains
95 |
96 |
97 | KNOWN ISSUES
98 |
99 | NOTES
100 |
101 | MODIFICATION HISTORY
102 | Date Author Description of Changes
103 | 06-APR-2005 BHCHUNG CREATED
104 *=======================================================================*/
105 PROCEDURE Raise_SLA_Event(X_event_type_code VARCHAR2,
106 X_event_date DATE,
107 X_event_status_code VARCHAR2,
108 X_rowid ROWID,
109 X_event_source_info xla_events_pub_pkg.t_event_source_info,
110 X_security_context xla_events_pub_pkg.t_security,
111 X_reference_info xla_events_pub_pkg.t_event_reference_info) IS
112 l_event_id NUMBER;
113 BEGIN
114 log('Raise SLA event with event_type code: '|| X_event_type_code);
115 log('Raise SLA event with event_date: '|| X_event_date);
116 log('Raise SLA event with event_status_code: '|| X_event_status_code);
117 log('Raise SLA event with rowid: '|| X_rowid);
118
119 l_event_id := XLA_EVENTS_PUB_PKG.create_event(
120 p_event_source_info => X_event_source_info,
121 p_event_type_code => X_event_type_code,
122 p_event_date => X_event_date,
123 p_event_status_code => X_event_status_code,
124 p_event_number => NULL,
125 p_reference_info => X_reference_info,
126 p_valuation_method => '',
127 p_security_context => X_security_context);
128
129 log('Event_id: '||l_event_id);
130 log('Row ID: '||X_rowid);
131 -- Update event_id in history table
132 UPDATE ce_cashflow_acct_h
133 SET event_id = l_event_id
134 WHERE rowid = X_rowid;
135
136 EXCEPTION
137 WHEN OTHERS THEN
138 log('EXCEPTION in Raise SLA Event');
139 RAISE;
140 END Raise_SLA_Event;
141
142 /*========================================================================
143 | PUBLIC PROCEDURE Create_Event
144 |
145 | DESCRIPTION
146 |
147 |
148 | CALLED FROM PROCEDURES/FUNCTIONS (local to this package body)
149 |
150 | CALLS PROCEDURES/FUNCTIONS (local to this package body)
151 |
152 | PARAMETERS
153 | X_trx_id: cashflow_id
154 | X_event_type: Event Type Code
155 | X_gl_date: GL date for clearing and unclearing
156 |
157 | KNOWN ISSUES
158 |
159 | NOTES
160 |
161 | MODIFICATION HISTORY
162 | Date Author Description of Changes
163 | 06-APR-2005 BHCHUNG CREATED
164 *=======================================================================*/
165 PROCEDURE Create_Event( X_trx_id NUMBER,
166 X_event_type_code VARCHAR2,
167 X_gl_date DATE DEFAULT NULL) IS
168 l_previous_row_id ROWID;
169 l_previous_event_id NUMBER;
170 l_previous_ae_status VARCHAR2(30);
171 l_creation_event_id NUMBER;
172 l_creation_ae_status VARCHAR2(30);
173 l_accounting_date DATE;
174 l_previous_acct_date DATE;
175 l_creation_row_id ROWID;
176 l_rowid ROWID;
177
178 l_event_source_info xla_events_pub_pkg.t_event_source_info;
179 l_reference_info xla_events_pub_pkg.t_event_reference_info;
180 l_security_context xla_events_pub_pkg.t_security;
181
182 l_cleared_date DATE;
183 l_cleared_amount NUMBER;
184 l_cleared_exchange_date DATE;
185 l_cleared_exchange_rate_type VARCHAR2(30);
186 l_cleared_exchange_rate NUMBER;
187 l_clearing_charges_amount NUMBER;
188 l_clearing_error_amount NUMBER;
189 l_cashflow_date DATE;
190 l_ledger_id NUMBER;
191 l_transfer_date DATE;
192
193 BEGIN
194 -- set parameters
195 --
196 -- initialize event source info
197 --
198 l_event_source_info.application_id := 260;
199 l_event_source_info.source_id_int_1 := X_trx_id;
200 l_event_source_info.entity_type_code := 'CE_CASHFLOWS';
201 --
202 -- Populate event source info record and security context
203 --
204 select cf.cashflow_legal_entity_id,
205 cf.cashflow_ledger_id,
206 cf.cashflow_legal_entity_id,
207 cf.cashflow_id,
208 cf.cleared_date,
209 cf.cleared_amount,
210 cf.cleared_exchange_date,
211 cf.cleared_exchange_rate_type,
212 cf.cleared_exchange_rate,
213 cf.clearing_charges_amount,
214 cf.clearing_error_amount,
215 cf.cashflow_date,
216 cf.cashflow_ledger_id
217 into l_event_source_info.legal_entity_id,
218 l_event_source_info.ledger_id,
219 l_security_context.security_id_int_1,
220 l_event_source_info.transaction_number,
221 l_cleared_date,
222 l_cleared_amount,
223 l_cleared_exchange_date,
224 l_cleared_exchange_rate_type,
225 l_cleared_exchange_rate,
226 l_clearing_charges_amount,
227 l_clearing_error_amount,
228 l_cashflow_date,
229 l_ledger_id
230 from ce_cashflows cf,
231 ce_payment_transactions trx
232 where trx.trxn_reference_number(+) = cf.trxn_reference_number
233 and cf.cashflow_id = X_trx_id;
234
235 log('le '|| l_event_source_info.legal_entity_id);
236 log('ledger '|| l_event_source_info.ledger_id);
237 log('cashflow id '|| l_event_source_info.transaction_number);
238 log('cashflow date '|| l_cashflow_date);
239
240 -- get the previous ae information and update the currect record flag to 'N'
241 BEGIN
242 SELECT rowid,
243 event_id,
244 status_code,
245 accounting_date
246 INTO l_previous_row_id,
247 l_previous_event_id,
248 l_previous_ae_status,
249 l_previous_acct_date
250 FROM ce_cashflow_acct_h
251 WHERE cashflow_id = X_trx_id
252 AND current_record_flag = 'Y';
253
254 UPDATE ce_cashflow_acct_h
255 SET current_record_flag = 'N'
256 WHERE event_id = l_previous_event_id;
257 EXCEPTION
258 WHEN NO_DATA_FOUND THEN
259 log('No accounting previous event exists for this cashflow');
260 END;
261
262 --
263 -- Populate ce_cashflow_acct_h table with new event info.
264 -- Also, update current record flag to 'Y'.
265 --
266 IF X_event_type_code = 'CE_BAT_CREATED' THEN
267 log('Raise create event: ' ||X_event_type_code);
268 -- make sure accounting date is in open period. If not then use the first
269 -- available valid accounting date.
270
271 l_accounting_date := l_cashflow_date;
272
273 -- populate history table
274 CE_CASHFLOW_HIST_PKG.insert_row(l_rowid,
275 0,
276 X_trx_id,
277 X_event_type_code,
278 l_accounting_date,
279 'NOT_APPLICABLE', -- Bug 7409147
280 'Y',
281 null,
282 null,
283 null,
284 null,
285 null,
286 null,
287 null,
288 'N',
289 null,
290 null,
291 nvl(fnd_global.user_id, -1),
292 sysdate,
293 nvl(fnd_global.user_id, -1),
294 sysdate,
295 nvl(fnd_global.user_id, -1));
296
297 -- l_event_source_info.source_id_char_1 := l_rowid;
298 log('Row ID: '||l_rowid);
299 -- Raise Create AE in SLA with unprocessed status
300 -- Cashflow date is used for accounting date
301 Raise_SLA_Event(X_event_type_code,
302 l_accounting_date,
303 XLA_EVENTS_PUB_PKG.c_event_noaction, --Bug 7387802
304 l_rowid,
305 l_event_source_info,
306 l_security_context,
307 l_reference_info );
308
309 ELSIF X_event_type_code IN ('CE_BAT_CLEARED','CE_STMT_RECORDED') THEN
310 log('Raise event: ' ||X_event_type_code);
311 -- make sure accounting date is in open period. If not then use the first
312 -- available valid accounting date.
313 IF X_event_type_code = 'CE_BAT_CLEARED' THEN
314 l_accounting_date := X_gl_date;
315 ELSE
316 l_accounting_date := l_cleared_date;
317 END IF;
318
319 -- populate history table
320 CE_CASHFLOW_HIST_PKG.insert_row(l_rowid,
321 0,
322 X_trx_id,
323 X_event_type_code,
324 l_accounting_date,
325 'UNACCOUNTED',
326 'Y',
327 l_cleared_date,
328 l_cleared_amount,
329 l_cleared_exchange_rate,
330 l_cleared_exchange_date,
331 l_cleared_exchange_rate_type,
332 l_clearing_charges_amount,
333 l_clearing_error_amount,
334 'N',
335 null,
336 null,
337 nvl(fnd_global.user_id, -1),
338 sysdate,
339 nvl(fnd_global.user_id, -1),
340 sysdate,
341 nvl(fnd_global.user_id, -1));
342
343 -- l_event_source_info.source_id_char_1 := l_rowid;
344 log('Row ID: '||l_rowid);
345 -- Raise Clearing AE in SLA with unprocessed status
346 Raise_SLA_Event(X_event_type_code,
347 l_accounting_date,
348 XLA_EVENTS_PUB_PKG.c_event_unprocessed,
349 l_rowid,
350 l_event_source_info,
351 l_security_context,
352 l_reference_info );
353 ELSIF X_event_type_code IN ('CE_BAT_UNCLEARED', 'CE_STMT_CANCELED') THEN
354 log('Raise event: ' ||X_event_type_code);
355 -- make sure accounting date is in open period. If not then use the first
356 -- available valid accounting date.
357 IF X_event_type_code = 'CE_BAT_UNCLEARED' THEN
358 l_accounting_date := X_gl_date;
359 ELSE
360 l_accounting_date := Validate_GL_Date(l_previous_acct_date, l_ledger_id, l_cashflow_date);
361 END IF;
362
363 IF l_previous_ae_status <> 'ACCOUNTED' THEN -- clearing event is unaccounted
364 -- Change AE status in SLA to 'no action'
365 -- l_event_source_info.source_id_char_1 := l_previous_row_id;
366 Update_SLA_Event_Status(l_previous_event_id,
367 XLA_EVENTS_PUB_PKG.c_event_noaction,
368 l_event_source_info,
369 l_security_context);
370
371 -- Change AE status in history table to 'not applicable'.
372 UPDATE ce_cashflow_acct_h
373 SET status_code = 'NOT_APPLICABLE'
374 WHERE event_id = l_previous_event_id;
375
376 -- populate history table with 'Not Applicable' status
377 CE_CASHFLOW_HIST_PKG.insert_row(l_rowid,
378 0,
379 X_trx_id,
380 X_event_type_code,
381 l_accounting_date,
382 'NOT_APPLICABLE',
383 'Y',
384 null,
385 null,
386 null,
387 null,
388 null,
389 null,
390 null,
391 'Y',
392 X_trx_id,
393 rowidtochar(l_previous_row_id),
394 nvl(fnd_global.user_id, -1),
395 sysdate,
396 nvl(fnd_global.user_id, -1),
397 sysdate,
398 nvl(fnd_global.user_id, -1));
399
400 -- l_event_source_info.source_id_char_1 := l_rowid;
401 log('Row ID: '||l_rowid);
402
403 -- Raise Unclearing AE in SLA with status 'no action'
404 Raise_SLA_Event(X_event_type_code,
405 l_accounting_date,
406 XLA_EVENTS_PUB_PKG.c_event_noaction,
407 l_rowid,
408 l_event_source_info,
409 l_security_context,
410 l_reference_info );
411
412 ELSE -- clearing event is accounted
413
414 -- populate history table with 'UNACCOUNTED' status
415 CE_CASHFLOW_HIST_PKG.insert_row(l_rowid,
416 0,
417 X_trx_id,
418 X_event_type_code,
419 l_accounting_date,
420 'UNACCOUNTED',
421 'Y',
422 null,
423 null,
424 null,
425 null,
426 null,
427 null,
428 null,
429 'Y',
430 X_trx_id,
431 rowidtochar(l_previous_row_id),
432 nvl(fnd_global.user_id, -1),
433 sysdate,
434 nvl(fnd_global.user_id, -1),
435 sysdate,
436 nvl(fnd_global.user_id, -1));
437
438 -- l_event_source_info.source_id_char_1 := l_rowid;
439 log('Row ID: '||l_rowid);
440
441 -- Raise Unclearing AE in SLA with status 'unprocessed'
442 Raise_SLA_Event(X_event_type_code,
443 l_accounting_date,
444 XLA_EVENTS_PUB_PKG.c_event_unprocessed,
445 l_rowid,
449
446 l_event_source_info,
447 l_security_context,
448 l_reference_info );
450 END IF;
451 ELSIF X_event_type_code = 'CE_BAT_CANCELED' THEN
452 log('Raise event: ' ||X_event_type_code);
453 -- get the creation ae information
454 BEGIN
455 --bug 7327306
456 SELECT event_id,
457 status_code,
458 accounting_date,
459 rowid
460 INTO l_creation_event_id,
461 l_creation_ae_status,
462 l_accounting_date,
463 l_creation_row_id
464 FROM ce_cashflow_acct_h
465 WHERE event_id = (SELECT Max(event_id)
466 FROM ce_cashflow_acct_h
467 WHERE cashflow_id = X_trx_id
468 AND event_type = 'CE_BAT_CREATED');
469
470 log('Creation event acct status: '|| l_creation_ae_status);
471 EXCEPTION
472 WHEN NO_DATA_FOUND THEN
473 log('No creation accounting event exists');
474 END;
475
476 -- make sure accounting date is in open period. If not then use the first
477 -- available valid accounting date.
478 l_accounting_date := Validate_GL_Date(l_accounting_date, l_ledger_id, l_cashflow_date);
479
480 -- -- Bug 7409147 removed the if condition as the cancel event from BAT is unaccountable
481 -- like creation
482
483 log('Creation event is always unaccounted');
484 -- Change AE status in SLA to 'no action'
485 -- l_event_source_info.source_id_char_1 := l_creation_row_id;
486 Update_SLA_Event_Status(l_creation_event_id,
487 XLA_EVENTS_PUB_PKG.c_event_noaction,
488 l_event_source_info,
489 l_security_context);
490
491 log('Inserting History with type code: ' ||X_event_type_code);
492 -- populate history table with 'Not Applicable' status
493 CE_CASHFLOW_HIST_PKG.insert_row(l_rowid,
494 0,
495 X_trx_id,
496 X_event_type_code,
497 l_accounting_date,
498 'NOT_APPLICABLE',
499 'Y',
500 null,
501 null,
502 null,
503 null,
504 null,
505 null,
506 null,
507 'Y',
508 X_trx_id,
509 rowidtochar(l_creation_row_id),
510 nvl(fnd_global.user_id, -1),
511 sysdate,
512 nvl(fnd_global.user_id, -1),
513 sysdate,
514 nvl(fnd_global.user_id, -1));
515
516 -- l_event_source_info.source_id_char_1 := l_rowid;
517 log('Row ID: '||l_rowid);
518
519 -- Raise Cancel AE in SLA with status 'no action'
520 Raise_SLA_Event(X_event_type_code,
521 l_accounting_date,
522 XLA_EVENTS_PUB_PKG.c_event_noaction,
523 l_rowid,
524 l_event_source_info,
525 l_security_context,
526 l_reference_info );
527
528
529 ELSE
530 log('Exception incorrect event type code: '||X_event_type_code);
531 END IF;
532
533 EXCEPTION
534 WHEN OTHERS THEN
535 log('Exception in creating sla event');
536 RAISE;
537 END Create_Event;
538
539
540 /*========================================================================
541 | PRIVATE PROCEDURE postaccounting
542 |
543 | DESCRIPTION
544 | Callout API to be called from SLA accounting engine.
545 | As postaccounting action, API needs to perform the following:
546 |
547 | The following is the API logic:
548 |
549 | 1. If p_accounting_mode = 'D' (draft accounting) then don't do anything.
550 | 2. Based on p_report_request_id, get the list of event ID from XLA_ENTITY_EVENTS_V
551 | 3. For each event ID, check the PROCESS_STATUS_CODE column in XLA_ENTITY_EVENTS_V.
552 | If process_status_code = 'E' then
553 | Update cash flow acct history status (status_code) to 'Accounting Error'
554 | Else if process_status_code = 'P' then
555 | Update cash flow acct history status (status_code) to 'Accounted'
556 |
557 | KNOWN ISSUES
558 |
559 | NOTES
560 |
561 | MODIFICATION HISTORY
562 | Date Author Description of Changes
563 | 06-APR-2005 BHCHUNG CREATED
564 *=======================================================================*/
565 PROCEDURE postaccounting
566 (p_application_id NUMBER
567 ,p_ledger_id NUMBER
568 ,p_process_category VARCHAR2
569 ,p_end_date DATE
570 ,p_accounting_mode VARCHAR2
571 ,p_valuation_method VARCHAR2
572 ,p_security_id_int_1 NUMBER
573 ,p_security_id_int_2 NUMBER
574 ,p_security_id_int_3 NUMBER
575 ,p_security_id_char_1 VARCHAR2
576 ,p_security_id_char_2 VARCHAR2
577 ,p_security_id_char_3 VARCHAR2
578 ,p_report_request_id NUMBER ) IS
579
580 CURSOR event_cur IS
581 SELECT event_id,
582 process_status_code
583 FROM xla_entity_events_v
584 WHERE request_id = p_report_request_id
585 AND application_id = 260;
586
587 BEGIN
588 log('Start postaccounting call-out API');
589 IF p_accounting_mode = 'D' THEN
590 RETURN; -- draft accounting mode. Don't do anything
591 END IF;
592
593 FOR c_rec IN event_cur LOOP
594 IF c_rec.process_status_code = 'E' THEN -- accounting error
595 UPDATE ce_cashflow_acct_h
596 SET status_code = 'ACCOUNTING_ERROR'
597 WHERE event_id = c_rec.event_id;
598 ELSIF c_rec.process_status_code = 'P' THEN
599 UPDATE ce_cashflow_acct_h
600 SET status_code = 'ACCOUNTED'
601 WHERE event_id = c_rec.event_id
602 and status_code <> 'NOT_APPLICABLE'; -- Bug 7409147
603 END IF;
604 END LOOP;
605
606 EXCEPTION
607 WHEN OTHERS THEN
608 log('Exception in postaccounting');
609 RAISE;
610 END postaccounting;
611
612 /*========================================================================
613 | PRIVATE PROCEDURE preaccounting
614 |
615 | DESCRIPTION
616 | Callout API to be called from SLA accounting engine.
617 | No action requires. This is stubbed API.
618 |
619 | KNOWN ISSUES
620 |
621 | NOTES
622 |
623 | MODIFICATION HISTORY
624 | Date Author Description of Changes
625 | 06-APR-2005 BHCHUNG CREATED
626 *=======================================================================*/
627 PROCEDURE preaccounting
628 (p_application_id NUMBER
629 ,p_ledger_id NUMBER
630 ,p_process_category VARCHAR2
631 ,p_end_date DATE
632 ,p_accounting_mode VARCHAR2
633 ,p_valuation_method VARCHAR2
634 ,p_security_id_int_1 NUMBER
635 ,p_security_id_int_2 NUMBER
636 ,p_security_id_int_3 NUMBER
637 ,p_security_id_char_1 VARCHAR2
638 ,p_security_id_char_2 VARCHAR
639 ,p_security_id_char_3 VARCHAR2
640 ,p_report_request_id NUMBER ) IS
641 BEGIN
642 log('Start preaccounting call-out API');
643 END preaccounting;
644
645 /*========================================================================
646 | PRIVATE PROCEDURE extract
647 |
648 | DESCRIPTION
649 | Callout API to be called from SLA accounting engine.
650 | No action requires. This is stubbed API.
651 |
652 | KNOWN ISSUES
653 |
654 | NOTES
655 |
656 | MODIFICATION HISTORY
657 | Date Author Description of Changes
658 | 06-APR-2005 BHCHUNG CREATED
659 *=======================================================================*/
660 PROCEDURE extract
661 (p_application_id NUMBER
662 ,p_accounting_mode VARCHAR2 ) IS
663 BEGIN
664 log('Start extract call-out API');
665 END extract;
666
667 /*========================================================================
668 | PRIVATE PROCEDURE postprocessing
669 |
670 | DESCRIPTION
671 | Callout API to be called from SLA accounting engine.
672 | No action requires. This is stubbed API.
673 |
674 | KNOWN ISSUES
675 |
676 | NOTES
677 |
678 | MODIFICATION HISTORY
679 | Date Author Description of Changes
680 | 06-APR-2005 BHCHUNG CREATED
681 *=======================================================================*/
682 PROCEDURE postprocessing
683 (p_application_id NUMBER
684 ,p_accounting_mode VARCHAR2 ) IS
685 BEGIN
686 log('Start postprocessing call-out API');
687 END postprocessing;
688
689 FUNCTION ce_policy
690 (obj_schema VARCHAR2
691 ,obj_name VARCHAR2) RETURN VARCHAR2 IS
692 BEGIN
693 log('Start ce_policy');
694
695 RETURN '1 = CEP_STANDARD.check_ba_security(security_id_int_1,''CEBAA'')';
696 log('Exit ce_policy');
697 END ce_policy;
698
699 END CE_XLA_ACCT_EVENTS_PKG;