1: PACKAGE BODY ARP_XLA_EVENTS AS
2: /* $Header: ARXLAEVB.pls 120.85.12020000.4 2012/11/06 10:03:27 dgaurab ship $ */
3:
4: /*=======================================================================+
5: | Package Global Constants
310: l_security xla_events_pub_pkg.t_security;
311:
312: BEGIN
313:
314: log('ARP_XLA_EVENTS.Create_Events()+');
315:
316: log('xla_from_doc_id :'
317: || p_xla_ev_rec.xla_from_doc_id);
318:
362: Upd_Dist(p_xla_ev_rec => p_xla_ev_rec);
363: END IF;
364:
365:
366: log('ARP_XLA_EVENTS.Create_Events()-');
367:
368: EXCEPTION
369: WHEN NO_DATA_FOUND THEN
370: log('NO_DATA_FOUND EXCEPTION: ARP_XLA_EVENTS.Create_Events');
366: log('ARP_XLA_EVENTS.Create_Events()-');
367:
368: EXCEPTION
369: WHEN NO_DATA_FOUND THEN
370: log('NO_DATA_FOUND EXCEPTION: ARP_XLA_EVENTS.Create_Events');
371: RAISE;
372:
373: WHEN OTHERS THEN
374: log('OTHERS EXCEPTION: ARP_XLA_EVENTS.Create_Events');
370: log('NO_DATA_FOUND EXCEPTION: ARP_XLA_EVENTS.Create_Events');
371: RAISE;
372:
373: WHEN OTHERS THEN
374: log('OTHERS EXCEPTION: ARP_XLA_EVENTS.Create_Events');
375: RAISE;
376:
377: END Create_Events;
378:
422: p_doc_table IN VARCHAR2,
423: p_mode IN VARCHAR2,
424: p_call IN VARCHAR2)
425: IS
426: l_xla_ev_rec arp_xla_events.xla_events_type;
427: BEGIN
428: log('arp_xla_events.create_events_doc ()+');
429: l_xla_ev_rec.xla_doc_table := p_doc_table;
430: l_xla_ev_rec.xla_from_doc_id := p_document_id;
424: p_call IN VARCHAR2)
425: IS
426: l_xla_ev_rec arp_xla_events.xla_events_type;
427: BEGIN
428: log('arp_xla_events.create_events_doc ()+');
429: l_xla_ev_rec.xla_doc_table := p_doc_table;
430: l_xla_ev_rec.xla_from_doc_id := p_document_id;
431: l_xla_ev_rec.xla_to_doc_id := p_document_id;
432: l_xla_ev_rec.xla_mode := p_mode;
430: l_xla_ev_rec.xla_from_doc_id := p_document_id;
431: l_xla_ev_rec.xla_to_doc_id := p_document_id;
432: l_xla_ev_rec.xla_mode := p_mode;
433: l_xla_ev_rec.xla_call := p_call;
434: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
435: log('arp_xla_events.create_events_doc ()-');
436: EXCEPTION
437: WHEN OTHERS THEN
438: log('EXCEPTION: arp_xla_events.create_events_doc');
431: l_xla_ev_rec.xla_to_doc_id := p_document_id;
432: l_xla_ev_rec.xla_mode := p_mode;
433: l_xla_ev_rec.xla_call := p_call;
434: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
435: log('arp_xla_events.create_events_doc ()-');
436: EXCEPTION
437: WHEN OTHERS THEN
438: log('EXCEPTION: arp_xla_events.create_events_doc');
439: RAISE;
434: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
435: log('arp_xla_events.create_events_doc ()-');
436: EXCEPTION
437: WHEN OTHERS THEN
438: log('EXCEPTION: arp_xla_events.create_events_doc');
439: RAISE;
440: END;
441:
442:
486: p_doc_table IN VARCHAR2,
487: p_mode IN VARCHAR2,
488: p_call IN VARCHAR2)
489: IS
490: l_xla_ev_rec arp_xla_events.xla_events_type;
491: BEGIN
492: log('arp_xla_events.create_events_req ()+');
493: l_xla_ev_rec.xla_doc_table := p_doc_table;
494: l_xla_ev_rec.xla_req_id := p_request_id;
488: p_call IN VARCHAR2)
489: IS
490: l_xla_ev_rec arp_xla_events.xla_events_type;
491: BEGIN
492: log('arp_xla_events.create_events_req ()+');
493: l_xla_ev_rec.xla_doc_table := p_doc_table;
494: l_xla_ev_rec.xla_req_id := p_request_id;
495: l_xla_ev_rec.xla_mode := p_mode;
496: l_xla_ev_rec.xla_call := p_call;
493: l_xla_ev_rec.xla_doc_table := p_doc_table;
494: l_xla_ev_rec.xla_req_id := p_request_id;
495: l_xla_ev_rec.xla_mode := p_mode;
496: l_xla_ev_rec.xla_call := p_call;
497: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
498: log('arp_xla_events.create_events_req ()-');
499: EXCEPTION
500: WHEN OTHERS THEN
501: log('EXCEPTION: arp_xla_events.create_events_req');
494: l_xla_ev_rec.xla_req_id := p_request_id;
495: l_xla_ev_rec.xla_mode := p_mode;
496: l_xla_ev_rec.xla_call := p_call;
497: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
498: log('arp_xla_events.create_events_req ()-');
499: EXCEPTION
500: WHEN OTHERS THEN
501: log('EXCEPTION: arp_xla_events.create_events_req');
502: RAISE;
497: ARP_XLA_EVENTS.create_events(p_xla_ev_rec => l_xla_ev_rec);
498: log('arp_xla_events.create_events_req ()-');
499: EXCEPTION
500: WHEN OTHERS THEN
501: log('EXCEPTION: arp_xla_events.create_events_req');
502: RAISE;
503: END;
504:
505: /*========================================================================
561: l_union VARCHAR2(10) ;
562: CRLF CONSTANT VARCHAR2(1) := arp_global.CRLF;
563:
564: BEGIN
565: log('ARP_XLA_EVENTS.Build_Stmt ()+');
566:
567:
568: IF p_xla_ev_rec.xla_doc_table IN ('CRHMCD','CRHAPP','CTCMAPP') THEN
569: l_union := ' UNION ';
1717: | The document id for BR is a transaction history id |
1718: | instead of customer_trx_id. The customer_trx_id is |
1719: | only used for storing the header info BR, all the |
1720: | accounting is driven by TRH. So the ARP_ACCT_MAIN |
1721: | package which call ARP_XLA_EVENTS to create events |
1722: | along with the accounting entries required a TRH_ID |
1723: | instead of a customer_trx_id. |
1724: | This change will not impact the upgrade mode neither|
1725: | the batch mode for they do not use document id |
1941: l_order_by_clause ;
1942:
1943: log('p_stmt ' || SUBSTRB(p_stmt,1,3980));
1944:
1945: log('ARP_XLA_EVENTS.Build_Stmt ()-');
1946: EXCEPTION
1947: WHEN OTHERS THEN
1948: log('EXCEPTION: ARP_XLA_EVENTS.Build_Stmt');
1949: RAISE;
1944:
1945: log('ARP_XLA_EVENTS.Build_Stmt ()-');
1946: EXCEPTION
1947: WHEN OTHERS THEN
1948: log('EXCEPTION: ARP_XLA_EVENTS.Build_Stmt');
1949: RAISE;
1950:
1951: END Build_Stmt;
1952:
1976: p_xla_ev_rec IN xla_events_type,
1977: p_ev_rec IN ev_rec_type,
1978: p_call_point IN NUMBER) IS
1979: BEGIN
1980: log( 'ARP_XLA_EVENTS.define_arrays()+' );
1981:
1982: IF p_xla_ev_rec.xla_call IN ('C','B') AND p_call_point = 1 THEN
1983:
1984: dbms_sql.define_array(p_select_c, 1 , p_ev_rec.posttogl
2022: dbms_sql.define_array(p_select_c, 2 , p_ev_rec.dist_event_id
2023: , MAX_ARRAY_SIZE, STARTING_INDEX );
2024: END IF;
2025:
2026: log( 'ARP_XLA_EVENTS.define_arrays()-' );
2027:
2028: EXCEPTION
2029: WHEN OTHERS THEN
2030: log('EXCEPTION: ARP_XLA_EVENTS.define_arrays');
2026: log( 'ARP_XLA_EVENTS.define_arrays()-' );
2027:
2028: EXCEPTION
2029: WHEN OTHERS THEN
2030: log('EXCEPTION: ARP_XLA_EVENTS.define_arrays');
2031: RAISE;
2032:
2033: END define_arrays;
2034:
2060: p_xla_ev_rec IN xla_events_type,
2061: p_call_point IN NUMBER,
2062: p_ev_rec OUT NOCOPY ev_rec_type) IS
2063: BEGIN
2064: log('ARP_XLA_EVENTS.get_column_values (+)');
2065:
2066: IF p_xla_ev_rec.xla_call IN ('C','B') AND p_call_point = 1 THEN
2067: dbms_sql.column_value(p_select_c, 1 , p_ev_rec.posttogl);
2068: dbms_sql.column_value(p_select_c, 2 , p_ev_rec.trx_type);
2086: dbms_sql.column_value(p_select_c, 1 , p_ev_rec.dist_row_id);
2087: dbms_sql.column_value(p_select_c, 2 , p_ev_rec.dist_event_id);
2088: END IF;
2089:
2090: log('ARP_XLA_EVENTS.get_column_values (-)');
2091:
2092: END get_column_values;
2093:
2094: /*========================================================================
2121: l_ev_rec ev_rec_type;
2122:
2123: BEGIN
2124:
2125: log('ARP_XLA_EVENTS.Get_Select_Cursor ()+');
2126:
2127: Build_Stmt(p_xla_ev_rec => p_xla_ev_rec,
2128: p_stmt => l_stmt,
2129: p_call_point => p_call_point);
2172: log('p_xla_ev_rec.xla_dist_id ' || p_xla_ev_rec.xla_dist_id);
2173: dbms_sql.bind_variable(l_select_c, ':b_xla_dist_id', p_xla_ev_rec.xla_dist_id);
2174: END IF;
2175:
2176: log('ARP_XLA_EVENTS.Get_Select_Cursor (-)');
2177:
2178: return(l_select_c);
2179:
2180: EXCEPTION
2178: return(l_select_c);
2179:
2180: EXCEPTION
2181: WHEN OTHERS THEN
2182: log('EXCEPTION: ARP_XLA_EVENTS.Get_Select_Cursor:'||SQLERRM);
2183: RAISE;
2184:
2185: END Get_Select_Cursor;
2186:
2289: l_test VARCHAR2(1);
2290:
2291:
2292: BEGIN
2293: log('ARP_XLA_EVENTS.Create_All_Events ()+');
2294:
2295: --Bug#3135769
2296: --{
2297: IF arp_standard.sysparm.set_of_books_id IS NULL THEN
2747: +---------------------------------------------------------*/
2748: l_revrun := 'X';
2749:
2750: IF ev_rec.trx_type(i) = 'INV' AND p_xla_ev_rec.xla_mode = 'O' THEN
2751: log('arp_xla_events.is_one_acct_asg_on_ctlgd()+');
2752: log('The customer_trx_id :'||ev_rec.trx_id(i));
2753:
2754: l_revrun := is_one_acct_asg_on_ctlgd(ev_rec.trx_id(i));
2755:
2753:
2754: l_revrun := is_one_acct_asg_on_ctlgd(ev_rec.trx_id(i));
2755:
2756: log('l_revrun : '||l_revrun);
2757: log('arp_xla_events.is_one_acct_asg_on_ctlgd()-');
2758: END IF;
2759:
2760: /*---------------------------------------------------------+
2761: |Update existing Event |
3339: |the event. |
3340: +--------------------------------------------------------------*/
3341:
3342: <
3343: log('ARP_XLA_EVENTS.Create_All_Events ()-');
3344:
3345: EXCEPTION
3346: WHEN OTHERS THEN
3347: log('EXCEPTION: ARP_XLA_EVENTS.Create_All_Events ');
3343: log('ARP_XLA_EVENTS.Create_All_Events ()-');
3344:
3345: EXCEPTION
3346: WHEN OTHERS THEN
3347: log('EXCEPTION: ARP_XLA_EVENTS.Create_All_Events ');
3348: log('SQLERRM ' || SQLERRM);
3349: log('EXCEPTION: ARP_XLA_EVENTS.Create_All_Events ');
3350: log('SQLERRM ' || SQLERRM);
3351: RAISE;
3345: EXCEPTION
3346: WHEN OTHERS THEN
3347: log('EXCEPTION: ARP_XLA_EVENTS.Create_All_Events ');
3348: log('SQLERRM ' || SQLERRM);
3349: log('EXCEPTION: ARP_XLA_EVENTS.Create_All_Events ');
3350: log('SQLERRM ' || SQLERRM);
3351: RAISE;
3352: END Create_All_Events;
3353:
3380: ( p_xla_doc IN VARCHAR2,
3381: p_event_id IN NUMBER ) IS
3382:
3383: BEGIN
3384: log('arp_xla_events.un_denormalize_posting_entity()+');
3385:
3386: IF test_flag = 'Y' THEN
3387: GOTO endlabel;
3388: END IF;
3426: END IF;
3427:
3428: <
3429:
3430: log('arp_xla_events.un_denormalize_posting_entity()-');
3431:
3432: EXCEPTION
3433: WHEN OTHERS THEN
3434: log('EXCEPTION: arp_xla_events.un_denormalize_posting_entity');
3430: log('arp_xla_events.un_denormalize_posting_entity()-');
3431:
3432: EXCEPTION
3433: WHEN OTHERS THEN
3434: log('EXCEPTION: arp_xla_events.un_denormalize_posting_entity');
3435: log('SQLERRM '||sqlerrm);
3436: RAISE;
3437:
3438: END un_denormalize_posting_entity;
3555: l_last_updated_by NUMBER := arp_standard.profile.user_id;
3556: l_last_update_login NUMBER := arp_standard.profile.last_update_login;
3557: BEGIN
3558:
3559: log('ARP_XLA_EVENTS.Upd_Dist()+');
3560:
3561: IF p_xla_ev_rec.xla_call IN ('D','B') THEN
3562: null;
3563: ELSE goto endlabel;
3704:
3705: END LOOP; --Array (Bulk) Fetch
3706:
3707: <
3708: log('ARP_XLA_EVENTS.Upd_Dist()-');
3709:
3710: EXCEPTION
3711: WHEN OTHERS THEN
3712: log('EXCEPTION: ARP_XLA_EVENTS.Upd_Dist');
3708: log('ARP_XLA_EVENTS.Upd_Dist()-');
3709:
3710: EXCEPTION
3711: WHEN OTHERS THEN
3712: log('EXCEPTION: ARP_XLA_EVENTS.Upd_Dist');
3713: RAISE;
3714:
3715: END Upd_Dist;
3716:
3741:
3742: BEGIN
3743:
3744: log(' ');
3745: log('ARP_XLA_EVENTS.dump_ev_rec()+');
3746:
3747: IF p_ev_rec.trx_status.EXISTS(p_i) THEN
3748:
3749: log('p_ev_rec.trx_status(' || p_i || ') = '
3767: log('p_ev_rec.ev_match_type(' || p_i || ') = '
3768: || p_ev_rec.ev_match_type(p_i));
3769: END IF;
3770:
3771: log('ARP_XLA_EVENTS.dump_ev_rec()-');
3772: log(' ');
3773:
3774: EXCEPTION
3775: WHEN OTHERS THEN
3772: log(' ');
3773:
3774: EXCEPTION
3775: WHEN OTHERS THEN
3776: log('EXCEPTION: ARP_XLA_EVENTS.dump_ev_rec');
3777: RAISE;
3778: END dump_ev_rec;
3779:
3780:
3784: IS
3785: BEGIN
3786:
3787: log(' ');
3788: log('ARP_XLA_EVENTS.dump_event_source_info()+');
3789:
3790: log('x_ev_source_info.application_id = '
3791: || x_ev_source_info.application_id);
3792: log('x_ev_source_info.legal_entity_id = '
3814: log('x_ev_source_info.source_id_char_4 = '
3815: || x_ev_source_info.source_id_char_4);
3816: log('x_ev_source_info.legal_entity_id = '
3817: || x_ev_source_info.legal_entity_id);
3818: log('ARP_XLA_EVENTS.dump_event_source_info()-');
3819: log(' ');
3820:
3821: EXCEPTION
3822: WHEN OTHERS THEN
3819: log(' ');
3820:
3821: EXCEPTION
3822: WHEN OTHERS THEN
3823: log('EXCEPTION: ARP_XLA_EVENTS.dump_event_source_info');
3824: RAISE;
3825: END dump_event_source_info;
3826:
3827: /*========================================================================
3860: l_change_matrix VARCHAR2(30);
3861:
3862: BEGIN
3863:
3864: log('ARP_XLA_EVENTS.Change_Matrix()+');
3865: log('trx_status :'||trx_status);
3866: log('dist_gl_date :'||dist_gl_date);
3867: log('ev_match_gl_date :'||ev_match_gl_date);
3868: log('ev_match_status :'||ev_match_status);
4142: END IF; --distributions cannot be posted
4143:
4144: RETURN(l_change_matrix);
4145:
4146: log('ARP_XLA_EVENTS.Change_Matrix()-');
4147:
4148: EXCEPTION
4149: WHEN OTHERS THEN
4150: log('EXCEPTION: ARP_XLA_EVENTS.dump_bld_rec');
4146: log('ARP_XLA_EVENTS.Change_Matrix()-');
4147:
4148: EXCEPTION
4149: WHEN OTHERS THEN
4150: log('EXCEPTION: ARP_XLA_EVENTS.dump_bld_rec');
4151: RAISE;
4152: END Change_Matrix;
4153:
4154: /*========================================================================
4177: p_i IN BINARY_INTEGER ,
4178: p_tag IN VARCHAR2 ) IS
4179: BEGIN
4180:
4181: log('ARP_XLA_EVENTS.dump_bld_rec()+');
4182:
4183: IF p_bld_rec.bld_dml_flag.EXISTS(p_i) THEN
4184:
4185: log(p_tag ||'.bld_dml_flag('||p_i||') = '
4185: log(p_tag ||'.bld_dml_flag('||p_i||') = '
4186: || p_bld_rec.bld_dml_flag(p_i));
4187: END IF;
4188:
4189: log('ARP_XLA_EVENTS.dump_bld_rec()-');
4190: log(' ');
4191:
4192: EXCEPTION
4193: WHEN OTHERS THEN
4190: log(' ');
4191:
4192: EXCEPTION
4193: WHEN OTHERS THEN
4194: log('EXCEPTION: ARP_XLA_EVENTS.dump_bld_rec');
4195: RAISE;
4196:
4197: END dump_bld_rec;
4198:
4223: p_i IN BINARY_INTEGER ,
4224: p_tag IN VARCHAR2 ) IS
4225: BEGIN
4226:
4227: log('ARP_XLA_EVENTS.dump_event_info()+');
4228:
4229: IF p_ev_info_tab.EXISTS(p_i) THEN
4230:
4231: log(p_tag ||'.p_ev_info_tab('||p_i||').event_id = '||
4247: p_ev_info_tab(p_i).transaction_number );
4248:
4249: END IF;
4250:
4251: log('ARP_XLA_EVENTS.dump_event_info()-');
4252: log(' ');
4253:
4254: EXCEPTION
4255: WHEN OTHERS THEN
4252: log(' ');
4253:
4254: EXCEPTION
4255: WHEN OTHERS THEN
4256: log('EXCEPTION: ARP_XLA_EVENTS.dump_event_info');
4257: RAISE;
4258:
4259: END dump_event_info;
4260:
4330: FROM ar_transaction_history
4331: WHERE transaction_history_id = p_document_id;
4332:
4333: BEGIN
4334: log('arp_xla_events.delete_event ()+');
4335:
4336: IF p_doc_table = 'CT' THEN
4337: OPEN c_ct;
4338: FETCH c_ct INTO l_event_id;
4379: p_valuation_method => NULL,
4380: p_security_context => l_security);
4381: END IF;
4382:
4383: log('arp_xla_events.delete_event ()-');
4384: EXCEPTION
4385: WHEN OTHERS THEN
4386: log('EXCEPTION: arp_xla_events.delete_event'||SQLERRM);
4387: RAISE;
4382:
4383: log('arp_xla_events.delete_event ()-');
4384: EXCEPTION
4385: WHEN OTHERS THEN
4386: log('EXCEPTION: arp_xla_events.delete_event'||SQLERRM);
4387: RAISE;
4388: END delete_event;
4389:
4390:
4438: );
4439:
4440:
4441: BEGIN
4442: log('arp_xla_events.delete_reverse_revrec_event ()+');
4443:
4444: FOR c IN c_ct loop
4445:
4446: l_event_id := c.event_id;
4458: p_security_context => l_security);
4459:
4460: END loop;
4461:
4462: log('arp_xla_events.delete_reverse_revrec_event ()-');
4463: EXCEPTION
4464: WHEN OTHERS THEN
4465: log('EXCEPTION: arp_xla_events.delete_reverse_revrec_event'||SQLERRM);
4466: RAISE;
4461:
4462: log('arp_xla_events.delete_reverse_revrec_event ()-');
4463: EXCEPTION
4464: WHEN OTHERS THEN
4465: log('EXCEPTION: arp_xla_events.delete_reverse_revrec_event'||SQLERRM);
4466: RAISE;
4467: END delete_reverse_revrec_event;
4468:
4469:
4519: i NUMBER := 0;
4520: l_trx_cnt Number := 0;
4521:
4522: BEGIN
4523: log('ARP_XLA_EVENTS.ar_xla_period_close ()+');
4524:
4525: p_cannot_close_period := FALSE;
4526: p_incomplete_events := FALSE;
4527:
4571: END IF;
4572:
4573: EXCEPTION
4574: WHEN OTHERS THEN
4575: log('OTHERS EXCEPTION: ARP_XLA_EVENTS.ar_xla_period_close');
4576: RAISE;
4577: END;
4578:
4579: ELSE /* Some other period exception raised by XLA hence period cannot be closed*/
4588:
4589: END LOOP;
4590: CLOSE XLA_PERIOD_CLOSE_EXP_PKG.period_close_cur_evt;
4591:
4592: log('ARP_XLA_EVENTS.ar_xla_period_close ()-');
4593: EXCEPTION
4594: WHEN OTHERS THEN
4595: log('OTHERS EXCEPTION: ARP_XLA_EVENTS.ar_xla_period_close');
4596: RAISE;
4591:
4592: log('ARP_XLA_EVENTS.ar_xla_period_close ()-');
4593: EXCEPTION
4594: WHEN OTHERS THEN
4595: log('OTHERS EXCEPTION: ARP_XLA_EVENTS.ar_xla_period_close');
4596: RAISE;
4597: END ar_xla_period_close;
4598:
4599:
4623: p_code IN VARCHAR2)
4624: IS
4625: BEGIN
4626: IF p_code = 'CTADJ' THEN
4627: -- arp_xla_events.create_events(p_request_id, 'CT');
4628: -- arp_xla_events.create_events(p_request_id, 'ADJ');
4629: ELSE
4630: -- arp_xla_events.create_events(p_request_id, 'CTCMAPP');
4631: END IF;
4624: IS
4625: BEGIN
4626: IF p_code = 'CTADJ' THEN
4627: -- arp_xla_events.create_events(p_request_id, 'CT');
4628: -- arp_xla_events.create_events(p_request_id, 'ADJ');
4629: ELSE
4630: -- arp_xla_events.create_events(p_request_id, 'CTCMAPP');
4631: END IF;
4632:
4626: IF p_code = 'CTADJ' THEN
4627: -- arp_xla_events.create_events(p_request_id, 'CT');
4628: -- arp_xla_events.create_events(p_request_id, 'ADJ');
4629: ELSE
4630: -- arp_xla_events.create_events(p_request_id, 'CTCMAPP');
4631: END IF;
4632:
4633: IF p_code = 'CTADJ' THEN
4634: INSERT INTO RA_INTERFACE_ERRORS
4662: END IF;
4663: END;
4664: */
4665:
4666: END ARP_XLA_EVENTS;