1: PACKAGE BODY xla_events_pkg AS
2: -- $Header: xlaevevt.pkb 120.112.12020000.2 2012/07/23 13:27:15 vgopiset ship $
3: /*===========================================================================+
4: | Copyright (c) 2001-2002 Oracle Corporation |
5: | Redwood Shores, CA, USA |
8: | FILENAME |
9: | xlaevevt.pkb |
10: | |
11: | PACKAGE NAME |
12: | xla_events_pkg |
13: | |
14: | DESCRIPTION |
15: | This is a XLA private package, which contains all the APIs |
16: | required for processing accounting events. |
50: | in "event_source_info" & "entity_source_info |
51: | 08-May-02 S. Singhania Made changes in the routines to include: |
52: | NOT NULL ledger_id, NULL valuation_method. |
53: | legal_entity_id is made NULL in XLA_ENTITIES |
54: | Removed "legal_entity_id" from XLA_EVENTS |
55: | Bug # 2351677 |
56: | 14-May-02 S. Singhania Modified "event_exists" routine and changed |
57: | cursors in 'cache_application_setups'. |
58: | 31-May-02 S. Singhania Made changes based on Bug # 2392835. Updated |
169: | bug 4529563 |
170: | 30-Aug-05 S. Singhania Bug 4519181: Added call to |
171: | XLA_SECURITY_PKG.SET_SECURITY_CONTEXT to |
172: | each public API. |
173: | 07-Oct-09 VGOPISET Bug:8967771 , few queries on XLA_EVENTS has |
174: | no join on APPLICATION_ID |
175: | 30-SEP-10 VDAMERLA Bug:9077926 Created overloaded procedures |
176: | for create_bulk_events and |
177: | update_bulk_event_statuses to pass |
227: TYPE t_number_tbl IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
228: TYPE t_array_event_type IS TABLE OF t_event_type INDEX BY VARCHAR2(30);
229: TYPE t_array_event_class IS TABLE OF t_class_type INDEX BY VARCHAR2(30);
230: TYPE t_array_entity_type IS TABLE OF t_entity_type INDEX BY VARCHAR2(30);
231: TYPE t_event_status_tbl IS TABLE OF xla_events.event_status_code%type
232: INDEX BY BINARY_INTEGER;
233: TYPE t_on_hold_flag_tbl IS TABLE OF xla_events.on_hold_flag%type
234: INDEX BY BINARY_INTEGER;
235: TYPE t_event_number_tbl IS TABLE OF xla_events.event_number%type
229: TYPE t_array_event_class IS TABLE OF t_class_type INDEX BY VARCHAR2(30);
230: TYPE t_array_entity_type IS TABLE OF t_entity_type INDEX BY VARCHAR2(30);
231: TYPE t_event_status_tbl IS TABLE OF xla_events.event_status_code%type
232: INDEX BY BINARY_INTEGER;
233: TYPE t_on_hold_flag_tbl IS TABLE OF xla_events.on_hold_flag%type
234: INDEX BY BINARY_INTEGER;
235: TYPE t_event_number_tbl IS TABLE OF xla_events.event_number%type
236: INDEX BY BINARY_INTEGER;
237: TYPE t_ledger_status_tbl IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
231: TYPE t_event_status_tbl IS TABLE OF xla_events.event_status_code%type
232: INDEX BY BINARY_INTEGER;
233: TYPE t_on_hold_flag_tbl IS TABLE OF xla_events.on_hold_flag%type
234: INDEX BY BINARY_INTEGER;
235: TYPE t_event_number_tbl IS TABLE OF xla_events.event_number%type
236: INDEX BY BINARY_INTEGER;
237: TYPE t_ledger_status_tbl IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
238:
239:
253:
254: g_ledger_status_tbl t_ledger_status_tbl;
255: -- for caching the value if event can be created
256:
257: g_source_info xla_events_pub_pkg.t_event_source_info;
258: g_entity_id NUMBER; -- Entity id 8761772
259: g_entity_type_code VARCHAR2(30); -- Entity code
260: g_valuation_method VARCHAR2(80); -- valuation method
261:
279: C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
280:
281: C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
282:
283: C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_events_pkg';
284:
285: g_debug_flag VARCHAR2(1):= NVL(fnd_profile.value('XLA_DEBUG_TRACE'),'N');
286:
287: --l_log_module VARCHAR2(240);
330: (p_event_status_code IN VARCHAR2
331: ,p_process_status_code IN VARCHAR2);
332:
333: PROCEDURE validate_params
334: (p_source_info IN xla_events_pub_pkg.t_event_source_info
335: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
336: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
337: ,p_event_date IN DATE DEFAULT NULL
338: ,p_event_status_code IN VARCHAR2 DEFAULT NULL
342: (p_ledger_id IN NUMBER
343: ,p_application_id IN NUMBER);
344:
345: PROCEDURE cache_entity_info
346: (p_source_info IN xla_events_pub_pkg.t_event_source_info
347: ,p_valuation_method IN VARCHAR2
348: ,p_event_id IN NUMBER); -- 8761772
349:
350: PROCEDURE update_entity_trx_number
355: PROCEDURE set_context
356: (p_context IN VARCHAR2);
357:
358: FUNCTION source_info_changed
359: (p_event_source_info1 IN xla_events_pub_pkg.t_event_source_info
360: ,p_event_source_info2 IN xla_events_pub_pkg.t_event_source_info
361: ,p_valuation_method1 IN VARCHAR2
362: ,p_valuation_method2 IN VARCHAR2)
363: RETURN BOOLEAN;
356: (p_context IN VARCHAR2);
357:
358: FUNCTION source_info_changed
359: (p_event_source_info1 IN xla_events_pub_pkg.t_event_source_info
360: ,p_event_source_info2 IN xla_events_pub_pkg.t_event_source_info
361: ,p_valuation_method1 IN VARCHAR2
362: ,p_valuation_method2 IN VARCHAR2)
363: RETURN BOOLEAN;
364:
370: ,p_source_id_code_4 IN VARCHAR2)
371: RETURN VARCHAR2;
372:
373: FUNCTION create_entity_event
374: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
375: ,p_valuation_method IN VARCHAR2
376: ,p_event_type_code IN VARCHAR2
377: ,p_event_date IN DATE
378: ,p_event_status_code IN VARCHAR2
378: ,p_event_status_code IN VARCHAR2
379: ,p_process_status_code IN VARCHAR2
380: ,p_event_number IN NUMBER
381: ,p_transaction_date IN DATE
382: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
383: DEFAULT NULL
384: ,p_budgetary_control_flag IN VARCHAR2)
385: RETURN INTEGER;
386:
394: ,p_event_status_code IN VARCHAR2
395: ,p_process_status_code IN VARCHAR2
396: ,p_event_number IN NUMBER
397: ,p_transaction_date IN DATE
398: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
399: DEFAULT NULL
400: ,p_budgetary_control_flag IN VARCHAR2)
401: RETURN INTEGER;
402:
433: WHEN xla_exceptions_pkg.application_exception THEN
434: RAISE;
435: WHEN OTHERS THEN
436: xla_exceptions_pkg.raise_message
437: (p_location => 'xla_events_pkg.trace');
438: END trace;
439:
440: --=============================================================================
441: -- *********** public procedures and functions **********
487: --
488: --=============================================================================
489:
490: FUNCTION create_event
491: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
492: ,p_valuation_method IN VARCHAR2
493: ,p_event_type_code IN VARCHAR2
494: ,p_event_date IN DATE
495: ,p_event_status_code IN VARCHAR2
494: ,p_event_date IN DATE
495: ,p_event_status_code IN VARCHAR2
496: ,p_event_number IN INTEGER DEFAULT NULL
497: ,p_transaction_date IN DATE DEFAULT NULL
498: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
499: DEFAULT NULL
500: ,p_budgetary_control_flag IN VARCHAR2)
501: RETURN INTEGER IS
502: l_event_date DATE;
605: ,p_level => C_LEVEL_PROCEDURE
606: ,p_module =>l_log_module);
607: trace
608: (p_msg => 'security_id_int_1 = '||
609: xla_events_pub_pkg.g_security.security_id_int_1
610: ,p_level => C_LEVEL_PROCEDURE
611: ,p_module =>l_log_module);
612: trace
613: (p_msg => 'security_id_int_2 = '||
610: ,p_level => C_LEVEL_PROCEDURE
611: ,p_module =>l_log_module);
612: trace
613: (p_msg => 'security_id_int_2 = '||
614: xla_events_pub_pkg.g_security.security_id_int_2
615: ,p_level => C_LEVEL_PROCEDURE
616: ,p_module =>l_log_module);
617: trace
618: (p_msg => 'security_id_int_3 = '||
615: ,p_level => C_LEVEL_PROCEDURE
616: ,p_module =>l_log_module);
617: trace
618: (p_msg => 'security_id_int_3 = '||
619: xla_events_pub_pkg.g_security.security_id_int_3
620: ,p_level => C_LEVEL_PROCEDURE
621: ,p_module =>l_log_module);
622: trace
623: (p_msg => 'security_id_char_1 = '||
620: ,p_level => C_LEVEL_PROCEDURE
621: ,p_module =>l_log_module);
622: trace
623: (p_msg => 'security_id_char_1 = '||
624: xla_events_pub_pkg.g_security.security_id_char_1
625: ,p_level => C_LEVEL_PROCEDURE
626: ,p_module =>l_log_module);
627: trace
628: (p_msg => 'security_id_char_2 = '||
625: ,p_level => C_LEVEL_PROCEDURE
626: ,p_module =>l_log_module);
627: trace
628: (p_msg => 'security_id_char_2 = '||
629: xla_events_pub_pkg.g_security.security_id_char_2
630: ,p_level => C_LEVEL_PROCEDURE
631: ,p_module =>l_log_module);
632: trace
633: (p_msg => 'security_id_char_3 = '||
630: ,p_level => C_LEVEL_PROCEDURE
631: ,p_module =>l_log_module);
632: trace
633: (p_msg => 'security_id_char_3 = '||
634: xla_events_pub_pkg.g_security.security_id_char_3
635: ,p_level => C_LEVEL_PROCEDURE
636: ,p_module =>l_log_module);
637: trace
638: (p_msg => 'valuation_method = '||p_valuation_method
662: ,p_msg_name => 'XLA_COMMON_ERROR'
663: ,p_token_1 => 'ERROR'
664: ,p_value_1 => 'For MANUAL events this API cannot be called'
665: ,p_token_2 => 'LOCATION'
666: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
667: ELSE
668: g_context := C_REGULAR_EVENT_CONTEXT;
669: END IF;
670:
675: ,p_token_1 => 'ERROR'
676: ,p_value_1 =>
677: 'Event Type Code has an invalid value. It cannot have a NULL value.'
678: ,p_token_2 => 'LOCATION'
679: ,p_value_2 => 'xla_events_pkg.create_event');
680: END IF;
681: IF p_event_date IS NULL THEN
682: xla_exceptions_pkg.raise_message
683: (p_appli_s_name => 'XLA'
685: ,p_token_1 => 'ERROR'
686: ,p_value_1 =>
687: 'Event Date has an invalid value. It cannot have a NULL value.'
688: ,p_token_2 => 'LOCATION'
689: ,p_value_2 => 'xla_events_pkg.create_event');
690: END IF;
691: IF p_event_status_code IS NULL THEN
692: xla_exceptions_pkg.raise_message
693: (p_appli_s_name => 'XLA'
695: ,p_token_1 => 'ERROR'
696: ,p_value_1 =>
697: 'Event Status Code has an invalid value. It cannot have a NULL value.'
698: ,p_token_2 => 'LOCATION'
699: ,p_value_2 => 'xla_events_pkg.create_event');
700: END IF;
701:
702: ----------------------------------------------------------------------------
703: -- truncate date
744: ,p_token_1 => 'ERROR'
745: ,p_value_1 =>
746: 'The developer has to give the event number greater than 0 when create new event for gapless processing.'
747: ,p_token_2 => 'LOCATION'
748: ,p_value_2 => 'xla_events_pkg.create_event');
749: END IF;
750: ----------------------------------------------------------------------------
751: -- If the PK is NULL, create an entity as well as the event. Otherwise,
752: -- add a new event to the entity.
814: RAISE;
815: WHEN OTHERS THEN
816: ROLLBACK to SAVEPOINT before_event_creation;
817: xla_exceptions_pkg.raise_message
818: (p_location => 'xla_events_pkg.create_event (fn)');
819: END create_event;
820:
821:
822: --=============================================================================
825: --
826: --=============================================================================
827:
828: FUNCTION create_manual_event
829: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
830: ,p_event_type_code IN VARCHAR2
831: ,p_event_date IN DATE
832: ,p_event_status_code IN VARCHAR2
833: ,p_process_status_code IN VARCHAR2
832: ,p_event_status_code IN VARCHAR2
833: ,p_process_status_code IN VARCHAR2
834: ,p_event_number IN INTEGER DEFAULT NULL
835: ,p_transaction_date IN DATE DEFAULT NULL
836: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info DEFAULT NULL
837: ,p_budgetary_control_flag IN VARCHAR2)
838: RETURN INTEGER IS
839: l_event_date DATE;
840: L_CONSTANT CONSTANT VARCHAR2(30) := '##UNDEFINED##'; --chr(12);
942: ,p_level => C_LEVEL_PROCEDURE
943: ,p_module =>l_log_module);
944: trace
945: (p_msg => 'security_id_int_1 = '||
946: xla_events_pub_pkg.g_security.security_id_int_1
947: ,p_level => C_LEVEL_PROCEDURE
948: ,p_module =>l_log_module);
949: trace
950: (p_msg => 'security_id_int_2 = '||
947: ,p_level => C_LEVEL_PROCEDURE
948: ,p_module =>l_log_module);
949: trace
950: (p_msg => 'security_id_int_2 = '||
951: xla_events_pub_pkg.g_security.security_id_int_2
952: ,p_level => C_LEVEL_PROCEDURE
953: ,p_module =>l_log_module);
954: trace
955: (p_msg => 'security_id_int_3 = '||
952: ,p_level => C_LEVEL_PROCEDURE
953: ,p_module =>l_log_module);
954: trace
955: (p_msg => 'security_id_int_3 = '||
956: xla_events_pub_pkg.g_security.security_id_int_3
957: ,p_level => C_LEVEL_PROCEDURE
958: ,p_module =>l_log_module);
959: trace
960: (p_msg => 'security_id_char_1 = '||
957: ,p_level => C_LEVEL_PROCEDURE
958: ,p_module =>l_log_module);
959: trace
960: (p_msg => 'security_id_char_1 = '||
961: xla_events_pub_pkg.g_security.security_id_char_1
962: ,p_level => C_LEVEL_PROCEDURE
963: ,p_module =>l_log_module);
964: trace
965: (p_msg => 'security_id_char_2 = '||
962: ,p_level => C_LEVEL_PROCEDURE
963: ,p_module =>l_log_module);
964: trace
965: (p_msg => 'security_id_char_2 = '||
966: xla_events_pub_pkg.g_security.security_id_char_2
967: ,p_level => C_LEVEL_PROCEDURE
968: ,p_module =>l_log_module);
969: trace
970: (p_msg => 'security_id_char_3 = '||
967: ,p_level => C_LEVEL_PROCEDURE
968: ,p_module =>l_log_module);
969: trace
970: (p_msg => 'security_id_char_3 = '||
971: xla_events_pub_pkg.g_security.security_id_char_3
972: ,p_level => C_LEVEL_PROCEDURE
973: ,p_module =>l_log_module);
974: END IF;
975:
993: ,p_msg_name => 'XLA_COMMON_ERROR'
994: ,p_token_1 => 'ERROR'
995: ,p_value_1 => 'For REGULAR events this API cannot be called'
996: ,p_token_2 => 'LOCATION'
997: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
998: END IF;
999:
1000: ----------------------------------------------------------------------------
1001: -- perform specific validations for 'creating events'
1007: ,p_token_1 => 'ERROR'
1008: ,p_value_1 =>
1009: 'Event Type Code has an invalid value. It cannot have a NULL value.'
1010: ,p_token_2 => 'LOCATION'
1011: ,p_value_2 => 'xla_events_pkg.create_manual_event');
1012: END IF;
1013: IF p_event_date IS NULL THEN
1014: xla_exceptions_pkg.raise_message
1015: (p_appli_s_name => 'XLA'
1016: ,p_msg_name => 'XLA_COMMON_ERROR'
1017: ,p_token_1 => 'ERROR'
1018: ,p_value_1 => 'Event Date cannot have a NULL value.'
1019: ,p_token_2 => 'LOCATION'
1020: ,p_value_2 => 'xla_events_pkg.create_manual_event');
1021: END IF;
1022: IF p_event_status_code IS NULL THEN
1023: xla_exceptions_pkg.raise_message
1024: (p_appli_s_name => 'XLA'
1025: ,p_msg_name => 'XLA_COMMON_ERROR'
1026: ,p_token_1 => 'ERROR'
1027: ,p_value_1 => 'Event Status Code cannot have a NULL value.'
1028: ,p_token_2 => 'LOCATION'
1029: ,p_value_2 => 'xla_events_pkg.create_manual_event');
1030: END IF;
1031: IF p_process_status_code IS NULL THEN
1032: xla_exceptions_pkg.raise_message
1033: (p_appli_s_name => 'XLA'
1034: ,p_msg_name => 'XLA_COMMON_ERROR'
1035: ,p_token_1 => 'ERROR'
1036: ,p_value_1 => 'Process Status Code cannot have a NULL value.'
1037: ,p_token_2 => 'LOCATION'
1038: ,p_value_2 => 'xla_events_pkg.create_manual_event');
1039: END IF;
1040:
1041: ----------------------------------------------------------------------------
1042: -- truncate date
1133: RAISE;
1134: WHEN OTHERS THEN
1135: ROLLBACK to SAVEPOINT before_event_creation;
1136: xla_exceptions_pkg.raise_message
1137: (p_location => 'xla_events_pkg.create_manual_event (fn)');
1138: END create_manual_event;
1139:
1140:
1141:
1145: --
1146: --=============================================================================
1147:
1148: PROCEDURE update_event_status
1149: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
1150: ,p_valuation_method IN VARCHAR2
1151: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
1152: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
1153: ,p_event_date IN DATE DEFAULT NULL
1155: l_event_date DATE;
1156: l_array_events t_number_tbl;
1157: l_array_event_status t_event_status_tbl;
1158: l_array_on_hold_flag t_on_hold_flag_tbl;
1159: l_temp_event_number xla_events.event_number%type;
1160: l_array_event_number t_event_number_tbl;
1161: l_log_module VARCHAR2(240);
1162: BEGIN
1163: IF g_log_enabled THEN
1253: ,p_level => C_LEVEL_PROCEDURE
1254: ,p_module =>l_log_module);
1255: trace
1256: (p_msg => 'security_id_int_1 = '||
1257: xla_events_pub_pkg.g_security.security_id_int_1
1258: ,p_level => C_LEVEL_PROCEDURE
1259: ,p_module =>l_log_module);
1260: trace
1261: (p_msg => 'security_id_int_2 = '||
1258: ,p_level => C_LEVEL_PROCEDURE
1259: ,p_module =>l_log_module);
1260: trace
1261: (p_msg => 'security_id_int_2 = '||
1262: xla_events_pub_pkg.g_security.security_id_int_2
1263: ,p_level => C_LEVEL_PROCEDURE
1264: ,p_module =>l_log_module);
1265: trace
1266: (p_msg => 'security_id_int_3 = '||
1263: ,p_level => C_LEVEL_PROCEDURE
1264: ,p_module =>l_log_module);
1265: trace
1266: (p_msg => 'security_id_int_3 = '||
1267: xla_events_pub_pkg.g_security.security_id_int_3
1268: ,p_level => C_LEVEL_PROCEDURE
1269: ,p_module =>l_log_module);
1270: trace
1271: (p_msg => 'security_id_char_1 = '||
1268: ,p_level => C_LEVEL_PROCEDURE
1269: ,p_module =>l_log_module);
1270: trace
1271: (p_msg => 'security_id_char_1 = '||
1272: xla_events_pub_pkg.g_security.security_id_char_1
1273: ,p_level => C_LEVEL_PROCEDURE
1274: ,p_module =>l_log_module);
1275: trace
1276: (p_msg => 'security_id_char_2 = '||
1273: ,p_level => C_LEVEL_PROCEDURE
1274: ,p_module =>l_log_module);
1275: trace
1276: (p_msg => 'security_id_char_2 = '||
1277: xla_events_pub_pkg.g_security.security_id_char_2
1278: ,p_level => C_LEVEL_PROCEDURE
1279: ,p_module =>l_log_module);
1280: trace
1281: (p_msg => 'security_id_char_3 = '||
1278: ,p_level => C_LEVEL_PROCEDURE
1279: ,p_module =>l_log_module);
1280: trace
1281: (p_msg => 'security_id_char_3 = '||
1282: xla_events_pub_pkg.g_security.security_id_char_3
1283: ,p_level => C_LEVEL_PROCEDURE
1284: ,p_module =>l_log_module);
1285: trace
1286: (p_msg => 'valuation_method = '||p_valuation_method
1307: ,p_msg_name => 'XLA_COMMON_ERROR'
1308: ,p_token_1 => 'ERROR'
1309: ,p_value_1 => 'For MANUAL events this API cannot be called'
1310: ,p_token_2 => 'LOCATION'
1311: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
1312: ELSE
1313: g_context := C_REGULAR_EVENT_CONTEXT;
1314: END IF;
1315:
1322: ,p_msg_name => 'XLA_COMMON_ERROR'
1323: ,p_token_1 => 'ERROR'
1324: ,p_value_1 => 'Event Status Code cannot have a NULL value.'
1325: ,p_token_2 => 'LOCATION'
1326: ,p_value_2 => 'xla_events_pkg.update_event_status');
1327: END IF;
1328:
1329: ----------------------------------------------------------------------------
1330: -- truncate date
1370: ,p_token_1 => 'ERROR'
1371: ,p_value_1 => 'No event exists for the document represented '||
1372: 'by the given source information.'
1373: ,p_token_2 => 'LOCATION'
1374: ,p_value_2 => 'xla_events_pkg.update_event_status');
1375: END IF;
1376:
1377: ----------------------------------------------------------------------------
1378: -- Fetching event ids for the events that are going to be updated
1379: ----------------------------------------------------------------------------
1380: if(g_gapless_flag='N') then
1381: SELECT event_id BULK COLLECT
1382: INTO l_array_events
1383: FROM xla_events
1384: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1385: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1386: AND event_date = NVL(l_event_date, event_date)
1387: AND event_type_code = NVL(p_event_type_code, event_type_code)
1380: if(g_gapless_flag='N') then
1381: SELECT event_id BULK COLLECT
1382: INTO l_array_events
1383: FROM xla_events
1384: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1385: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1386: AND event_date = NVL(l_event_date, event_date)
1387: AND event_type_code = NVL(p_event_type_code, event_type_code)
1388: AND entity_id = g_entity_id
1381: SELECT event_id BULK COLLECT
1382: INTO l_array_events
1383: FROM xla_events
1384: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1385: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1386: AND event_date = NVL(l_event_date, event_date)
1387: AND event_type_code = NVL(p_event_type_code, event_type_code)
1388: AND entity_id = g_entity_id
1389: AND application_id = g_application_id -- 8967771
1402: INTO l_array_events,
1403: l_array_event_status,
1404: l_array_on_hold_flag,
1405: l_array_event_number
1406: FROM xla_events
1407: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1408: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1409: AND event_date = NVL(l_event_date, event_date)
1410: AND event_type_code = NVL(p_event_type_code, event_type_code)
1403: l_array_event_status,
1404: l_array_on_hold_flag,
1405: l_array_event_number
1406: FROM xla_events
1407: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1408: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1409: AND event_date = NVL(l_event_date, event_date)
1410: AND event_type_code = NVL(p_event_type_code, event_type_code)
1411: AND entity_id = g_entity_id
1404: l_array_on_hold_flag,
1405: l_array_event_number
1406: FROM xla_events
1407: WHERE event_status_code NOT IN (xla_events_pub_pkg.C_EVENT_PROCESSED,
1408: xla_events_pub_pkg.C_EVENT_NOACTION) -- Bug 9197871
1409: AND event_date = NVL(l_event_date, event_date)
1410: AND event_type_code = NVL(p_event_type_code, event_type_code)
1411: AND entity_id = g_entity_id
1412: AND application_id = g_application_id -- 8967771
1432: ----------------------------------------------------------------------------
1433: -- Actual status update
1434: ----------------------------------------------------------------------------
1435: FORAll i IN 1..l_array_events.COUNT
1436: UPDATE xla_events
1437: SET event_status_code = p_event_status_code
1438: ,process_status_code = C_INTERNAL_UNPROCESSED
1439: ,last_update_date = sysdate
1440: ,last_updated_by = xla_environment_pkg.g_usr_id
1468: ,p_level => C_LEVEL_STATEMENT
1469: ,p_module =>l_log_module);
1470: end if;
1471: if(l_array_event_status(1)<>'I' and l_array_on_hold_flag(1)='N') then
1472: update xla_events
1473: set on_hold_flag='Y'
1474: where entity_id=g_entity_id
1475: and event_number >l_array_event_number(1)
1476: and on_hold_flag='N'
1497: end if;
1498:
1499: SELECT event_status_code, event_number BULK COLLECT
1500: INTO g_gapless_array_event_status, g_gapless_event_number
1501: FROM xla_events
1502: Where entity_id = g_entity_id
1503: and event_number>l_array_event_number(i)
1504: AND application_id = g_application_id -- 8967771
1505: Order by event_number;
1523: ,p_level => C_LEVEL_STATEMENT
1524: ,p_module =>l_log_module);
1525: end if;
1526:
1527: update xla_events
1528: set on_hold_flag='N'
1529: where entity_id=g_entity_id
1530: and event_number >l_array_event_number(i)
1531: and event_number
1549: RAISE;
1550: WHEN OTHERS THEN
1551: ROLLBACK to SAVEPOINT before_event_update;
1552: xla_exceptions_pkg.raise_message
1553: (p_location => 'xla_events_pkg.update_event_status');
1554: END update_event_status;
1555:
1556:
1557: --=============================================================================
1560: --
1561: --=============================================================================
1562:
1563: PROCEDURE update_event
1564: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
1565: ,p_valuation_method IN VARCHAR2
1566: ,p_event_id IN INTEGER
1567: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
1568: ,p_event_date IN DATE DEFAULT NULL
1568: ,p_event_date IN DATE DEFAULT NULL
1569: ,p_event_status_code IN VARCHAR2 DEFAULT NULL
1570: ,p_transaction_date IN DATE DEFAULT NULL
1571: ,p_event_number IN INTEGER DEFAULT NULL
1572: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
1573: DEFAULT NULL
1574: ,p_overwrite_event_num IN VARCHAR2 DEFAULT 'N'
1575: ,p_overwrite_ref_info IN VARCHAR2 DEFAULT 'N') IS
1576: l_event_date DATE;
1574: ,p_overwrite_event_num IN VARCHAR2 DEFAULT 'N'
1575: ,p_overwrite_ref_info IN VARCHAR2 DEFAULT 'N') IS
1576: l_event_date DATE;
1577: l_process_status_code VARCHAR2(1);
1578: l_old_event_status_code xla_events.event_status_code%TYPE;
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1575: ,p_overwrite_ref_info IN VARCHAR2 DEFAULT 'N') IS
1576: l_event_date DATE;
1577: l_process_status_code VARCHAR2(1);
1578: l_old_event_status_code xla_events.event_status_code%TYPE;
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1583: l_temp_event_number xla_events.event_number%type;
1576: l_event_date DATE;
1577: l_process_status_code VARCHAR2(1);
1578: l_old_event_status_code xla_events.event_status_code%TYPE;
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1583: l_temp_event_number xla_events.event_number%type;
1584: l_log_module VARCHAR2(240);
1577: l_process_status_code VARCHAR2(1);
1578: l_old_event_status_code xla_events.event_status_code%TYPE;
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1583: l_temp_event_number xla_events.event_number%type;
1584: l_log_module VARCHAR2(240);
1585: BEGIN
1578: l_old_event_status_code xla_events.event_status_code%TYPE;
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1583: l_temp_event_number xla_events.event_number%type;
1584: l_log_module VARCHAR2(240);
1585: BEGIN
1586: IF g_log_enabled THEN
1579: l_old_on_hold_flag xla_events.on_hold_flag%TYPE;
1580: l_old_event_number xla_events.event_number%TYPE;
1581: l_event_status_code xla_events.event_status_code%TYPE;
1582: l_on_hold_flag xla_events.on_hold_flag%TYPE:='Y';
1583: l_temp_event_number xla_events.event_number%type;
1584: l_log_module VARCHAR2(240);
1585: BEGIN
1586: IF g_log_enabled THEN
1587: l_log_module := C_DEFAULT_MODULE||'.update_event';
1688: ,p_level => C_LEVEL_PROCEDURE
1689: ,p_module =>l_log_module);
1690: trace
1691: (p_msg => 'security_id_int_1 = '||
1692: xla_events_pub_pkg.g_security.security_id_int_1
1693: ,p_level => C_LEVEL_PROCEDURE
1694: ,p_module =>l_log_module);
1695: trace
1696: (p_msg => 'security_id_int_2 = '||
1693: ,p_level => C_LEVEL_PROCEDURE
1694: ,p_module =>l_log_module);
1695: trace
1696: (p_msg => 'security_id_int_2 = '||
1697: xla_events_pub_pkg.g_security.security_id_int_2
1698: ,p_level => C_LEVEL_PROCEDURE
1699: ,p_module =>l_log_module);
1700: trace
1701: (p_msg => 'security_id_int_3 = '||
1698: ,p_level => C_LEVEL_PROCEDURE
1699: ,p_module =>l_log_module);
1700: trace
1701: (p_msg => 'security_id_int_3 = '||
1702: xla_events_pub_pkg.g_security.security_id_int_3
1703: ,p_level => C_LEVEL_PROCEDURE
1704: ,p_module =>l_log_module);
1705: trace
1706: (p_msg => 'security_id_char_1 = '||
1703: ,p_level => C_LEVEL_PROCEDURE
1704: ,p_module =>l_log_module);
1705: trace
1706: (p_msg => 'security_id_char_1 = '||
1707: xla_events_pub_pkg.g_security.security_id_char_1
1708: ,p_level => C_LEVEL_PROCEDURE
1709: ,p_module =>l_log_module);
1710: trace
1711: (p_msg => 'security_id_char_2 = '||
1708: ,p_level => C_LEVEL_PROCEDURE
1709: ,p_module =>l_log_module);
1710: trace
1711: (p_msg => 'security_id_char_2 = '||
1712: xla_events_pub_pkg.g_security.security_id_char_2
1713: ,p_level => C_LEVEL_PROCEDURE
1714: ,p_module =>l_log_module);
1715: trace
1716: (p_msg => 'security_id_char_3 = '||
1713: ,p_level => C_LEVEL_PROCEDURE
1714: ,p_module =>l_log_module);
1715: trace
1716: (p_msg => 'security_id_char_3 = '||
1717: xla_events_pub_pkg.g_security.security_id_char_3
1718: ,p_level => C_LEVEL_PROCEDURE
1719: ,p_module =>l_log_module);
1720: trace
1721: (p_msg => 'valuation_method = '||p_valuation_method
1741: ,p_msg_name => 'XLA_COMMON_ERROR'
1742: ,p_token_1 => 'ERROR'
1743: ,p_value_1 => 'For MANUAL events this API cannot be called'
1744: ,p_token_2 => 'LOCATION'
1745: ,p_value_2 => 'xla_events_pkg.update_event');
1746: ELSE
1747: g_context := C_REGULAR_EVENT_CONTEXT;
1748: END IF;
1749:
1756: ,p_msg_name => 'XLA_COMMON_ERROR'
1757: ,p_token_1 => 'ERROR'
1758: ,p_value_1 => 'Event ID cannot have a NULL value.'
1759: ,p_token_2 => 'LOCATION'
1760: ,p_value_2 => 'xla_events_pkg.update_event');
1761: END IF;
1762:
1763:
1764: IF p_event_status_code IS NOT NULL THEN
1816: ,p_token_1 => 'ERROR'
1817: ,p_value_1 => 'No event exists for the document represented '||
1818: 'by the given source information.'
1819: ,p_token_2 => 'LOCATION'
1820: ,p_value_2 => 'xla_events_pkg.update_event');
1821: END IF;
1822:
1823: if(g_gapless_flag='Y' and
1824: (p_overwrite_event_num=C_YES and
1829: ,p_token_1 => 'ERROR'
1830: ,p_value_1 =>
1831: 'The developer has to give the event number when change event number for gapless processing.'
1832: ,p_token_2 => 'LOCATION'
1833: ,p_value_2 => 'xla_events_pkg.update_event');
1834:
1835: end if;
1836: ----------------------------------------------------------------------------
1837: -- Following statement make sure that when event type and/or event date
1860: -- the on-hold-flag will be affected
1861: begin
1862: select event_status_code, on_hold_flag, event_number
1863: into l_old_event_status_code, l_old_on_hold_flag, l_old_event_number
1864: from xla_events
1865: WHERE event_id = p_event_id
1866: AND entity_id = g_entity_id
1867: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
1868: AND application_id = g_application_id -- 8967771
1863: into l_old_event_status_code, l_old_on_hold_flag, l_old_event_number
1864: from xla_events
1865: WHERE event_id = p_event_id
1866: AND entity_id = g_entity_id
1867: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
1868: AND application_id = g_application_id -- 8967771
1869: ;
1870: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
1871: trace
1888: ,p_value_1 =>
1889: 'Unable to perform UPDATE on the event. The event ('||p_event_id ||
1890: ') is either invalid or has been final accounted.'
1891: ,p_token_2 => 'LOCATION'
1892: ,p_value_2 => 'xla_events_pkg.update_event');
1893: END;
1894: END IF;
1895: ----------------------------------------------------------------------------
1896: -- Actual update
1894: END IF;
1895: ----------------------------------------------------------------------------
1896: -- Actual update
1897: ----------------------------------------------------------------------------
1898: UPDATE xla_events
1899: SET event_type_code = NVL(p_event_type_code , event_type_code)
1900: ,event_date = NVL(l_event_date , event_date)
1901: ,transaction_date = NVL(p_transaction_date , transaction_date)
1902: ,event_status_code = NVL(p_event_status_code, event_status_code)
1935: ,program_id = xla_environment_pkg.g_prog_id
1936: ,request_id = xla_environment_pkg.g_Req_Id
1937: WHERE event_id = p_event_id
1938: AND entity_id = g_entity_id
1939: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
1940: AND application_id = g_application_id -- 8967771
1941: ;
1942:
1943: IF SQL%ROWCOUNT <> 1 THEN
1948: ,p_value_1 =>
1949: 'Unable to perform UPDATE on the event. The event ('||p_event_id ||
1950: ') is either invalid or has been final accounted.'
1951: ,p_token_2 => 'LOCATION'
1952: ,p_value_2 => 'xla_events_pkg.update_event');
1953: END IF;
1954:
1955: if(g_gapless_flag='Y' and
1956: ((p_overwrite_event_num=C_YES
1966: if(p_overwrite_event_num=C_YES and l_old_event_number <>p_event_number)then
1967: if(l_old_event_number
1969: if(l_old_event_status_code<>'I') then
1970: update xla_events
1971: set on_hold_flag='Y'
1972: where entity_id=g_entity_id
1973: and event_status_code<> xla_events_pub_pkg.C_EVENT_PROCESSED
1974: and event_number>l_old_event_number
1969: if(l_old_event_status_code<>'I') then
1970: update xla_events
1971: set on_hold_flag='Y'
1972: where entity_id=g_entity_id
1973: and event_status_code<> xla_events_pub_pkg.C_EVENT_PROCESSED
1974: and event_number>l_old_event_number
1975: AND application_id = g_application_id -- 8967771
1976: ;
1977: else
1974: and event_number>l_old_event_number
1975: AND application_id = g_application_id -- 8967771
1976: ;
1977: else
1978: update xla_events
1979: set on_hold_flag='Y'
1980: where entity_id=g_entity_id
1981: and event_id=p_event_id
1982: AND application_id = g_application_id -- 8967771
1989: -- between l_old_event_number and p_event_number could be affected.
1990: begin
1991: select event_status_code, on_hold_flag
1992: into l_event_status_code, l_on_hold_flag
1993: from xla_events
1994: where entity_id=g_entity_id
1995: and event_number=p_event_number-1
1996: AND application_id = g_application_id -- 8967771
1997: ;
2005: end if;
2006: end;
2007: if(l_on_hold_flag='N' and l_event_status_code<>'I') then
2008: if(nvl(p_event_status_code, l_old_event_status_code)='I') then
2009: update xla_events
2010: set on_hold_flag='N'
2011: where event_id=p_event_id
2012: AND application_id = g_application_id -- 8967771
2013: ;
2014: else
2015: -- update from this event til the next gap, set on_hold_flag to 'N'
2016: SELECT event_status_code, event_number BULK COLLECT
2017: INTO g_gapless_array_event_status, g_gapless_event_number
2018: FROM xla_events
2019: Where entity_id = g_entity_id
2020: and event_number>p_event_number
2021: and event_number
2034: --l_temp_event_number is the next gap
2035: -- update the on_hold_flag of event between l_array_event_number(i)
2036: -- and --l_temp_event_number+1
2037:
2038: update xla_events
2039: set on_hold_flag='N'
2040: where entity_id=g_entity_id
2041: and event_number >p_event_number-1
2042: and event_number
2047: end if;
2048: else --event number is not updated, but the status changed
2049: if(p_event_status_code='I' and l_old_on_hold_flag='N') then
2050: -- new gap
2051: update xla_events
2052: set on_hold_flag='Y'
2053: where entity_id=g_entity_id
2054: and event_number>l_old_event_number
2055: and on_hold_flag='N'
2059: elsif(l_old_event_status_code='I' and l_old_on_hold_flag='N') then
2060: -- old gap eliminated
2061: SELECT event_status_code, event_number BULK COLLECT
2062: INTO g_gapless_array_event_status, g_gapless_event_number
2063: FROM xla_events
2064: Where entity_id = g_entity_id
2065: and event_number>l_old_event_number
2066: AND application_id = g_application_id -- 8967771
2067: Order by event_number;
2078: --l_temp_event_number is the next gap
2079: -- update the on_hold_flag of event between l_array_event_number(i)
2080: -- and --l_temp_event_number+1
2081:
2082: update xla_events
2083: set on_hold_flag='N'
2084: where entity_id=g_entity_id
2085: and event_number >l_old_event_number
2086: and event_number
2103: RAISE;
2104: WHEN OTHERS THEN
2105: ROLLBACK to SAVEPOINT before_event_update;
2106: xla_exceptions_pkg.raise_message
2107: (p_location => 'xla_events_pkg.update_event');
2108: END update_event;
2109:
2110:
2111: --=============================================================================
2114: --
2115: --=============================================================================
2116:
2117: PROCEDURE update_manual_event
2118: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
2119: ,p_event_id IN INTEGER
2120: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
2121: ,p_event_date IN DATE DEFAULT NULL
2122: ,p_event_status_code IN VARCHAR2 DEFAULT NULL
2121: ,p_event_date IN DATE DEFAULT NULL
2122: ,p_event_status_code IN VARCHAR2 DEFAULT NULL
2123: ,p_process_status_code IN VARCHAR2 DEFAULT NULL
2124: ,p_event_number IN INTEGER DEFAULT NULL
2125: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
2126: DEFAULT NULL
2127: ,p_overwrite_event_num IN VARCHAR2 DEFAULT 'N'
2128: ,p_overwrite_ref_info IN VARCHAR2 DEFAULT 'N') IS
2129: l_event_date DATE;
2239: ,p_level => C_LEVEL_PROCEDURE
2240: ,p_module =>l_log_module);
2241: trace
2242: (p_msg => 'security_id_int_1 = '||
2243: xla_events_pub_pkg.g_security.security_id_int_1
2244: ,p_level => C_LEVEL_PROCEDURE
2245: ,p_module =>l_log_module);
2246: trace
2247: (p_msg => 'security_id_int_2 = '||
2244: ,p_level => C_LEVEL_PROCEDURE
2245: ,p_module =>l_log_module);
2246: trace
2247: (p_msg => 'security_id_int_2 = '||
2248: xla_events_pub_pkg.g_security.security_id_int_2
2249: ,p_level => C_LEVEL_PROCEDURE
2250: ,p_module =>l_log_module);
2251: trace
2252: (p_msg => 'security_id_int_3 = '||
2249: ,p_level => C_LEVEL_PROCEDURE
2250: ,p_module =>l_log_module);
2251: trace
2252: (p_msg => 'security_id_int_3 = '||
2253: xla_events_pub_pkg.g_security.security_id_int_3
2254: ,p_level => C_LEVEL_PROCEDURE
2255: ,p_module =>l_log_module);
2256: trace
2257: (p_msg => 'security_id_char_1 = '||
2254: ,p_level => C_LEVEL_PROCEDURE
2255: ,p_module =>l_log_module);
2256: trace
2257: (p_msg => 'security_id_char_1 = '||
2258: xla_events_pub_pkg.g_security.security_id_char_1
2259: ,p_level => C_LEVEL_PROCEDURE
2260: ,p_module =>l_log_module);
2261: trace
2262: (p_msg => 'security_id_char_2 = '||
2259: ,p_level => C_LEVEL_PROCEDURE
2260: ,p_module =>l_log_module);
2261: trace
2262: (p_msg => 'security_id_char_2 = '||
2263: xla_events_pub_pkg.g_security.security_id_char_2
2264: ,p_level => C_LEVEL_PROCEDURE
2265: ,p_module =>l_log_module);
2266: trace
2267: (p_msg => 'security_id_char_3 = '||
2264: ,p_level => C_LEVEL_PROCEDURE
2265: ,p_module =>l_log_module);
2266: trace
2267: (p_msg => 'security_id_char_3 = '||
2268: xla_events_pub_pkg.g_security.security_id_char_3
2269: ,p_level => C_LEVEL_PROCEDURE
2270: ,p_module =>l_log_module);
2271: END IF;
2272:
2290: ,p_msg_name => 'XLA_COMMON_ERROR'
2291: ,p_token_1 => 'ERROR'
2292: ,p_value_1 => 'For REGULAR events this API cannot be called'
2293: ,p_token_2 => 'LOCATION'
2294: ,p_value_2 => 'xla_events_pkg.update_manual_event');
2295: END IF;
2296:
2297: ----------------------------------------------------------------------------
2298: -- perfrom validations specific to 'updating event'
2303: ,p_msg_name => 'XLA_COMMON_ERROR'
2304: ,p_token_1 => 'ERROR'
2305: ,p_value_1 => 'Event ID cannot have a NULL value.'
2306: ,p_token_2 => 'LOCATION'
2307: ,p_value_2 => 'xla_events_pkg.update_manual_event');
2308: END IF;
2309:
2310: ----------------------------------------------------------------------------
2311: -- validate to make sure that both p_event_status_code and
2321: ,p_value_1 => 'Inconsistent values for event statuses: '||
2322: 'p_event_status_code = '||p_event_status_code||
2323: 'p_process_status_code = '||p_process_status_code
2324: ,p_token_2 => 'LOCATION'
2325: ,p_value_2 => 'xla_events_pkg.update_manual_event');
2326: END IF;
2327:
2328: ----------------------------------------------------------------------------
2329: -- truncate date
2364: ,p_token_1 => 'ERROR'
2365: ,p_value_1 => 'No event exists for the document represented '||
2366: 'by the given source information.'
2367: ,p_token_2 => 'LOCATION'
2368: ,p_value_2 => 'xla_events_pkg.update_manual_event');
2369: END IF;
2370:
2371: ----------------------------------------------------------------------------
2372: -- Actual status update
2370:
2371: ----------------------------------------------------------------------------
2372: -- Actual status update
2373: ----------------------------------------------------------------------------
2374: UPDATE xla_events
2375: SET event_type_code = NVL(p_event_type_code , event_type_code)
2376: ,event_date = NVL(l_event_date , event_date)
2377: ,event_status_code = NVL(p_event_status_code, event_status_code)
2378: ,process_status_code = NVL(p_process_status_code,process_status_code)
2410: ,program_id = xla_environment_pkg.g_prog_id
2411: ,request_id = xla_environment_pkg.g_Req_Id
2412: WHERE event_id = p_event_id
2413: AND entity_id = g_entity_id
2414: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
2415: AND application_id = g_application_id -- 8967771
2416: ;
2417:
2418: l_rowcount := SQL%ROWCOUNT;
2432: ,p_value_1 =>
2433: 'Unable to perform UPDATE on the event. The event ('||p_event_id ||
2434: ') is invalid'
2435: ,p_token_2 => 'LOCATION'
2436: ,p_value_2 => 'xla_events_pkg.update_manual_event');
2437: END IF;
2438:
2439: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2440: trace
2449: RAISE;
2450: WHEN OTHERS THEN
2451: ROLLBACK to SAVEPOINT before_event_update;
2452: xla_exceptions_pkg.raise_message
2453: (p_location => 'xla_events_pkg.update_manual_event');
2454: END update_manual_event;
2455:
2456:
2457: --=============================================================================
2461: --
2462: --=============================================================================
2463:
2464: PROCEDURE delete_event
2465: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
2466: ,p_valuation_method IN VARCHAR2
2467: ,p_event_id IN INTEGER) IS
2468: l_on_hold_flag xla_events.on_hold_flag%type;
2469: l_event_status_code xla_events.event_status_code%type;
2464: PROCEDURE delete_event
2465: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
2466: ,p_valuation_method IN VARCHAR2
2467: ,p_event_id IN INTEGER) IS
2468: l_on_hold_flag xla_events.on_hold_flag%type;
2469: l_event_status_code xla_events.event_status_code%type;
2470: l_event_number xla_events.event_number%type;
2471: l_log_module VARCHAR2(240);
2472: l_rowcount NUMBER;
2465: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
2466: ,p_valuation_method IN VARCHAR2
2467: ,p_event_id IN INTEGER) IS
2468: l_on_hold_flag xla_events.on_hold_flag%type;
2469: l_event_status_code xla_events.event_status_code%type;
2470: l_event_number xla_events.event_number%type;
2471: l_log_module VARCHAR2(240);
2472: l_rowcount NUMBER;
2473: BEGIN
2466: ,p_valuation_method IN VARCHAR2
2467: ,p_event_id IN INTEGER) IS
2468: l_on_hold_flag xla_events.on_hold_flag%type;
2469: l_event_status_code xla_events.event_status_code%type;
2470: l_event_number xla_events.event_number%type;
2471: l_log_module VARCHAR2(240);
2472: l_rowcount NUMBER;
2473: BEGIN
2474: IF g_log_enabled THEN
2552: ,p_level => C_LEVEL_PROCEDURE
2553: ,p_module =>l_log_module);
2554: trace
2555: (p_msg => 'security_id_int_1 = '||
2556: xla_events_pub_pkg.g_security.security_id_int_1
2557: ,p_level => C_LEVEL_PROCEDURE
2558: ,p_module =>l_log_module);
2559: trace
2560: (p_msg => 'security_id_int_2 = '||
2557: ,p_level => C_LEVEL_PROCEDURE
2558: ,p_module =>l_log_module);
2559: trace
2560: (p_msg => 'security_id_int_2 = '||
2561: xla_events_pub_pkg.g_security.security_id_int_2
2562: ,p_level => C_LEVEL_PROCEDURE
2563: ,p_module =>l_log_module);
2564: trace
2565: (p_msg => 'security_id_int_3 = '||
2562: ,p_level => C_LEVEL_PROCEDURE
2563: ,p_module =>l_log_module);
2564: trace
2565: (p_msg => 'security_id_int_3 = '||
2566: xla_events_pub_pkg.g_security.security_id_int_3
2567: ,p_level => C_LEVEL_PROCEDURE
2568: ,p_module =>l_log_module);
2569: trace
2570: (p_msg => 'security_id_char_1 = '||
2567: ,p_level => C_LEVEL_PROCEDURE
2568: ,p_module =>l_log_module);
2569: trace
2570: (p_msg => 'security_id_char_1 = '||
2571: xla_events_pub_pkg.g_security.security_id_char_1
2572: ,p_level => C_LEVEL_PROCEDURE
2573: ,p_module =>l_log_module);
2574: trace
2575: (p_msg => 'security_id_char_2 = '||
2572: ,p_level => C_LEVEL_PROCEDURE
2573: ,p_module =>l_log_module);
2574: trace
2575: (p_msg => 'security_id_char_2 = '||
2576: xla_events_pub_pkg.g_security.security_id_char_2
2577: ,p_level => C_LEVEL_PROCEDURE
2578: ,p_module =>l_log_module);
2579: trace
2580: (p_msg => 'security_id_char_3 = '||
2577: ,p_level => C_LEVEL_PROCEDURE
2578: ,p_module =>l_log_module);
2579: trace
2580: (p_msg => 'security_id_char_3 = '||
2581: xla_events_pub_pkg.g_security.security_id_char_3
2582: ,p_level => C_LEVEL_PROCEDURE
2583: ,p_module =>l_log_module);
2584: trace
2585: (p_msg => 'valuation_method = '||p_valuation_method
2615: ,p_msg_name => 'XLA_COMMON_ERROR'
2616: ,p_token_1 => 'ERROR'
2617: ,p_value_1 => 'Event ID cannot have a NULL value.'
2618: ,p_token_2 => 'LOCATION'
2619: ,p_value_2 => 'xla_events_pkg.delete_event');
2620: END IF;
2621:
2622: ----------------------------------------------------------------------------
2623: -- Validate parameters
2650: ,p_token_1 => 'ERROR'
2651: ,p_value_1 => 'No event exists for the document represented '||
2652: 'by the given source information.'
2653: ,p_token_2 => 'LOCATION'
2654: ,p_value_2 => 'xla_events_pkg.delete_event');
2655: END IF;
2656:
2657: ----------------------------------------------------------------------------
2658: -- Call routine to delete errors/JEs related to the event bug # 2701681
2664: if(g_gapless_flag='Y') then
2665: begin
2666: select on_hold_flag, event_status_code, event_number
2667: into l_on_hold_flag, l_event_status_code, l_event_number
2668: from xla_events
2669: WHERE event_id = p_event_id
2670: AND entity_id = g_entity_id
2671: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
2672: AND application_id = g_application_id -- 8967771
2667: into l_on_hold_flag, l_event_status_code, l_event_number
2668: from xla_events
2669: WHERE event_id = p_event_id
2670: AND entity_id = g_entity_id
2671: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
2672: AND application_id = g_application_id -- 8967771
2673: ;
2674: exception when others then
2675: xla_exceptions_pkg.raise_message
2679: ,p_value_1 =>
2680: 'Unable to perform DELETE on the event. The event ('|| p_event_id ||
2681: ') is either invalid or has been final accounted.'
2682: ,p_token_2 => 'LOCATION'
2683: ,p_value_2 => 'xla_events_pkg.delete_event');
2684: end;
2685: end if;
2686:
2687: ----------------------------------------------------------------------------
2686:
2687: ----------------------------------------------------------------------------
2688: -- Actual Delete of the event
2689: ----------------------------------------------------------------------------
2690: DELETE xla_events
2691: WHERE event_id = p_event_id
2692: AND entity_id = g_entity_id
2693: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
2694: AND application_id = g_application_id -- 8967771
2689: ----------------------------------------------------------------------------
2690: DELETE xla_events
2691: WHERE event_id = p_event_id
2692: AND entity_id = g_entity_id
2693: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
2694: AND application_id = g_application_id -- 8967771
2695: ;
2696:
2697: l_rowcount := SQL%ROWCOUNT;
2711: ,p_value_1 =>
2712: 'Unable to perform DELETE on the event. The event ('|| p_event_id ||
2713: ') is either invalid or has been final accounted.'
2714: ,p_token_2 => 'LOCATION'
2715: ,p_value_2 => 'xla_events_pkg.delete_event');
2716:
2717: ELSIF g_context = C_MANUAL_EVENT_CONTEXT THEN
2718: --------------------------------------------------------------------------
2719: -- this if condition is added to make sure that the entity row is
2726: DELETE xla_transaction_entities xte
2727: WHERE xte.entity_id = g_entity_id
2728: AND xte.application_id = g_application_id
2729: AND NOT EXISTS
2730: (SELECT '1' FROM xla_events xe
2731: WHERE xe.entity_id = xte.entity_id
2732: AND xe.application_id = xte.application_id);
2733:
2734: l_rowcount := SQL%ROWCOUNT;
2741: END IF;
2742:
2743: ELSIF (g_gapless_flag='Y' and l_on_hold_flag='N'
2744: and l_event_status_code<>'I') then
2745: update xla_events
2746: set on_hold_flag='Y'
2747: where entity_id=g_entity_id
2748: and event_number>l_event_number
2749: AND application_id = g_application_id -- 8967771
2763: RAISE;
2764: WHEN OTHERS THEN
2765: ROLLBACK to SAVEPOINT before_event_delete;
2766: xla_exceptions_pkg.raise_message
2767: (p_location => 'xla_events_pkg.delete_event');
2768: END delete_event;
2769:
2770:
2771: --=============================================================================
2775: --
2776: --=============================================================================
2777:
2778: PROCEDURE delete_processed_event
2779: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
2780: ,p_event_id IN INTEGER) IS
2781: l_log_module VARCHAR2(240);
2782: l_rowcount NUMBER;
2783: BEGIN
2862: ,p_level => C_LEVEL_PROCEDURE
2863: ,p_module =>l_log_module);
2864: trace
2865: (p_msg => 'security_id_int_1 = '||
2866: xla_events_pub_pkg.g_security.security_id_int_1
2867: ,p_level => C_LEVEL_PROCEDURE
2868: ,p_module =>l_log_module);
2869: trace
2870: (p_msg => 'security_id_int_2 = '||
2867: ,p_level => C_LEVEL_PROCEDURE
2868: ,p_module =>l_log_module);
2869: trace
2870: (p_msg => 'security_id_int_2 = '||
2871: xla_events_pub_pkg.g_security.security_id_int_2
2872: ,p_level => C_LEVEL_PROCEDURE
2873: ,p_module =>l_log_module);
2874: trace
2875: (p_msg => 'security_id_int_3 = '||
2872: ,p_level => C_LEVEL_PROCEDURE
2873: ,p_module =>l_log_module);
2874: trace
2875: (p_msg => 'security_id_int_3 = '||
2876: xla_events_pub_pkg.g_security.security_id_int_3
2877: ,p_level => C_LEVEL_PROCEDURE
2878: ,p_module =>l_log_module);
2879: trace
2880: (p_msg => 'security_id_char_1 = '||
2877: ,p_level => C_LEVEL_PROCEDURE
2878: ,p_module =>l_log_module);
2879: trace
2880: (p_msg => 'security_id_char_1 = '||
2881: xla_events_pub_pkg.g_security.security_id_char_1
2882: ,p_level => C_LEVEL_PROCEDURE
2883: ,p_module =>l_log_module);
2884: trace
2885: (p_msg => 'security_id_char_2 = '||
2882: ,p_level => C_LEVEL_PROCEDURE
2883: ,p_module =>l_log_module);
2884: trace
2885: (p_msg => 'security_id_char_2 = '||
2886: xla_events_pub_pkg.g_security.security_id_char_2
2887: ,p_level => C_LEVEL_PROCEDURE
2888: ,p_module =>l_log_module);
2889: trace
2890: (p_msg => 'security_id_char_3 = '||
2887: ,p_level => C_LEVEL_PROCEDURE
2888: ,p_module =>l_log_module);
2889: trace
2890: (p_msg => 'security_id_char_3 = '||
2891: xla_events_pub_pkg.g_security.security_id_char_3
2892: ,p_level => C_LEVEL_PROCEDURE
2893: ,p_module =>l_log_module);
2894: END IF;
2895:
2892: ,p_level => C_LEVEL_PROCEDURE
2893: ,p_module =>l_log_module);
2894: END IF;
2895:
2896: trace('> xla_events_pkg.delete_processed_event' , 20);
2897:
2898: SAVEPOINT before_event_delete;
2899: g_action := C_EVENT_DELETE;
2900:
2915: ,p_msg_name => 'XLA_COMMON_ERROR'
2916: ,p_token_1 => 'ERROR'
2917: ,p_value_1 => 'For REGULAR events this API cannot be called'
2918: ,p_token_2 => 'LOCATION'
2919: ,p_value_2 => 'xla_events_pkg.delete_processed_event');
2920: END IF;
2921:
2922: ----------------------------------------------------------------------------
2923: -- perform validations specific to 'deleting event'
2928: ,p_msg_name => 'XLA_COMMON_ERROR'
2929: ,p_token_1 => 'ERROR'
2930: ,p_value_1 => 'Event ID cannot have a NULL value.'
2931: ,p_token_2 => 'LOCATION'
2932: ,p_value_2 => 'xla_events_pkg.delete_processed_event');
2933: END IF;
2934:
2935: ----------------------------------------------------------------------------
2936: -- Validate parameters
2963: ,p_token_1 => 'ERROR'
2964: ,p_value_1 => 'No event exists for the document represented '||
2965: 'by the given source information.'
2966: ,p_token_2 => 'LOCATION'
2967: ,p_value_2 => 'xla_events_pkg.delete_processed_event');
2968: END IF;
2969:
2970: ----------------------------------------------------------------------------
2971: -- Call routine to delete errors/JEs related to the event bug # 2701681
2976:
2977: ----------------------------------------------------------------------------
2978: -- Actual Delete of the event
2979: ----------------------------------------------------------------------------
2980: DELETE xla_events
2981: WHERE event_id = p_event_id
2982: AND entity_id = g_entity_id
2983: AND event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED
2984: AND application_id = g_application_id -- 8967771
2979: ----------------------------------------------------------------------------
2980: DELETE xla_events
2981: WHERE event_id = p_event_id
2982: AND entity_id = g_entity_id
2983: AND event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED
2984: AND application_id = g_application_id -- 8967771
2985: ;
2986:
2987: l_rowcount := SQL%ROWCOUNT;
3001: ,p_value_1 =>
3002: 'Unable to perform DELETE on the event. The event ('|| p_event_id ||
3003: ') is either invalid or has not been final accounted.'
3004: ,p_token_2 => 'LOCATION'
3005: ,p_value_2 => 'xla_events_pkg.delete_processed_event');
3006: ELSE
3007: -------------------------------------------------------------------------
3008: -- following will delete the row from entities if there is no
3009: -- event exists for the entity
3011: DELETE xla_transaction_entities xte
3012: WHERE xte.entity_id = g_entity_id
3013: AND xte.application_id = g_application_id
3014: AND NOT EXISTS
3015: (SELECT '1' FROM xla_events xe
3016: WHERE xe.entity_id = xte.entity_id
3017: AND xe.application_id = xte.application_id);
3018:
3019: l_rowcount := SQL%ROWCOUNT;
3040: RAISE;
3041: WHEN OTHERS THEN
3042: ROLLBACK to SAVEPOINT before_event_delete;
3043: xla_exceptions_pkg.raise_message
3044: (p_location => 'xla_events_pkg.delete_processed_event');
3045: END delete_processed_event;
3046:
3047:
3048: --=============================================================================
3052: --
3053: --=============================================================================
3054:
3055: FUNCTION delete_events
3056: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
3057: ,p_valuation_method IN VARCHAR2
3058: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
3059: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
3060: ,p_event_date IN DATE DEFAULT NULL)
3153: ,p_level => C_LEVEL_PROCEDURE
3154: ,p_module =>l_log_module);
3155: trace
3156: (p_msg => 'security_id_int_1 = '||
3157: xla_events_pub_pkg.g_security.security_id_int_1
3158: ,p_level => C_LEVEL_PROCEDURE
3159: ,p_module =>l_log_module);
3160: trace
3161: (p_msg => 'security_id_int_2 = '||
3158: ,p_level => C_LEVEL_PROCEDURE
3159: ,p_module =>l_log_module);
3160: trace
3161: (p_msg => 'security_id_int_2 = '||
3162: xla_events_pub_pkg.g_security.security_id_int_2
3163: ,p_level => C_LEVEL_PROCEDURE
3164: ,p_module =>l_log_module);
3165: trace
3166: (p_msg => 'security_id_int_3 = '||
3163: ,p_level => C_LEVEL_PROCEDURE
3164: ,p_module =>l_log_module);
3165: trace
3166: (p_msg => 'security_id_int_3 = '||
3167: xla_events_pub_pkg.g_security.security_id_int_3
3168: ,p_level => C_LEVEL_PROCEDURE
3169: ,p_module =>l_log_module);
3170: trace
3171: (p_msg => 'security_id_char_1 = '||
3168: ,p_level => C_LEVEL_PROCEDURE
3169: ,p_module =>l_log_module);
3170: trace
3171: (p_msg => 'security_id_char_1 = '||
3172: xla_events_pub_pkg.g_security.security_id_char_1
3173: ,p_level => C_LEVEL_PROCEDURE
3174: ,p_module =>l_log_module);
3175: trace
3176: (p_msg => 'security_id_char_2 = '||
3173: ,p_level => C_LEVEL_PROCEDURE
3174: ,p_module =>l_log_module);
3175: trace
3176: (p_msg => 'security_id_char_2 = '||
3177: xla_events_pub_pkg.g_security.security_id_char_2
3178: ,p_level => C_LEVEL_PROCEDURE
3179: ,p_module =>l_log_module);
3180: trace
3181: (p_msg => 'security_id_char_3 = '||
3178: ,p_level => C_LEVEL_PROCEDURE
3179: ,p_module =>l_log_module);
3180: trace
3181: (p_msg => 'security_id_char_3 = '||
3182: xla_events_pub_pkg.g_security.security_id_char_3
3183: ,p_level => C_LEVEL_PROCEDURE
3184: ,p_module =>l_log_module);
3185: trace
3186: (p_msg => 'valuation_method = '||p_valuation_method
3206: ,p_msg_name => 'XLA_COMMON_ERROR'
3207: ,p_token_1 => 'ERROR'
3208: ,p_value_1 => 'For MANUAL events this API cannot be called'
3209: ,p_token_2 => 'LOCATION'
3210: ,p_value_2 => 'xla_events_pkg.delete_events');
3211: ELSE
3212: g_context := C_REGULAR_EVENT_CONTEXT;
3213: END IF;
3214:
3250: ,p_token_1 => 'ERROR'
3251: ,p_value_1 => 'No event exists for the document represented '||
3252: 'by the given source information.'
3253: ,p_token_2 => 'LOCATION'
3254: ,p_value_2 => 'xla_events_pkg.delete_events (fn)');
3255: END IF;
3256:
3257: ----------------------------------------------------------------------------
3258: -- Fetching event ids for the events that are going to be deleted
3260: begin
3261: if(g_gapless_flag='N') then
3262: SELECT event_id BULK COLLECT
3263: INTO l_array_events
3264: FROM xla_events
3265: WHERE event_date = NVL(l_event_date, event_date)
3266: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
3267: AND event_type_code = NVL(p_event_type_code, event_type_code)
3268: AND entity_id = g_entity_id
3262: SELECT event_id BULK COLLECT
3263: INTO l_array_events
3264: FROM xla_events
3265: WHERE event_date = NVL(l_event_date, event_date)
3266: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
3267: AND event_type_code = NVL(p_event_type_code, event_type_code)
3268: AND entity_id = g_entity_id
3269: AND application_id = g_application_id -- 8967771
3270: AND event_type_code IN
3276: event_class_code));
3277: else
3278: SELECT event_id, event_number BULK COLLECT
3279: INTO l_array_events, g_gapless_event_number
3280: FROM xla_events
3281: WHERE event_date = NVL(l_event_date, event_date)
3282: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
3283: AND event_type_code = NVL(p_event_type_code, event_type_code)
3284: AND entity_id = g_entity_id
3278: SELECT event_id, event_number BULK COLLECT
3279: INTO l_array_events, g_gapless_event_number
3280: FROM xla_events
3281: WHERE event_date = NVL(l_event_date, event_date)
3282: AND event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED
3283: AND event_type_code = NVL(p_event_type_code, event_type_code)
3284: AND entity_id = g_entity_id
3285: AND application_id = g_application_id -- 8967771
3286: AND event_type_code IN
3308: ----------------------------------------------------------------------------
3309: -- Actual Delete
3310: ----------------------------------------------------------------------------
3311: FORAll i IN 1..l_array_events.COUNT
3312: DELETE xla_events
3313: WHERE event_id = l_array_events(i)
3314: AND application_id = g_application_id -- 8967771
3315: ;
3316:
3327: ,p_module =>l_log_module);
3328: END IF;
3329:
3330: if(g_gapless_flag='Y' and l_event_deleted>0 ) then
3331: update xla_events
3332: set on_hold_flag='Y'
3333: where event_number>g_gapless_event_number(1)
3334: and on_hold_flag='N'
3335: and entity_id=g_entity_id
3356: RAISE;
3357: WHEN OTHERS THEN
3358: ROLLBACK to SAVEPOINT before_event_delete;
3359: xla_exceptions_pkg.raise_message
3360: (p_location => 'xla_events_pkg.delete_events (fn)');
3361: END delete_events;
3362:
3363:
3364: --============================================================================
3371: --
3372: --============================================================================
3373:
3374: FUNCTION delete_entity
3375: (p_source_info IN xla_events_pub_pkg.t_event_source_info
3376: ,p_valuation_method IN VARCHAR2)
3377: RETURN INTEGER IS
3378:
3379: l_log_module VARCHAR2(240);
3380: l_temp NUMBER;
3381: l_entity_id XLA_TRANSACTION_ENTITIES.ENTITY_ID%TYPE;
3382: cursor c_existing_events is
3383: select 1
3384: from xla_events
3385: where entity_id=l_entity_id;
3386: BEGIN
3387: IF g_log_enabled THEN
3388: l_log_module := C_DEFAULT_MODULE||'.delete_entity';
3451: ,p_level => C_LEVEL_PROCEDURE
3452: ,p_module =>l_log_module);
3453: trace
3454: (p_msg => 'security_id_int_1 = '||
3455: xla_events_pub_pkg.g_security.security_id_int_1
3456: ,p_level => C_LEVEL_PROCEDURE
3457: ,p_module =>l_log_module);
3458: trace
3459: (p_msg => 'security_id_int_2 = '||
3456: ,p_level => C_LEVEL_PROCEDURE
3457: ,p_module =>l_log_module);
3458: trace
3459: (p_msg => 'security_id_int_2 = '||
3460: xla_events_pub_pkg.g_security.security_id_int_2
3461: ,p_level => C_LEVEL_PROCEDURE
3462: ,p_module =>l_log_module);
3463: trace
3464: (p_msg => 'security_id_int_3 = '||
3461: ,p_level => C_LEVEL_PROCEDURE
3462: ,p_module =>l_log_module);
3463: trace
3464: (p_msg => 'security_id_int_3 = '||
3465: xla_events_pub_pkg.g_security.security_id_int_3
3466: ,p_level => C_LEVEL_PROCEDURE
3467: ,p_module =>l_log_module);
3468: trace
3469: (p_msg => 'security_id_char_1 = '||
3466: ,p_level => C_LEVEL_PROCEDURE
3467: ,p_module =>l_log_module);
3468: trace
3469: (p_msg => 'security_id_char_1 = '||
3470: xla_events_pub_pkg.g_security.security_id_char_1
3471: ,p_level => C_LEVEL_PROCEDURE
3472: ,p_module =>l_log_module);
3473: trace
3474: (p_msg => 'security_id_char_2 = '||
3471: ,p_level => C_LEVEL_PROCEDURE
3472: ,p_module =>l_log_module);
3473: trace
3474: (p_msg => 'security_id_char_2 = '||
3475: xla_events_pub_pkg.g_security.security_id_char_2
3476: ,p_level => C_LEVEL_PROCEDURE
3477: ,p_module =>l_log_module);
3478: trace
3479: (p_msg => 'security_id_char_3 = '||
3476: ,p_level => C_LEVEL_PROCEDURE
3477: ,p_module =>l_log_module);
3478: trace
3479: (p_msg => 'security_id_char_3 = '||
3480: xla_events_pub_pkg.g_security.security_id_char_3
3481: ,p_level => C_LEVEL_PROCEDURE
3482: ,p_module =>l_log_module);
3483: trace
3484: (p_msg => 'valuation_method = '||p_valuation_method
3525: NVL(p_source_info.source_id_char_4,' ')
3526: AND NVL(a.valuation_method,C_CHAR) =
3527: NVL(p_valuation_method,C_CHAR)
3528: AND NVL(a.security_id_int_1,-99) =
3529: NVL(xla_events_pub_pkg.g_security.security_id_int_1,-99)
3530: AND NVL(a.security_id_int_2,-99) =
3531: NVL(xla_events_pub_pkg.g_security.security_id_int_2,-99)
3532: AND NVL(a.security_id_int_3,-99) =
3533: NVL(xla_events_pub_pkg.g_security.security_id_int_3,-99)
3527: NVL(p_valuation_method,C_CHAR)
3528: AND NVL(a.security_id_int_1,-99) =
3529: NVL(xla_events_pub_pkg.g_security.security_id_int_1,-99)
3530: AND NVL(a.security_id_int_2,-99) =
3531: NVL(xla_events_pub_pkg.g_security.security_id_int_2,-99)
3532: AND NVL(a.security_id_int_3,-99) =
3533: NVL(xla_events_pub_pkg.g_security.security_id_int_3,-99)
3534: AND NVL(a.security_id_char_1,' ') =
3535: NVL(xla_events_pub_pkg.g_security.security_id_char_1,' ')
3529: NVL(xla_events_pub_pkg.g_security.security_id_int_1,-99)
3530: AND NVL(a.security_id_int_2,-99) =
3531: NVL(xla_events_pub_pkg.g_security.security_id_int_2,-99)
3532: AND NVL(a.security_id_int_3,-99) =
3533: NVL(xla_events_pub_pkg.g_security.security_id_int_3,-99)
3534: AND NVL(a.security_id_char_1,' ') =
3535: NVL(xla_events_pub_pkg.g_security.security_id_char_1,' ')
3536: AND NVL(a.security_id_char_2,' ') =
3537: NVL(xla_events_pub_pkg.g_security.security_id_char_2,' ')
3531: NVL(xla_events_pub_pkg.g_security.security_id_int_2,-99)
3532: AND NVL(a.security_id_int_3,-99) =
3533: NVL(xla_events_pub_pkg.g_security.security_id_int_3,-99)
3534: AND NVL(a.security_id_char_1,' ') =
3535: NVL(xla_events_pub_pkg.g_security.security_id_char_1,' ')
3536: AND NVL(a.security_id_char_2,' ') =
3537: NVL(xla_events_pub_pkg.g_security.security_id_char_2,' ')
3538: AND NVL(a.security_id_char_3,' ') =
3539: NVL(xla_events_pub_pkg.g_security.security_id_char_3,' ');
3533: NVL(xla_events_pub_pkg.g_security.security_id_int_3,-99)
3534: AND NVL(a.security_id_char_1,' ') =
3535: NVL(xla_events_pub_pkg.g_security.security_id_char_1,' ')
3536: AND NVL(a.security_id_char_2,' ') =
3537: NVL(xla_events_pub_pkg.g_security.security_id_char_2,' ')
3538: AND NVL(a.security_id_char_3,' ') =
3539: NVL(xla_events_pub_pkg.g_security.security_id_char_3,' ');
3540: EXCEPTION when others then
3541: xla_exceptions_pkg.raise_message
3535: NVL(xla_events_pub_pkg.g_security.security_id_char_1,' ')
3536: AND NVL(a.security_id_char_2,' ') =
3537: NVL(xla_events_pub_pkg.g_security.security_id_char_2,' ')
3538: AND NVL(a.security_id_char_3,' ') =
3539: NVL(xla_events_pub_pkg.g_security.security_id_char_3,' ');
3540: EXCEPTION when others then
3541: xla_exceptions_pkg.raise_message
3542: (p_appli_s_name => 'XLA'
3543: ,p_msg_name => 'XLA_COMMON_ERROR'
3544: ,p_token_1 => 'ERROR'
3545: ,p_value_1 =>
3546: 'Unable to perform DELETE on the entity. The entity does not exist'
3547: ,p_token_2 => 'LOCATION'
3548: ,p_value_2 => 'xla_events_pkg.delete_entity');
3549: END;
3550:
3551: OPEN c_existing_events;
3552: FETCH c_existing_events into l_temp;
3595: RAISE;
3596: WHEN OTHERS THEN
3597: ROLLBACK to SAVEPOINT before_entity_delete;
3598: xla_exceptions_pkg.raise_message
3599: (p_location => 'xla_events_pkg.delete_entity');
3600: END delete_entity;
3601:
3602: --=============================================================================
3603: --
3606: --
3607: --=============================================================================
3608:
3609: PROCEDURE purge_entity
3610: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info) IS
3611: BEGIN
3612: trace('> xla_events_pkg.delete_entity' , 20);
3613:
3614: SAVEPOINT before_entity_delete;
3608:
3609: PROCEDURE purge_entity
3610: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info) IS
3611: BEGIN
3612: trace('> xla_events_pkg.delete_entity' , 20);
3613:
3614: SAVEPOINT before_entity_delete;
3615: g_action := C_EVENT_DELETE;
3616:
3644: ,p_token_1 => 'ERROR'
3645: ,p_value_1 =>
3646: 'No event exists for the document represented by the given source information.'
3647: ,p_token_2 => 'LOCATION'
3648: ,p_value_2 => 'xla_events_pkg.delete_entity');
3649: END IF;
3650:
3651: trace('< xla_events_pkg.delete_entity' , 20);
3652: EXCEPTION
3647: ,p_token_2 => 'LOCATION'
3648: ,p_value_2 => 'xla_events_pkg.delete_entity');
3649: END IF;
3650:
3651: trace('< xla_events_pkg.delete_entity' , 20);
3652: EXCEPTION
3653: WHEN xla_exceptions_pkg.application_exception THEN
3654: ROLLBACK to SAVEPOINT before_entity_delete;
3655: RAISE;
3655: RAISE;
3656: WHEN OTHERS THEN
3657: ROLLBACK to SAVEPOINT before_entity_delete;
3658: xla_exceptions_pkg.raise_message
3659: (p_location => 'xla_events_pkg.delete_entity');
3660: END purge_entity;
3661:
3662:
3663: --=============================================================================
3667: --
3668: --=============================================================================
3669:
3670: FUNCTION get_event_info
3671: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
3672: ,p_valuation_method IN VARCHAR2
3673: ,p_event_id IN INTEGER)
3674: RETURN xla_events_pub_pkg.t_event_info IS
3675:
3670: FUNCTION get_event_info
3671: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
3672: ,p_valuation_method IN VARCHAR2
3673: ,p_event_id IN INTEGER)
3674: RETURN xla_events_pub_pkg.t_event_info IS
3675:
3676: l_event_info xla_events_pub_pkg.t_event_info;
3677: l_log_module VARCHAR2(240);
3678:
3672: ,p_valuation_method IN VARCHAR2
3673: ,p_event_id IN INTEGER)
3674: RETURN xla_events_pub_pkg.t_event_info IS
3675:
3676: l_event_info xla_events_pub_pkg.t_event_info;
3677: l_log_module VARCHAR2(240);
3678:
3679: BEGIN
3680: IF g_log_enabled THEN
3758: ,p_level => C_LEVEL_PROCEDURE
3759: ,p_module =>l_log_module);
3760: trace
3761: (p_msg => 'security_id_int_1 = '||
3762: xla_events_pub_pkg.g_security.security_id_int_1
3763: ,p_level => C_LEVEL_PROCEDURE
3764: ,p_module =>l_log_module);
3765: trace
3766: (p_msg => 'security_id_int_2 = '||
3763: ,p_level => C_LEVEL_PROCEDURE
3764: ,p_module =>l_log_module);
3765: trace
3766: (p_msg => 'security_id_int_2 = '||
3767: xla_events_pub_pkg.g_security.security_id_int_2
3768: ,p_level => C_LEVEL_PROCEDURE
3769: ,p_module =>l_log_module);
3770: trace
3771: (p_msg => 'security_id_int_3 = '||
3768: ,p_level => C_LEVEL_PROCEDURE
3769: ,p_module =>l_log_module);
3770: trace
3771: (p_msg => 'security_id_int_3 = '||
3772: xla_events_pub_pkg.g_security.security_id_int_3
3773: ,p_level => C_LEVEL_PROCEDURE
3774: ,p_module =>l_log_module);
3775: trace
3776: (p_msg => 'security_id_char_1 = '||
3773: ,p_level => C_LEVEL_PROCEDURE
3774: ,p_module =>l_log_module);
3775: trace
3776: (p_msg => 'security_id_char_1 = '||
3777: xla_events_pub_pkg.g_security.security_id_char_1
3778: ,p_level => C_LEVEL_PROCEDURE
3779: ,p_module =>l_log_module);
3780: trace
3781: (p_msg => 'security_id_char_2 = '||
3778: ,p_level => C_LEVEL_PROCEDURE
3779: ,p_module =>l_log_module);
3780: trace
3781: (p_msg => 'security_id_char_2 = '||
3782: xla_events_pub_pkg.g_security.security_id_char_2
3783: ,p_level => C_LEVEL_PROCEDURE
3784: ,p_module =>l_log_module);
3785: trace
3786: (p_msg => 'security_id_char_3 = '||
3783: ,p_level => C_LEVEL_PROCEDURE
3784: ,p_module =>l_log_module);
3785: trace
3786: (p_msg => 'security_id_char_3 = '||
3787: xla_events_pub_pkg.g_security.security_id_char_3
3788: ,p_level => C_LEVEL_PROCEDURE
3789: ,p_module =>l_log_module);
3790: trace
3791: (p_msg => 'valuation_method = '||p_valuation_method
3821: ,p_token_1 => 'ERROR'
3822: ,p_value_1 =>
3823: 'Event ID has an invalid value. It cannot have a NULL value.'
3824: ,p_token_2 => 'LOCATION'
3825: ,p_value_2 => 'xla_events_pkg.get_event_info');
3826: END IF;
3827:
3828: ----------------------------------------------------------------------------
3829: -- Validate parameters
3856: ,p_token_1 => 'ERROR'
3857: ,p_value_1 => 'No event exists for the document represented '||
3858: 'by the given source information.'
3859: ,p_token_2 => 'LOCATION'
3860: ,p_value_2 => 'xla_events_pkg.get_event_info');
3861: END IF;
3862:
3863: SELECT event_id
3864: ,event_number
3895: ,l_event_info.reference_date_1
3896: ,l_event_info.reference_date_2
3897: ,l_event_info.reference_date_3
3898: ,l_event_info.reference_date_4
3899: FROM xla_events
3900: WHERE event_id = p_event_id
3901: AND entity_id = g_entity_id
3902: AND application_id = g_application_id -- 8967771
3903: ;
3917: ,p_msg_name => 'XLA_COMMON_ERROR'
3918: ,p_token_1 => 'ERROR'
3919: ,p_value_1 => 'The event id '||p_event_id||' does not exist'
3920: ,p_token_2 => 'LOCATION'
3921: ,p_value_2 => 'xla_events_pkg.get_event_info');
3922: WHEN xla_exceptions_pkg.application_exception THEN
3923: RAISE;
3924: WHEN OTHERS THEN
3925: xla_exceptions_pkg.raise_message
3922: WHEN xla_exceptions_pkg.application_exception THEN
3923: RAISE;
3924: WHEN OTHERS THEN
3925: xla_exceptions_pkg.raise_message
3926: (p_location => 'xla_events_pkg.get_event_info (fn)');
3927: END get_event_info;
3928:
3929:
3930: --=============================================================================
3933: --
3934: --=============================================================================
3935:
3936: FUNCTION get_event_status
3937: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
3938: ,p_valuation_method IN VARCHAR2
3939: ,p_event_id IN INTEGER)
3940: RETURN VARCHAR2 IS
3941:
3938: ,p_valuation_method IN VARCHAR2
3939: ,p_event_id IN INTEGER)
3940: RETURN VARCHAR2 IS
3941:
3942: l_event_info xla_events_pub_pkg.t_event_info;
3943: l_log_module VARCHAR2(240);
3944: BEGIN
3945: IF g_log_enabled THEN
3946: l_log_module := C_DEFAULT_MODULE||'.get_event_status';
4023: ,p_level => C_LEVEL_PROCEDURE
4024: ,p_module =>l_log_module);
4025: trace
4026: (p_msg => 'security_id_int_1 = '||
4027: xla_events_pub_pkg.g_security.security_id_int_1
4028: ,p_level => C_LEVEL_PROCEDURE
4029: ,p_module =>l_log_module);
4030: trace
4031: (p_msg => 'security_id_int_2 = '||
4028: ,p_level => C_LEVEL_PROCEDURE
4029: ,p_module =>l_log_module);
4030: trace
4031: (p_msg => 'security_id_int_2 = '||
4032: xla_events_pub_pkg.g_security.security_id_int_2
4033: ,p_level => C_LEVEL_PROCEDURE
4034: ,p_module =>l_log_module);
4035: trace
4036: (p_msg => 'security_id_int_3 = '||
4033: ,p_level => C_LEVEL_PROCEDURE
4034: ,p_module =>l_log_module);
4035: trace
4036: (p_msg => 'security_id_int_3 = '||
4037: xla_events_pub_pkg.g_security.security_id_int_3
4038: ,p_level => C_LEVEL_PROCEDURE
4039: ,p_module =>l_log_module);
4040: trace
4041: (p_msg => 'security_id_char_1 = '||
4038: ,p_level => C_LEVEL_PROCEDURE
4039: ,p_module =>l_log_module);
4040: trace
4041: (p_msg => 'security_id_char_1 = '||
4042: xla_events_pub_pkg.g_security.security_id_char_1
4043: ,p_level => C_LEVEL_PROCEDURE
4044: ,p_module =>l_log_module);
4045: trace
4046: (p_msg => 'security_id_char_2 = '||
4043: ,p_level => C_LEVEL_PROCEDURE
4044: ,p_module =>l_log_module);
4045: trace
4046: (p_msg => 'security_id_char_2 = '||
4047: xla_events_pub_pkg.g_security.security_id_char_2
4048: ,p_level => C_LEVEL_PROCEDURE
4049: ,p_module =>l_log_module);
4050: trace
4051: (p_msg => 'security_id_char_3 = '||
4048: ,p_level => C_LEVEL_PROCEDURE
4049: ,p_module =>l_log_module);
4050: trace
4051: (p_msg => 'security_id_char_3 = '||
4052: xla_events_pub_pkg.g_security.security_id_char_3
4053: ,p_level => C_LEVEL_PROCEDURE
4054: ,p_module =>l_log_module);
4055: trace
4056: (p_msg => 'valuation_method = '||p_valuation_method
4079: WHEN xla_exceptions_pkg.application_exception THEN
4080: RAISE;
4081: WHEN OTHERS THEN
4082: xla_exceptions_pkg.raise_message
4083: (p_location => 'xla_events_pkg.get_event_status (fn)');
4084: END get_event_status ;
4085:
4086:
4087: --=============================================================================
4091: --
4092: --=============================================================================
4093:
4094: FUNCTION event_exists
4095: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
4096: ,p_valuation_method IN VARCHAR2
4097: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
4098: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
4099: ,p_event_date IN DATE DEFAULT NULL
4120:
4121: /* commented out this cursor for performance fix 13698935
4122: CURSOR c1 IS
4123: SELECT event_status_code
4124: FROM xla_events
4125: WHERE event_date = NVL(l_event_date, event_date)
4126: AND event_type_code = NVL(p_event_type_code, event_type_code)
4127: AND event_status_code = NVL(p_event_status_code, event_status_code)
4128: AND event_number = NVL(p_event_number, event_number)
4239: ,p_level => C_LEVEL_PROCEDURE
4240: ,p_module =>l_log_module);
4241: trace
4242: (p_msg => 'security_id_int_1 = '||
4243: xla_events_pub_pkg.g_security.security_id_int_1
4244: ,p_level => C_LEVEL_PROCEDURE
4245: ,p_module =>l_log_module);
4246: trace
4247: (p_msg => 'security_id_int_2 = '||
4244: ,p_level => C_LEVEL_PROCEDURE
4245: ,p_module =>l_log_module);
4246: trace
4247: (p_msg => 'security_id_int_2 = '||
4248: xla_events_pub_pkg.g_security.security_id_int_2
4249: ,p_level => C_LEVEL_PROCEDURE
4250: ,p_module =>l_log_module);
4251: trace
4252: (p_msg => 'security_id_int_3 = '||
4249: ,p_level => C_LEVEL_PROCEDURE
4250: ,p_module =>l_log_module);
4251: trace
4252: (p_msg => 'security_id_int_3 = '||
4253: xla_events_pub_pkg.g_security.security_id_int_3
4254: ,p_level => C_LEVEL_PROCEDURE
4255: ,p_module =>l_log_module);
4256: trace
4257: (p_msg => 'security_id_char_1 = '||
4254: ,p_level => C_LEVEL_PROCEDURE
4255: ,p_module =>l_log_module);
4256: trace
4257: (p_msg => 'security_id_char_1 = '||
4258: xla_events_pub_pkg.g_security.security_id_char_1
4259: ,p_level => C_LEVEL_PROCEDURE
4260: ,p_module =>l_log_module);
4261: trace
4262: (p_msg => 'security_id_char_2 = '||
4259: ,p_level => C_LEVEL_PROCEDURE
4260: ,p_module =>l_log_module);
4261: trace
4262: (p_msg => 'security_id_char_2 = '||
4263: xla_events_pub_pkg.g_security.security_id_char_2
4264: ,p_level => C_LEVEL_PROCEDURE
4265: ,p_module =>l_log_module);
4266: trace
4267: (p_msg => 'security_id_char_3 = '||
4264: ,p_level => C_LEVEL_PROCEDURE
4265: ,p_module =>l_log_module);
4266: trace
4267: (p_msg => 'security_id_char_3 = '||
4268: xla_events_pub_pkg.g_security.security_id_char_3
4269: ,p_level => C_LEVEL_PROCEDURE
4270: ,p_module =>l_log_module);
4271: trace
4272: (p_msg => 'valuation_method = '||p_valuation_method
4291: ,p_msg_name => 'XLA_COMMON_ERROR'
4292: ,p_token_1 => 'ERROR'
4293: ,p_value_1 => 'For MANUAL events event_id cannot be NULL'
4294: ,p_token_2 => 'LOCATION'
4295: ,p_value_2 => 'xla_events_pkg.event_exists');
4296: END IF;
4297: g_context := C_MANUAL_EVENT_CONTEXT;
4298: ELSE
4299: g_context := C_REGULAR_EVENT_CONTEXT;
4353: ,p_token_1 => 'ERROR'
4354: ,p_value_1 => 'No event exists for the document represented '||
4355: 'by the given source information.'
4356: ,p_token_2 => 'LOCATION'
4357: ,p_value_2 => 'xla_events_pkg.event_exists (fn)');
4358: */
4359: END IF;
4360:
4361:
4362: -- Begin fix for bug 13698935
4363:
4364: v_event_status_cur_stmt:=
4365: 'SELECT event_status_code
4366: FROM xla_events
4367: WHERE entity_id = :'|| l_evt_status_bind_count;
4368: l_evt_status_bind_array(l_evt_status_bind_count):=to_char(g_entity_id);
4369: l_evt_status_bind_count := l_evt_status_bind_count + 1;
4370:
4569: IF event_status_cur%ISOPEN THEN
4570: CLOSE event_status_cur; -- bug 13698935
4571: END IF;
4572: xla_exceptions_pkg.raise_message
4573: (p_location => 'xla_events_pkg.event_exists (fn)');
4574: END event_exists;
4575:
4576:
4577: --=============================================================================
4581: --
4582: --=============================================================================
4583:
4584: PROCEDURE update_transaction_number
4585: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
4586: ,p_valuation_method IN VARCHAR2
4587: ,p_transaction_number IN VARCHAR2
4588: ,p_event_id IN NUMBER DEFAULT NULL) IS -- 8761772
4589: l_log_module VARCHAR2(240);
4673: ,p_level => C_LEVEL_PROCEDURE
4674: ,p_module =>l_log_module);
4675: trace
4676: (p_msg => 'security_id_int_1 = '||
4677: xla_events_pub_pkg.g_security.security_id_int_1
4678: ,p_level => C_LEVEL_PROCEDURE
4679: ,p_module =>l_log_module);
4680: trace
4681: (p_msg => 'security_id_int_2 = '||
4678: ,p_level => C_LEVEL_PROCEDURE
4679: ,p_module =>l_log_module);
4680: trace
4681: (p_msg => 'security_id_int_2 = '||
4682: xla_events_pub_pkg.g_security.security_id_int_2
4683: ,p_level => C_LEVEL_PROCEDURE
4684: ,p_module =>l_log_module);
4685: trace
4686: (p_msg => 'security_id_int_3 = '||
4683: ,p_level => C_LEVEL_PROCEDURE
4684: ,p_module =>l_log_module);
4685: trace
4686: (p_msg => 'security_id_int_3 = '||
4687: xla_events_pub_pkg.g_security.security_id_int_3
4688: ,p_level => C_LEVEL_PROCEDURE
4689: ,p_module =>l_log_module);
4690: trace
4691: (p_msg => 'security_id_char_1 = '||
4688: ,p_level => C_LEVEL_PROCEDURE
4689: ,p_module =>l_log_module);
4690: trace
4691: (p_msg => 'security_id_char_1 = '||
4692: xla_events_pub_pkg.g_security.security_id_char_1
4693: ,p_level => C_LEVEL_PROCEDURE
4694: ,p_module =>l_log_module);
4695: trace
4696: (p_msg => 'security_id_char_2 = '||
4693: ,p_level => C_LEVEL_PROCEDURE
4694: ,p_module =>l_log_module);
4695: trace
4696: (p_msg => 'security_id_char_2 = '||
4697: xla_events_pub_pkg.g_security.security_id_char_2
4698: ,p_level => C_LEVEL_PROCEDURE
4699: ,p_module =>l_log_module);
4700: trace
4701: (p_msg => 'security_id_char_3 = '||
4698: ,p_level => C_LEVEL_PROCEDURE
4699: ,p_module =>l_log_module);
4700: trace
4701: (p_msg => 'security_id_char_3 = '||
4702: xla_events_pub_pkg.g_security.security_id_char_3
4703: ,p_level => C_LEVEL_PROCEDURE
4704: ,p_module =>l_log_module);
4705: trace
4706: (p_msg => 'valuation_method = '||p_valuation_method
4725: ,p_msg_name => 'XLA_COMMON_ERROR'
4726: ,p_token_1 => 'ERROR'
4727: ,p_value_1 => 'For MANUAL events event_id cannot be NULL'
4728: ,p_token_2 => 'LOCATION'
4729: ,p_value_2 => 'xla_events_pkg.update_transaction_number');
4730: END IF;
4731: g_context := C_MANUAL_EVENT_CONTEXT;
4732: ELSE
4733: g_context := C_REGULAR_EVENT_CONTEXT;
4766: ,p_token_1 => 'ERROR'
4767: ,p_value_1 => 'No event exists for the document represented '||
4768: 'by the given source information.'
4769: ,p_token_2 => 'LOCATION'
4770: ,p_value_2 => 'xla_events_pkg.update_transaction_number');
4771: END IF;
4772:
4773: update_entity_trx_number
4774: (p_transaction_number => p_transaction_number);
4784: WHEN xla_exceptions_pkg.application_exception THEN
4785: RAISE;
4786: WHEN OTHERS THEN
4787: xla_exceptions_pkg.raise_message
4788: (p_location => 'xla_events_pkg.update_transaction_number');
4789: END update_transaction_number;
4790:
4791: --============================================================================
4792: --
4795: --
4796: --============================================================================
4797:
4798: FUNCTION allow_third_party_update
4799: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
4800: ,p_valuation_method IN VARCHAR2)
4801: RETURN BOOLEAN IS
4802: l_log_module VARCHAR2(240);
4803: l_count NUMBER;
4879: ,p_level => C_LEVEL_PROCEDURE
4880: ,p_module =>l_log_module);
4881: trace
4882: (p_msg => 'security_id_int_1 = '||
4883: xla_events_pub_pkg.g_security.security_id_int_1
4884: ,p_level => C_LEVEL_PROCEDURE
4885: ,p_module =>l_log_module);
4886: trace
4887: (p_msg => 'security_id_int_2 = '||
4884: ,p_level => C_LEVEL_PROCEDURE
4885: ,p_module =>l_log_module);
4886: trace
4887: (p_msg => 'security_id_int_2 = '||
4888: xla_events_pub_pkg.g_security.security_id_int_2
4889: ,p_level => C_LEVEL_PROCEDURE
4890: ,p_module =>l_log_module);
4891: trace
4892: (p_msg => 'security_id_int_3 = '||
4889: ,p_level => C_LEVEL_PROCEDURE
4890: ,p_module =>l_log_module);
4891: trace
4892: (p_msg => 'security_id_int_3 = '||
4893: xla_events_pub_pkg.g_security.security_id_int_3
4894: ,p_level => C_LEVEL_PROCEDURE
4895: ,p_module =>l_log_module);
4896: trace
4897: (p_msg => 'security_id_char_1 = '||
4894: ,p_level => C_LEVEL_PROCEDURE
4895: ,p_module =>l_log_module);
4896: trace
4897: (p_msg => 'security_id_char_1 = '||
4898: xla_events_pub_pkg.g_security.security_id_char_1
4899: ,p_level => C_LEVEL_PROCEDURE
4900: ,p_module =>l_log_module);
4901: trace
4902: (p_msg => 'security_id_char_2 = '||
4899: ,p_level => C_LEVEL_PROCEDURE
4900: ,p_module =>l_log_module);
4901: trace
4902: (p_msg => 'security_id_char_2 = '||
4903: xla_events_pub_pkg.g_security.security_id_char_2
4904: ,p_level => C_LEVEL_PROCEDURE
4905: ,p_module =>l_log_module);
4906: trace
4907: (p_msg => 'security_id_char_3 = '||
4904: ,p_level => C_LEVEL_PROCEDURE
4905: ,p_module =>l_log_module);
4906: trace
4907: (p_msg => 'security_id_char_3 = '||
4908: xla_events_pub_pkg.g_security.security_id_char_3
4909: ,p_level => C_LEVEL_PROCEDURE
4910: ,p_module =>l_log_module);
4911: trace
4912: (p_msg => 'valuation_method = '||p_valuation_method
4951: ,p_token_1 => 'ERROR'
4952: ,p_value_1 => 'No event exists for the document represented '||
4953: 'by the given source information.'
4954: ,p_token_2 => 'LOCATION'
4955: ,p_value_2 => 'xla_events_pkg.allow_third_party_update');
4956: END IF;
4957:
4958: SELECT count(1)
4959: INTO l_count
5000: WHEN xla_exceptions_pkg.application_exception THEN
5001: RAISE;
5002: WHEN OTHERS THEN
5003: xla_exceptions_pkg.raise_message
5004: (p_location => 'xla_events_pkg.allow_third_party_update');
5005: END allow_third_party_update;
5006:
5007:
5008: --=============================================================================
5012: --
5013: --=============================================================================
5014:
5015: FUNCTION get_entity_id
5016: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
5017: ,p_valuation_method IN VARCHAR2
5018: ,p_event_id IN NUMBER DEFAULT NULL) -- 8761772
5019: RETURN INTEGER IS
5020: l_log_module VARCHAR2(240);
5100: ,p_level => C_LEVEL_PROCEDURE
5101: ,p_module =>l_log_module);
5102: trace
5103: (p_msg => 'security_id_int_1 = '||
5104: xla_events_pub_pkg.g_security.security_id_int_1
5105: ,p_level => C_LEVEL_PROCEDURE
5106: ,p_module =>l_log_module);
5107: trace
5108: (p_msg => 'security_id_int_2 = '||
5105: ,p_level => C_LEVEL_PROCEDURE
5106: ,p_module =>l_log_module);
5107: trace
5108: (p_msg => 'security_id_int_2 = '||
5109: xla_events_pub_pkg.g_security.security_id_int_2
5110: ,p_level => C_LEVEL_PROCEDURE
5111: ,p_module =>l_log_module);
5112: trace
5113: (p_msg => 'security_id_int_3 = '||
5110: ,p_level => C_LEVEL_PROCEDURE
5111: ,p_module =>l_log_module);
5112: trace
5113: (p_msg => 'security_id_int_3 = '||
5114: xla_events_pub_pkg.g_security.security_id_int_3
5115: ,p_level => C_LEVEL_PROCEDURE
5116: ,p_module =>l_log_module);
5117: trace
5118: (p_msg => 'security_id_char_1 = '||
5115: ,p_level => C_LEVEL_PROCEDURE
5116: ,p_module =>l_log_module);
5117: trace
5118: (p_msg => 'security_id_char_1 = '||
5119: xla_events_pub_pkg.g_security.security_id_char_1
5120: ,p_level => C_LEVEL_PROCEDURE
5121: ,p_module =>l_log_module);
5122: trace
5123: (p_msg => 'security_id_char_2 = '||
5120: ,p_level => C_LEVEL_PROCEDURE
5121: ,p_module =>l_log_module);
5122: trace
5123: (p_msg => 'security_id_char_2 = '||
5124: xla_events_pub_pkg.g_security.security_id_char_2
5125: ,p_level => C_LEVEL_PROCEDURE
5126: ,p_module =>l_log_module);
5127: trace
5128: (p_msg => 'security_id_char_3 = '||
5125: ,p_level => C_LEVEL_PROCEDURE
5126: ,p_module =>l_log_module);
5127: trace
5128: (p_msg => 'security_id_char_3 = '||
5129: xla_events_pub_pkg.g_security.security_id_char_3
5130: ,p_level => C_LEVEL_PROCEDURE
5131: ,p_module =>l_log_module);
5132: trace
5133: (p_msg => 'valuation_method = '||p_valuation_method
5152: ,p_msg_name => 'XLA_COMMON_ERROR'
5153: ,p_token_1 => 'ERROR'
5154: ,p_value_1 => 'For MANUAL events event_id cannot be NULL'
5155: ,p_token_2 => 'LOCATION'
5156: ,p_value_2 => 'xla_events_pkg.get_entity_id');
5157: END IF;
5158: g_context := C_MANUAL_EVENT_CONTEXT;
5159: ELSE
5160: g_context := C_REGULAR_EVENT_CONTEXT;
5191: ,p_token_1 => 'ERROR'
5192: ,p_value_1 => 'No event exists for the document represented '||
5193: 'by the given source information.'
5194: ,p_token_2 => 'LOCATION'
5195: ,p_value_2 => 'xla_events_pkg.get_entity_id');
5196: END IF;
5197:
5198: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
5199: trace
5211: WHEN xla_exceptions_pkg.application_exception THEN
5212: RAISE;
5213: WHEN OTHERS THEN
5214: xla_exceptions_pkg.raise_message
5215: (p_location => 'xla_events_pkg.get_entity_id');
5216: END get_entity_id;
5217:
5218:
5219: --=============================================================================
5279:
5280: l_array_entity_id t_array_number;
5281: l_array_event_id t_array_number;
5282:
5283: l_array_event_number xla_events_pub_pkg.t_array_event_number;
5284: l_array_event_date xla_events_pub_pkg.t_array_event_date;
5285: l_array_transaction_date xla_events_pub_pkg.t_array_event_date;
5286: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
5287: l_last PLS_INTEGER;
5280: l_array_entity_id t_array_number;
5281: l_array_event_id t_array_number;
5282:
5283: l_array_event_number xla_events_pub_pkg.t_array_event_number;
5284: l_array_event_date xla_events_pub_pkg.t_array_event_date;
5285: l_array_transaction_date xla_events_pub_pkg.t_array_event_date;
5286: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
5287: l_last PLS_INTEGER;
5288: l_entity_id NUMBER; -- 8761772
5281: l_array_event_id t_array_number;
5282:
5283: l_array_event_number xla_events_pub_pkg.t_array_event_number;
5284: l_array_event_date xla_events_pub_pkg.t_array_event_date;
5285: l_array_transaction_date xla_events_pub_pkg.t_array_event_date;
5286: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
5287: l_last PLS_INTEGER;
5288: l_entity_id NUMBER; -- 8761772
5289: l_current_entity_id NUMBER; -- 8761772
5282:
5283: l_array_event_number xla_events_pub_pkg.t_array_event_number;
5284: l_array_event_date xla_events_pub_pkg.t_array_event_date;
5285: l_array_transaction_date xla_events_pub_pkg.t_array_event_date;
5286: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
5287: l_last PLS_INTEGER;
5288: l_entity_id NUMBER; -- 8761772
5289: l_current_entity_id NUMBER; -- 8761772
5290: l_current_event_number NUMBER;
5288: l_entity_id NUMBER; -- 8761772
5289: l_current_entity_id NUMBER; -- 8761772
5290: l_current_event_number NUMBER;
5291:
5292: l_on_hold_flag xla_events.on_hold_flag%type:='N';
5293: l_event_count number;
5294: l_array_on_hold_flag t_on_hold_flag_tbl;
5295:
5296: l_rowcount NUMBER;
5305: l_log_module VARCHAR2(240);
5306:
5307: CURSOR csr_xla_event_exist IS
5308: SELECT 1
5309: FROM xla_events_int_gt;
5310:
5311: CURSOR csr_xla_event_number IS
5312: SELECT 1
5313: FROM xla_events_int_gt
5309: FROM xla_events_int_gt;
5310:
5311: CURSOR csr_xla_event_number IS
5312: SELECT 1
5313: FROM xla_events_int_gt
5314: WHERE event_number is null or event_number<1;
5315:
5316: CURSOR csr_processing_gapless IS
5317: SELECT entity_id, event_id, event_number, event_status_code
5314: WHERE event_number is null or event_number<1;
5315:
5316: CURSOR csr_processing_gapless IS
5317: SELECT entity_id, event_id, event_number, event_status_code
5318: FROM xla_events_int_gt
5319: ORDER BY entity_id, event_number;
5320:
5321: CURSOR csr_status_error is
5322: SELECT 1 from xla_events_int_gt
5318: FROM xla_events_int_gt
5319: ORDER BY entity_id, event_number;
5320:
5321: CURSOR csr_status_error is
5322: SELECT 1 from xla_events_int_gt
5323: WHERE event_status_code not in ('I', 'U', 'N');
5324:
5325: CURSOR csr_event_type_error(p_entity_code VARCHAR2, p_app_id NUMBER) is
5326: SELECT 1
5323: WHERE event_status_code not in ('I', 'U', 'N');
5324:
5325: CURSOR csr_event_type_error(p_entity_code VARCHAR2, p_app_id NUMBER) is
5326: SELECT 1
5327: FROM xla_events_int_gt xeg, xla_event_types_b xet
5328: WHERE xet.entity_code(+) = p_entity_code
5329: AND xet.application_id(+) = p_app_id
5330: AND xeg.event_type_code = xet.event_type_code (+)
5331: AND nvl(xet.enabled_flag, 'N') = 'N';
5331: AND nvl(xet.enabled_flag, 'N') = 'N';
5332:
5333: CURSOR csr_parameter_mismatch(p_entity_code VARCHAR2, p_app_id NUMBER) is
5334: SELECT 1
5335: FROM xla_events_int_gt xeg
5336: WHERE xeg.entity_code <> p_entity_code
5337: OR xeg.application_id <> p_app_id;
5338:
5339: l_update_gt_string varchar2(4000);
5360: ,source_id_char_2
5361: ,source_id_char_3
5362: ,source_id_char_4
5363: ,valuation_method
5364: FROM xla_events_int_gt);
5365:
5366: BEGIN
5367: IF g_log_enabled THEN
5368: l_log_module := C_DEFAULT_MODULE||'.create_bulk_events';
5414: ,p_msg_name => 'XLA_COMMON_ERROR'
5415: ,p_token_1 => 'ERROR'
5416: ,p_value_1 => 'For MANUAL events this API cannot be called'
5417: ,p_token_2 => 'LOCATION'
5418: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
5419: ELSE
5420: g_context := C_REGULAR_EVENT_CONTEXT;
5421: END IF;
5422:
5423: ----------------------------------------------------------------------------
5424: -- Immediately exit if the table is empty
5425: -- the l_rowcount_gt is also useful to find if there is invalid data
5426: ----------------------------------------------------------------------------
5427: select count(1) into l_rowcount_gt from xla_events_int_gt;
5428: if(l_rowcount_gt = 0) then
5429: return;
5430: end if;
5431:
5472: ,p_token_1 => 'ERROR'
5473: ,p_value_1 =>
5474: 'Event Number must be a number greater than 0 for entities that are subject to gapless processing'
5475: ,p_token_2 => 'LOCATION'
5476: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5477: return;
5478: end if;
5479: close csr_xla_event_number;
5480: end if;
5491: 'SELECT 1
5492: FROM dual
5493: WHERE EXISTS
5494: (SELECT 1
5495: FROM xla_events_int_gt xeg
5496: WHERE xeg.entity_code <> :1
5497: OR xeg.application_id <> :2
5498: OR xeg.event_status_code not in (''I'', ''U'', ''N'')
5499: OR xeg.event_type_code not in
5519: (p_appli_s_name => 'XLA'
5520: ,p_msg_name => 'XLA_COMMON_ERROR'
5521: ,p_token_1 => 'ERROR'
5522: ,p_value_1 =>
5523: 'The parameters passed to the procedure do not match with the data in the xla_events_int_gt table'
5524: ,p_token_2 => 'LOCATION'
5525: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5526: return;
5527: end if;
5521: ,p_token_1 => 'ERROR'
5522: ,p_value_1 =>
5523: 'The parameters passed to the procedure do not match with the data in the xla_events_int_gt table'
5524: ,p_token_2 => 'LOCATION'
5525: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5526: return;
5527: end if;
5528: close csr_parameter_mismatch;
5529:
5536: ,p_msg_name => 'XLA_COMMON_ERROR'
5537: ,p_token_1 => 'ERROR'
5538: ,p_value_1 => 'Event status must be I, U or N'
5539: ,p_token_2 => 'LOCATION'
5540: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5541: return;
5542: end if;
5543: close csr_status_error;
5544:
5551: ,p_msg_name => 'XLA_COMMON_ERROR'
5552: ,p_token_1 => 'ERROR'
5553: ,p_value_1 => 'Event type must be a valid event type'
5554: ,p_token_2 => 'LOCATION'
5555: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5556: return;
5557: end if;
5558: close csr_event_type_error;
5559:
5563: ,p_token_1 => 'ERROR'
5564: ,p_value_1 =>
5565: 'Please check transaction ids in gt table. Mapped ids must have a not-null value, while unmapped ids cannot have value'
5566: ,p_token_2 => 'LOCATION'
5567: ,p_value_2 => 'xla_events_pkg.create_bulk_events');
5568: EXCEPTION
5569: WHEN others then
5570: --exception means the data is good
5571: null;
5629: ,source_id_char_1
5630: ,source_id_char_2
5631: ,source_id_char_3
5632: ,source_id_char_4)
5633: (SELECT /*+ index (xe xla_events_int_gt_n1) no_expand */ -- 9674381: Added no_expand
5634: l_array_entity_id(i)
5635: , p_application_id
5636: , nvl(p_source_application_id, p_application_id)
5637: , p_ledger_id
5657: , xe.source_id_char_1
5658: , xe.source_id_char_2
5659: , xe.source_id_char_3
5660: , xe.source_id_char_4
5661: FROM xla_events_int_gt xe
5662: WHERE NVL( xe.source_id_int_1,-99) = NVL(l_array_source_id_int_1(i),-99 ) -- 8967771: Relpaced C_NUM with -99
5663: AND NVL( xe.source_id_int_2,-99) = NVL(l_array_source_id_int_2(i),-99 )
5664: AND NVL( xe.source_id_int_3,-99) = NVL(l_array_source_id_int_3(i),-99 )
5665: AND NVL( xe.source_id_int_4,-99) = NVL(l_array_source_id_int_4(i),-99 )
5671: AND ROWNUM = 1
5672: );
5673:
5674: FORALL i IN 1..l_array_entity_id.COUNT
5675: UPDATE /*+ index (xe xla_events_int_gt_n1) no_expand */ xla_events_int_gt xe -- 9674381: Added no_expand
5676: SET xe.entity_id = l_array_entity_id(i)
5677: , xe.event_id = xla_events_s.nextval
5678: WHERE NVL( xe.source_id_int_1,-99)= NVL(l_array_source_id_int_1(i),-99) -- 8967771: Relpaced C_NUM with -99
5679: AND NVL( xe.source_id_int_2,-99) = NVL(l_array_source_id_int_2(i),-99)
5673:
5674: FORALL i IN 1..l_array_entity_id.COUNT
5675: UPDATE /*+ index (xe xla_events_int_gt_n1) no_expand */ xla_events_int_gt xe -- 9674381: Added no_expand
5676: SET xe.entity_id = l_array_entity_id(i)
5677: , xe.event_id = xla_events_s.nextval
5678: WHERE NVL( xe.source_id_int_1,-99)= NVL(l_array_source_id_int_1(i),-99) -- 8967771: Relpaced C_NUM with -99
5679: AND NVL( xe.source_id_int_2,-99) = NVL(l_array_source_id_int_2(i),-99)
5680: AND NVL( xe.source_id_int_3,-99) = NVL(l_array_source_id_int_3(i),-99)
5681: AND NVL( xe.source_id_int_4,-99) = NVL(l_array_source_id_int_4(i),-99)
5746: END IF;
5747: END LOOP;
5748:
5749: FORALL i in 1..l_array_event_id.COUNT
5750: UPDATE xla_events_int_gt
5751: SET on_hold_flag = l_array_on_hold_flag(i)
5752: WHERE event_id=l_array_event_id(i);
5753:
5754: EXIT when csr_processing_gapless%NOTFOUND;
5757: CLOSE csr_processing_gapless;
5758:
5759: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
5760: trace
5761: (p_msg => 'before insert into xla_events table'
5762: ,p_level => C_LEVEL_STATEMENT
5763: ,p_module =>l_log_module);
5764: END IF;
5765:
5762: ,p_level => C_LEVEL_STATEMENT
5763: ,p_module =>l_log_module);
5764: END IF;
5765:
5766: INSERT INTO xla_events
5767: (event_id
5768: ,application_id
5769: ,event_type_code
5770: ,entity_id
5804: ,event_status_code
5805: ,C_INTERNAL_UNPROCESSED
5806: ,TRUNC(event_date)
5807: ,nvl(transaction_date, TRUNC(event_date))
5808: ,nvl(xla_events_int_gt.budgetary_control_flag,'N')
5809: ,sysdate
5810: ,xla_environment_pkg.g_usr_id
5811: ,sysdate
5812: ,xla_environment_pkg.g_usr_id
5827: ,reference_date_2
5828: ,reference_date_3
5829: ,reference_date_4
5830: ,on_hold_flag
5831: FROM xla_events_int_gt);
5832: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
5833: trace
5834: (p_msg => 'Number of events created(gapless) = '||
5835: to_char(SQL%ROWCOUNT)
5839:
5840: ELSE -- not gapless
5841: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
5842: trace
5843: (p_msg => 'before insert into xla_events table nongapless'
5844: ,p_level => C_LEVEL_STATEMENT
5845: ,p_module =>l_log_module);
5846: END IF;
5847:
5845: ,p_module =>l_log_module);
5846: END IF;
5847:
5848:
5849: INSERT INTO xla_events
5850: (event_id
5851: ,application_id
5852: ,event_type_code
5853: ,entity_id
5889: ,event_status_code
5890: ,C_INTERNAL_UNPROCESSED
5891: ,TRUNC(event_date)
5892: ,nvl(transaction_date, TRUNC(event_date))
5893: ,nvl(xla_events_int_gt.budgetary_control_flag,'N')
5894: ,sysdate
5895: ,xla_environment_pkg.g_usr_id
5896: ,sysdate
5897: ,xla_environment_pkg.g_usr_id
5912: ,reference_date_2
5913: ,reference_date_3
5914: ,reference_date_4
5915: ,'N'
5916: FROM xla_events_int_gt);
5917: IF (C_LEVEL_STATEMENT >= g_log_level) THEN
5918: trace
5919: (p_msg => 'Number of events created(non gapless) = '||
5920: to_char(SQL%ROWCOUNT)
5937: RAISE;
5938: WHEN OTHERS THEN
5939: ROLLBACK to SAVEPOINT before_event_creation;
5940: xla_exceptions_pkg.raise_message
5941: (p_location => 'xla_events_pkg.create_bulk_events(blk)');
5942: END create_bulk_events;
5943:
5944: --==================================================================
5945: --
6018: WHEN xla_exceptions_pkg.application_exception THEN
6019: RAISE;
6020: WHEN OTHERS THEN
6021: xla_exceptions_pkg.raise_message
6022: (p_location => 'xla_events_pkg.create_bulk_events(blk)');
6023: END create_bulk_events;
6024:
6025:
6026:
6038: TYPE t_array_number IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
6039:
6040: l_array_entity_id t_array_number;
6041: l_array_event_id t_array_number;
6042: l_array_event_number xla_events_pub_pkg.t_array_event_number;
6043: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
6044:
6045: l_array_on_hold_flag t_on_hold_flag_tbl;
6046:
6039:
6040: l_array_entity_id t_array_number;
6041: l_array_event_id t_array_number;
6042: l_array_event_number xla_events_pub_pkg.t_array_event_number;
6043: l_array_event_status_code xla_events_pub_pkg.t_array_event_status_code;
6044:
6045: l_array_on_hold_flag t_on_hold_flag_tbl;
6046:
6047: l_log_module VARCHAR2(240);
6045: l_array_on_hold_flag t_on_hold_flag_tbl;
6046:
6047: l_log_module VARCHAR2(240);
6048: l_rowcount_gt PLS_INTEGER;
6049: l_current_event_number xla_events.event_number%TYPE;
6050: l_current_entity_id NUMBER; -- 8761772
6051: l_application_id PLS_INTEGER;
6052: l_on_hold_flag xla_events.on_hold_flag%TYPE;
6053:
6048: l_rowcount_gt PLS_INTEGER;
6049: l_current_event_number xla_events.event_number%TYPE;
6050: l_current_entity_id NUMBER; -- 8761772
6051: l_application_id PLS_INTEGER;
6052: l_on_hold_flag xla_events.on_hold_flag%TYPE;
6053:
6054: -- This cursor will check
6055: -- 1. the application_id, entity_code, event_id is not null
6056: -- 2. the old and new event_status_code is valid
6057: -- 3. no manual entity events are modified
6058: -- 4. application_id is populated and all equals p_application_id
6059: CURSOR csr_manual_processed_events(app_id NUMBER) is
6060: SELECT 1
6061: FROM xla_events_int_gt xeg, xla_events xe, xla_entity_types_b xet
6062: WHERE xeg.application_id = xe.application_id (+)
6063: AND xeg.event_id = xe.event_id (+)
6064: AND xeg.entity_code = xet.entity_code (+)
6065: AND xet.application_id(+) = app_id
6072: OR xeg.application_id <> app_id);
6073:
6074: CURSOR csr_invalid_app(app_id NUMBER) is
6075: SELECT 1
6076: FROM xla_events_int_gt xeg
6077: WHERE xeg.application_id <> app_id;
6078:
6079: CURSOR csr_invalid_event_id(app_id NUMBER) is
6080: SELECT 1
6077: WHERE xeg.application_id <> app_id;
6078:
6079: CURSOR csr_invalid_event_id(app_id NUMBER) is
6080: SELECT 1
6081: FROM xla_events_int_gt xeg, xla_events xe
6082: WHERE xeg.application_id = xe.application_id (+)
6083: AND xeg.event_id = xe.event_id (+)
6084: AND xe.event_id is null;
6085:
6084: AND xe.event_id is null;
6085:
6086: CURSOR csr_invalid_event_status(app_id NUMBER) is
6087: SELECT 1
6088: FROM xla_events_int_gt xeg, xla_events xe
6089: WHERE xeg.application_id = xe.application_id
6090: AND xeg.event_id = xe.event_id
6091: AND (xe.event_status_code not in ('I', 'N', 'U')
6092: OR xeg.event_status_code not in ('I', 'N', 'U'));
6096: FROM xla_transaction_entities xte
6097: WHERE xte.application_id = p_application_id
6098: AND xte.entity_id in
6099: (SELECT entity_id
6100: FROM xla_events_int_gt xeg, xla_entity_types_b xet
6101: WHERE xeg.application_id = xet.application_id
6102: AND xeg.entity_code = xet.entity_code
6103: AND xet.enable_gapless_events_flag = 'Y')
6104: FOR UPDATE NOWAIT;
6104: FOR UPDATE NOWAIT;
6105:
6106: Cursor csr_new_gap is
6107: Select min(xe.event_number), xe.entity_id, xe.application_id
6108: From xla_events_int_gt xeg,
6109: xla_events xe,
6110: xla_entity_types_b xet
6111: Where xeg.event_id = xe.event_id
6112: And xeg.application_id = xe.application_id
6105:
6106: Cursor csr_new_gap is
6107: Select min(xe.event_number), xe.entity_id, xe.application_id
6108: From xla_events_int_gt xeg,
6109: xla_events xe,
6110: xla_entity_types_b xet
6111: Where xeg.event_id = xe.event_id
6112: And xeg.application_id = xe.application_id
6113: And xeg.entity_code = xet.entity_code
6122: Select xe.entity_id,
6123: xe.event_id,
6124: xe.event_number,
6125: nvl(xeg.event_status_code, xe.event_status_code)
6126: FROM xla_events xe, xla_events_int_gt xeg
6127: Where xe.event_id = xeg.event_id(+)
6128: And xe.entity_id in (
6129: Select xe.entity_id
6130: From xla_events_int_gt xeg,
6126: FROM xla_events xe, xla_events_int_gt xeg
6127: Where xe.event_id = xeg.event_id(+)
6128: And xe.entity_id in (
6129: Select xe.entity_id
6130: From xla_events_int_gt xeg,
6131: xla_events xe,
6132: xla_entity_types_b xet
6133: Where xeg.event_id = xe.event_id
6134: And xet.entity_code = xeg.entity_code
6127: Where xe.event_id = xeg.event_id(+)
6128: And xe.entity_id in (
6129: Select xe.entity_id
6130: From xla_events_int_gt xeg,
6131: xla_events xe,
6132: xla_entity_types_b xet
6133: Where xeg.event_id = xe.event_id
6134: And xet.entity_code = xeg.entity_code
6135: And xet.application_id = xe.application_id
6187: (p_appli_s_name => 'XLA'
6188: ,p_msg_name => 'XLA_COMMON_ERROR'
6189: ,p_token_1 => 'ERROR'
6190: ,p_value_1 =>
6191: 'The parameter application_id does not match with the data in xla_events_int_gt table'
6192: ,p_token_2 => 'LOCATION'
6193: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6194: end if;
6195: close csr_invalid_app;
6189: ,p_token_1 => 'ERROR'
6190: ,p_value_1 =>
6191: 'The parameter application_id does not match with the data in xla_events_int_gt table'
6192: ,p_token_2 => 'LOCATION'
6193: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6194: end if;
6195: close csr_invalid_app;
6196:
6197: open csr_invalid_event_id(p_application_id);
6203: ,p_msg_name => 'XLA_COMMON_ERROR'
6204: ,p_token_1 => 'ERROR'
6205: ,p_value_1 => '(Application id, Event ID) is not valid'
6206: ,p_token_2 => 'LOCATION'
6207: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6208: end if;
6209: close csr_invalid_event_id;
6210:
6211: open csr_invalid_event_status(p_application_id);
6218: ,p_token_1 => 'ERROR'
6219: ,p_value_1 =>
6220: 'Both the new and the old event status must be valid and cannot be P'
6221: ,p_token_2 => 'LOCATION'
6222: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6223: end if;
6224: close csr_invalid_event_status;
6225:
6226: -- If reach here, must be entity code error
6230: ,p_token_1 => 'ERROR'
6231: ,p_value_1 =>
6232: 'The entity_code is not valid. Either it does not match with the event id, or it is MANUAL entity. This API cannot be called for MANUAL entity'
6233: ,p_token_2 => 'LOCATION'
6234: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6235: end if;
6236: close csr_manual_processed_events;
6237:
6238:
6264: l_current_entity_id,
6265: l_application_id;
6266: EXIT WHEN csr_new_gap%NOTFOUND;
6267:
6268: UPDATE xla_events
6269: SET on_hold_flag = 'Y'
6270: WHERE entity_id = l_current_entity_id
6271: AND event_number > l_current_event_number
6272: AND application_id = l_application_id;
6332: END IF;
6333: END LOOP;
6334:
6335: FORALL i in 1..l_array_event_id.COUNT
6336: UPDATE xla_events
6337: SET on_hold_flag = l_array_on_hold_flag(i)
6338: WHERE event_id=l_array_event_id(i)
6339: AND application_id = p_application_id -- 8967771
6340: ;
6349: ,p_level => C_LEVEL_STATEMENT
6350: ,p_module =>l_log_module);
6351: END IF;
6352:
6353: UPDATE xla_events xe
6354: SET xe.event_status_code = (
6355: SELECT event_status_code
6356: FROM xla_events_int_gt xeg
6357: WHERE xeg.event_id = xe.event_id),
6352:
6353: UPDATE xla_events xe
6354: SET xe.event_status_code = (
6355: SELECT event_status_code
6356: FROM xla_events_int_gt xeg
6357: WHERE xeg.event_id = xe.event_id),
6358: xe.process_status_code = 'U'
6359: WHERE xe.event_id in (
6360: SELECT event_id
6357: WHERE xeg.event_id = xe.event_id),
6358: xe.process_status_code = 'U'
6359: WHERE xe.event_id in (
6360: SELECT event_id
6361: FROM xla_events_int_gt)
6362: AND xe.application_id = p_application_id -- 8967771
6363: ;
6364:
6365: /* -- Maintaining the Draft balance is no more required bug 5529569
6379: ,p_token_1 => 'ERROR'
6380: ,p_value_1 =>
6381: 'Error in the routine that does balance reversals'
6382: ,p_token_2 => 'LOCATION'
6383: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses');
6384: END IF;
6385: */
6386: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
6387: trace
6404: RAISE;
6405: WHEN OTHERS THEN
6406: ROLLBACK to SAVEPOINT before_update_bulk_statuses;
6407: xla_exceptions_pkg.raise_message
6408: (p_location => 'xla_events_pkg.update_bulk_event_statuses(blk)');
6409: END update_bulk_event_statuses;
6410:
6411:
6412: --==================================================================
6435: RAISE;
6436: WHEN OTHERS THEN
6437: ROLLBACK to SAVEPOINT before_update_bulk_statuses;
6438: xla_exceptions_pkg.raise_message
6439: (p_location => 'xla_events_pkg.update_bulk_event_statuses(blk)');
6440: END update_bulk_event_statuses;
6441:
6442:
6443:
6452:
6453: l_log_module VARCHAR2(240);
6454:
6455: l_rowcount_gt PLS_INTEGER;
6456: l_event_number xla_events.event_number%TYPE;
6457: l_entity_id NUMBER; -- 8761772
6458: l_application_id PLS_INTEGER;
6459: -- This cursor will check
6460: -- 1. the application_id, entity_code, event_id is not null
6462: -- 3. no manual entity events are modified
6463: -- 4. application_id is populated and all equals p_application_id
6464: CURSOR csr_manual_processed_events(app_id NUMBER) is
6465: SELECT 1
6466: FROM xla_events_int_gt xeg, xla_events xe, xla_transaction_entities xte
6467: WHERE xeg.application_id = xe.application_id (+)
6468: AND xeg.event_id = xe.event_id (+)
6469: AND xe.entity_id = xte.entity_id (+)
6470: AND xte.application_id(+) = app_id
6476: OR xeg.application_id <> app_id);
6477:
6478: CURSOR csr_invalid_app(app_id NUMBER) is
6479: SELECT 1
6480: FROM xla_events_int_gt xeg
6481: WHERE xeg.application_id <> app_id;
6482:
6483: CURSOR csr_invalid_event_id(app_id NUMBER) is
6484: SELECT 1
6481: WHERE xeg.application_id <> app_id;
6482:
6483: CURSOR csr_invalid_event_id(app_id NUMBER) is
6484: SELECT 1
6485: FROM xla_events_int_gt xeg, xla_events xe
6486: WHERE xeg.application_id = xe.application_id (+)
6487: AND xeg.event_id = xe.event_id (+)
6488: AND xe.event_id is null;
6489:
6488: AND xe.event_id is null;
6489:
6490: CURSOR csr_invalid_event_status(app_id NUMBER) is
6491: SELECT 1
6492: FROM xla_events_int_gt xeg, xla_events xe
6493: WHERE xeg.application_id = xe.application_id
6494: AND xeg.event_id = xe.event_id
6495: AND xe.event_status_code not in ('I', 'N', 'U');
6496:
6499: FROM xla_transaction_entities xte
6500: WHERE xte.application_id = p_application_id
6501: AND xte.entity_id in
6502: (SELECT entity_id
6503: FROM xla_events_int_gt xeg, xla_entity_types_b xet
6504: WHERE xeg.application_id = xet.application_id
6505: AND xeg.entity_code = xet.entity_code
6506: AND xet.enable_gapless_events_flag = 'Y')
6507: FOR UPDATE NOWAIT;
6507: FOR UPDATE NOWAIT;
6508:
6509: Cursor csr_new_gap is
6510: Select min(xe.event_number), xe.entity_id, xe.application_id
6511: From xla_events_int_gt xeg,
6512: xla_events xe,
6513: xla_entity_types_b xet
6514: Where xeg.event_id = xe.event_id
6515: And xeg.application_id = xe.application_id
6508:
6509: Cursor csr_new_gap is
6510: Select min(xe.event_number), xe.entity_id, xe.application_id
6511: From xla_events_int_gt xeg,
6512: xla_events xe,
6513: xla_entity_types_b xet
6514: Where xeg.event_id = xe.event_id
6515: And xeg.application_id = xe.application_id
6516: And xeg.entity_code = xet.entity_code
6569: (p_appli_s_name => 'XLA'
6570: ,p_msg_name => 'XLA_COMMON_ERROR'
6571: ,p_token_1 => 'ERROR'
6572: ,p_value_1 =>
6573: 'The parameter application_id does not match with the data in xla_events_int_gt table'
6574: ,p_token_2 => 'LOCATION'
6575: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6576: end if;
6577: close csr_invalid_app;
6571: ,p_token_1 => 'ERROR'
6572: ,p_value_1 =>
6573: 'The parameter application_id does not match with the data in xla_events_int_gt table'
6574: ,p_token_2 => 'LOCATION'
6575: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6576: end if;
6577: close csr_invalid_app;
6578:
6579: open csr_invalid_event_id(p_application_id);
6585: ,p_msg_name => 'XLA_COMMON_ERROR'
6586: ,p_token_1 => 'ERROR'
6587: ,p_value_1 => '(Application id, Event ID) is not valid'
6588: ,p_token_2 => 'LOCATION'
6589: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6590: end if;
6591: close csr_invalid_event_id;
6592:
6593: open csr_invalid_event_status(p_application_id);
6600: ,p_token_1 => 'ERROR'
6601: ,p_value_1 =>
6602: 'The events to be deleted must be in status I, N or U'
6603: ,p_token_2 => 'LOCATION'
6604: ,p_value_2 => 'xla_events_pkg.update_bulk_event_statuses(fn)');
6605: end if;
6606: close csr_invalid_event_status;
6607:
6608: -- if reach here, it must be entity code problem
6612: ,p_token_1 => 'ERROR'
6613: ,p_value_1 =>
6614: 'Either the entity code does not match with the event id, or the entity code is MANUAL. This API cannot be called to delete event for MANUAL entity'
6615: ,p_token_2 => 'LOCATION'
6616: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
6617: end if;
6618: close csr_manual_processed_events;
6619:
6620: ----------------------------------------------------------------------------
6620: ----------------------------------------------------------------------------
6621: -- Immediately exit if the table is empty
6622: -- the l_rowcount_gt is also useful to find if there is invalid data
6623: ----------------------------------------------------------------------------
6624: select count(1) into l_rowcount_gt from xla_events_int_gt;
6625: if(l_rowcount_gt = 0) then
6626: return;
6627: end if;
6628:
6655: ,p_token_1 => 'ERROR'
6656: ,p_value_1 =>
6657: 'Error in the routine that does balance reversals'
6658: ,p_token_2 => 'LOCATION'
6659: ,p_value_2 => 'xla_events_pkg.delete_bulk_events');
6660: END IF;
6661: */
6662:
6663: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
6682: LOOP
6683: FETCH csr_new_gap into l_event_number, l_entity_id, l_application_id;
6684: EXIT WHEN csr_new_gap%NOTFOUND;
6685:
6686: UPDATE xla_events
6687: SET on_hold_flag = 'Y'
6688: WHERE entity_id = l_entity_id
6689: AND event_number > l_event_number
6690: AND application_id = l_application_id;
6697: ,p_level => C_LEVEL_STATEMENT
6698: ,p_module =>l_log_module);
6699: END IF;
6700:
6701: UPDATE xla_events_int_gt xeg
6702: SET xeg.entity_id =
6703: (SELECT xe.entity_id
6704: FROM xla_events xe
6705: WHERE xe.event_id = xeg.event_id
6700:
6701: UPDATE xla_events_int_gt xeg
6702: SET xeg.entity_id =
6703: (SELECT xe.entity_id
6704: FROM xla_events xe
6705: WHERE xe.event_id = xeg.event_id
6706: AND xe.application_id = p_application_id -- 8967771
6707: );
6708:
6705: WHERE xe.event_id = xeg.event_id
6706: AND xe.application_id = p_application_id -- 8967771
6707: );
6708:
6709: DELETE xla_events
6710: WHERE event_id in (
6711: SELECT event_id
6712: FROM xla_events_int_gt)
6713: AND application_id = p_application_id -- 8967771
6708:
6709: DELETE xla_events
6710: WHERE event_id in (
6711: SELECT event_id
6712: FROM xla_events_int_gt)
6713: AND application_id = p_application_id -- 8967771
6714: ;
6715: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
6716: trace
6720: END IF;
6721:
6722: DELETE xla_transaction_entities xte
6723: WHERE not exists (SELECT 1
6724: FROM xla_events xe
6725: WHERE xe.entity_id = xte.entity_id
6726: AND xe.application_id = xte.application_id)
6727: AND xte.entity_id in (SELECT entity_id
6728: FROM xla_events_int_gt)
6724: FROM xla_events xe
6725: WHERE xe.entity_id = xte.entity_id
6726: AND xe.application_id = xte.application_id)
6727: AND xte.entity_id in (SELECT entity_id
6728: FROM xla_events_int_gt)
6729: AND xte.application_id = p_application_id; -- 9701260 moved this from inner query
6730:
6731: IF (C_LEVEL_STATEMENT>= g_log_level) THEN
6732: trace
6750: RAISE;
6751: WHEN OTHERS THEN
6752: ROLLBACK to SAVEPOINT before_delete_bulk_events;--Bug 10162587
6753: xla_exceptions_pkg.raise_message
6754: (p_location => 'xla_events_pkg.delete_bulk_events(blk)');
6755: END delete_bulk_events;
6756:
6757: --=============================================================================
6758: --
6760: --
6761: --=============================================================================
6762:
6763: FUNCTION get_array_event_info
6764: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
6765: ,p_valuation_method IN VARCHAR2
6766: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
6767: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
6768: ,p_event_date IN DATE DEFAULT NULL
6766: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
6767: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
6768: ,p_event_date IN DATE DEFAULT NULL
6769: ,p_event_status_code IN VARCHAR2 DEFAULT NULL)
6770: RETURN xla_events_pub_pkg.t_array_event_info IS
6771:
6772: l_array_event_info xla_events_pub_pkg.t_array_event_info;
6773: l_count INTEGER := 0;
6774: l_event_date DATE;
6768: ,p_event_date IN DATE DEFAULT NULL
6769: ,p_event_status_code IN VARCHAR2 DEFAULT NULL)
6770: RETURN xla_events_pub_pkg.t_array_event_info IS
6771:
6772: l_array_event_info xla_events_pub_pkg.t_array_event_info;
6773: l_count INTEGER := 0;
6774: l_event_date DATE;
6775:
6776: CURSOR c1 IS
6791: ,reference_date_1
6792: ,reference_date_2
6793: ,reference_date_3
6794: ,reference_date_4
6795: FROM xla_events
6796: WHERE event_date = NVL(l_event_date, event_date)
6797: AND event_status_code = NVL(p_event_status_code,event_status_code)
6798: AND event_type_code = NVL(p_event_type_code ,event_type_code)
6799: AND entity_id = g_entity_id
6899: ,p_level => C_LEVEL_PROCEDURE
6900: ,p_module =>l_log_module);
6901: trace
6902: (p_msg => 'security_id_int_1 = '||
6903: xla_events_pub_pkg.g_security.security_id_int_1
6904: ,p_level => C_LEVEL_PROCEDURE
6905: ,p_module =>l_log_module);
6906: trace
6907: (p_msg => 'security_id_int_2 = '||
6904: ,p_level => C_LEVEL_PROCEDURE
6905: ,p_module =>l_log_module);
6906: trace
6907: (p_msg => 'security_id_int_2 = '||
6908: xla_events_pub_pkg.g_security.security_id_int_2
6909: ,p_level => C_LEVEL_PROCEDURE
6910: ,p_module =>l_log_module);
6911: trace
6912: (p_msg => 'security_id_int_3 = '||
6909: ,p_level => C_LEVEL_PROCEDURE
6910: ,p_module =>l_log_module);
6911: trace
6912: (p_msg => 'security_id_int_3 = '||
6913: xla_events_pub_pkg.g_security.security_id_int_3
6914: ,p_level => C_LEVEL_PROCEDURE
6915: ,p_module =>l_log_module);
6916: trace
6917: (p_msg => 'security_id_char_1 = '||
6914: ,p_level => C_LEVEL_PROCEDURE
6915: ,p_module =>l_log_module);
6916: trace
6917: (p_msg => 'security_id_char_1 = '||
6918: xla_events_pub_pkg.g_security.security_id_char_1
6919: ,p_level => C_LEVEL_PROCEDURE
6920: ,p_module =>l_log_module);
6921: trace
6922: (p_msg => 'security_id_char_2 = '||
6919: ,p_level => C_LEVEL_PROCEDURE
6920: ,p_module =>l_log_module);
6921: trace
6922: (p_msg => 'security_id_char_2 = '||
6923: xla_events_pub_pkg.g_security.security_id_char_2
6924: ,p_level => C_LEVEL_PROCEDURE
6925: ,p_module =>l_log_module);
6926: trace
6927: (p_msg => 'security_id_char_3 = '||
6924: ,p_level => C_LEVEL_PROCEDURE
6925: ,p_module =>l_log_module);
6926: trace
6927: (p_msg => 'security_id_char_3 = '||
6928: xla_events_pub_pkg.g_security.security_id_char_3
6929: ,p_level => C_LEVEL_PROCEDURE
6930: ,p_module =>l_log_module);
6931: trace
6932: (p_msg => 'valuation_method = '||p_valuation_method
6947: ,p_msg_name => 'XLA_COMMON_ERROR'
6948: ,p_token_1 => 'ERROR'
6949: ,p_value_1 => 'For MANUAL events this API cannot be called'
6950: ,p_token_2 => 'LOCATION'
6951: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
6952: ELSE
6953: g_context := C_REGULAR_EVENT_CONTEXT;
6954: END IF;
6955:
6992: ,p_token_1 => 'ERROR'
6993: ,p_value_1 => 'No event exists for the document represented '||
6994: 'by the given source information.'
6995: ,p_token_2 => 'LOCATION'
6996: ,p_value_2 => 'xla_events_pkg.get_array_event_info (fn)');
6997: END IF;
6998:
6999: FOR lc_evt IN c1 LOOP
7000: l_count := l_count + 1;
7035: WHEN xla_exceptions_pkg.application_exception THEN
7036: RAISE;
7037: WHEN OTHERS THEN
7038: xla_exceptions_pkg.raise_message
7039: (p_location => 'xla_events_pkg.get_array_event_info (fn)');
7040: END get_array_event_info;
7041:
7042:
7043: --=============================================================================
7091:
7092: ----------------------------------------------------------------------------
7093: -- cache event status code
7094: ----------------------------------------------------------------------------
7095: g_event_status_code_tbl(1) := xla_events_pub_pkg.C_EVENT_UNPROCESSED;
7096: g_event_status_code_tbl(2) := xla_events_pub_pkg.C_EVENT_INCOMPLETE;
7097: g_event_status_code_tbl(3) := xla_events_pub_pkg.C_EVENT_NOACTION;
7098: g_event_status_code_tbl(4) := xla_events_pub_pkg.C_EVENT_PROCESSED;
7099:
7092: ----------------------------------------------------------------------------
7093: -- cache event status code
7094: ----------------------------------------------------------------------------
7095: g_event_status_code_tbl(1) := xla_events_pub_pkg.C_EVENT_UNPROCESSED;
7096: g_event_status_code_tbl(2) := xla_events_pub_pkg.C_EVENT_INCOMPLETE;
7097: g_event_status_code_tbl(3) := xla_events_pub_pkg.C_EVENT_NOACTION;
7098: g_event_status_code_tbl(4) := xla_events_pub_pkg.C_EVENT_PROCESSED;
7099:
7100: ----------------------------------------------------------------------------
7093: -- cache event status code
7094: ----------------------------------------------------------------------------
7095: g_event_status_code_tbl(1) := xla_events_pub_pkg.C_EVENT_UNPROCESSED;
7096: g_event_status_code_tbl(2) := xla_events_pub_pkg.C_EVENT_INCOMPLETE;
7097: g_event_status_code_tbl(3) := xla_events_pub_pkg.C_EVENT_NOACTION;
7098: g_event_status_code_tbl(4) := xla_events_pub_pkg.C_EVENT_PROCESSED;
7099:
7100: ----------------------------------------------------------------------------
7101: -- cache process status code
7094: ----------------------------------------------------------------------------
7095: g_event_status_code_tbl(1) := xla_events_pub_pkg.C_EVENT_UNPROCESSED;
7096: g_event_status_code_tbl(2) := xla_events_pub_pkg.C_EVENT_INCOMPLETE;
7097: g_event_status_code_tbl(3) := xla_events_pub_pkg.C_EVENT_NOACTION;
7098: g_event_status_code_tbl(4) := xla_events_pub_pkg.C_EVENT_PROCESSED;
7099:
7100: ----------------------------------------------------------------------------
7101: -- cache process status code
7102: ----------------------------------------------------------------------------
7117: WHEN xla_exceptions_pkg.application_exception THEN
7118: RAISE;
7119: WHEN OTHERS THEN
7120: xla_exceptions_pkg.raise_message
7121: (p_location => 'xla_events_pkg.initialize');
7122: END initialize;
7123:
7124:
7125: --=============================================================================
7177: --
7178: --=============================================================================
7179:
7180: FUNCTION source_info_changed
7181: (p_event_source_info1 IN xla_events_pub_pkg.t_event_source_info
7182: ,p_event_source_info2 IN xla_events_pub_pkg.t_event_source_info
7183: ,p_valuation_method1 IN VARCHAR2
7184: ,p_valuation_method2 IN VARCHAR2)
7185: RETURN BOOLEAN IS
7178: --=============================================================================
7179:
7180: FUNCTION source_info_changed
7181: (p_event_source_info1 IN xla_events_pub_pkg.t_event_source_info
7182: ,p_event_source_info2 IN xla_events_pub_pkg.t_event_source_info
7183: ,p_valuation_method1 IN VARCHAR2
7184: ,p_valuation_method2 IN VARCHAR2)
7185: RETURN BOOLEAN IS
7186: l_log_module VARCHAR2(240);
7254: WHEN xla_exceptions_pkg.application_exception THEN
7255: RAISE;
7256: WHEN OTHERS THEN
7257: xla_exceptions_pkg.raise_message
7258: (p_location => 'xla_events_pkg.source_info_changed');
7259: END;
7260:
7261:
7262: --=============================================================================
7288: ,p_token_1 => 'ERROR'
7289: ,p_value_1 =>
7290: 'Application ID has an invalid value. It cannot have a NULL value.'
7291: ,p_token_2 => 'LOCATION'
7292: ,p_value_2 => 'xla_events_pkg.validate_context');
7293: END IF;
7294:
7295: IF p_ledger_id IS NULL THEN
7296: xla_exceptions_pkg.raise_message
7299: ,p_token_1 => 'ERROR'
7300: ,p_value_1 =>
7301: 'Ledger ID has an invalid value. It cannot have a NULL value.'
7302: ,p_token_2 => 'LOCATION'
7303: ,p_value_2 => 'xla_events_pkg.validate_context');
7304: ELSE
7305: -------------------------------------------------------------------------
7306: -- Validate ledger
7307: -------------------------------------------------------------------------
7318: ,p_token_1 => 'ERROR'
7319: ,p_value_1 =>
7320: 'Entity Type Code has an invalid value. It cannot have a NULL value.'
7321: ,p_token_2 => 'LOCATION'
7322: ,p_value_2 => 'xla_events_pkg.validate_context');
7323: END IF;
7324: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7325: trace
7326: (p_msg => 'end of procedure validate_context'
7332: WHEN xla_exceptions_pkg.application_exception THEN
7333: RAISE;
7334: WHEN OTHERS THEN
7335: xla_exceptions_pkg.raise_message
7336: (p_location => 'xla_events_pkg.validate_context');
7337: END validate_context;
7338:
7339:
7340: --=============================================================================
7417: ,p_token_1 => 'ERROR'
7418: ,p_value_1 => 'The setup for Entity Type, '||
7419: p_entity_type_code ||', is incorrect. Internal Error.'
7420: ,p_token_2 => 'LOCATION'
7421: ,p_value_2 => 'xla_events_pkg.get_id_mapping');
7422: END IF;
7423:
7424: IF p_source_id_code_1 = 'SOURCE_ID_INT_1'
7425: OR p_source_id_code_2 = 'SOURCE_ID_INT_1'
7503: WHEN xla_exceptions_pkg.application_exception THEN
7504: RAISE;
7505: WHEN OTHERS THEN
7506: xla_exceptions_pkg.raise_message
7507: (p_location => 'xla_events_pkg.get_id_mapping');
7508: END;
7509:
7510:
7511: --=============================================================================
7762: ,p_value_1 =>
7763: 'The source information passed does not map to the setups for Entity Type '
7764: || p_entity_type_code
7765: ,p_token_2 => 'LOCATION'
7766: ,p_value_2 => 'xla_events_pkg.validate_ids');
7767: END IF;
7768:
7769: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7770: trace
7801: ,p_token_1 => 'ERROR'
7802: ,p_value_1 =>
7803: 'The application is not registerd with subledger accounting architectre'
7804: ,p_token_2 => 'LOCATION'
7805: ,p_value_2 => 'xla_events_pkg.validate_cached_setup');
7806: END IF;
7807:
7808: --
7809: -- Validate that the entity type code tables have been loaded
7816: ,p_value_1 =>
7817: 'There is no Entity Type Code defined for the application '
7818: ||g_application_id
7819: ,p_token_2 => 'LOCATION'
7820: ,p_value_2 => 'xla_events_pkg.validate_cached_setup');
7821: END IF;
7822:
7823: --
7824: -- Validate that the event class tables have been loaded
7831: ,p_value_1 =>
7832: 'There is no Event Class defined for the application '
7833: ||g_application_id
7834: ,p_token_2 => 'LOCATION'
7835: ,p_value_2 => 'xla_events_pkg.validate_cached_setup');
7836: END IF;
7837:
7838: --
7839: -- Validate that the event type code tables have been loaded
7846: ,p_value_1 =>
7847: 'There is no Event Type Code defined for the application '
7848: ||g_application_id
7849: ,p_token_2 => 'LOCATION'
7850: ,p_value_2 => 'xla_events_pkg.validate_cached_setup');
7851: END IF;
7852:
7853: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
7854: trace
7913: ,p_level => C_LEVEL_PROCEDURE
7914: ,p_module =>l_log_module);
7915: END IF;
7916:
7917: trace('> xla_events_pkg.cache_application_setup' , 20);
7918:
7919: g_application_id := null;
7920: g_entity_type_code_tbl.delete; --clear cache first
7921: g_event_class_code_tbl.delete; --clear cache first
7979: WHEN xla_exceptions_pkg.application_exception THEN
7980: RAISE;
7981: WHEN OTHERS THEN
7982: xla_exceptions_pkg.raise_message
7983: (p_location => 'xla_events_pkg.cache_application_setup');
7984: END cache_application_setup;
7985:
7986:
7987: --=============================================================================
8022: ,p_token_1 => 'ERROR'
8023: ,p_value_1 =>
8024: 'The entity Type is not enabled. Disabled entity types are not allowed for create/update APIs.'
8025: ,p_token_2 => 'LOCATION'
8026: ,p_value_2 => 'xla_events_pkg.validate_entity_type_code');
8027: END IF;
8028:
8029: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8030: trace
8041: ,p_token_1 => 'ERROR'
8042: ,p_value_1 => p_entity_type_code||
8043: ' is not a defined entity type for the application '||g_application_id
8044: ,p_token_2 => 'LOCATION'
8045: ,p_value_2 => 'xla_events_pkg.validate_entity_type_code');
8046: WHEN xla_exceptions_pkg.application_exception THEN
8047: RAISE;
8048: WHEN OTHERS THEN
8049: xla_exceptions_pkg.raise_message
8046: WHEN xla_exceptions_pkg.application_exception THEN
8047: RAISE;
8048: WHEN OTHERS THEN
8049: xla_exceptions_pkg.raise_message
8050: (p_location => 'xla_events_pkg.validate_entity_type_code');
8051: END validate_entity_type_code;
8052:
8053:
8054: --=============================================================================
8088: ,p_token_1 => 'ERROR'
8089: ,p_value_1 =>
8090: 'The Event Class is not enabled. Disabled event classes are not allowed for create/update APIs.'
8091: ,p_token_2 => 'LOCATION'
8092: ,p_value_2 => 'xla_events_pkg.validate_event_class_code');
8093: END IF;
8094:
8095: IF p_entity_type_code <> l_entity_code THEN
8096: xla_exceptions_pkg.raise_message
8100: ,p_value_1 => 'Event class '||p_event_class_code||
8101: ' is not defined for the entity type '||p_entity_type_code||
8102: ' and application '||g_application_id
8103: ,p_token_2 => 'LOCATION'
8104: ,p_value_2 => 'xla_events_pkg.validate_event_class_code');
8105: END IF;
8106:
8107: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8108: trace
8118: ,p_token_1 => 'ERROR'
8119: ,p_value_1 => p_event_class_code||
8120: ' is not a defined event class for the application '||g_application_id
8121: ,p_token_2 => 'LOCATION'
8122: ,p_value_2 => 'xla_events_pkg.validate_event_class_code');
8123: WHEN xla_exceptions_pkg.application_exception THEN
8124: RAISE;
8125: WHEN OTHERS THEN
8126: xla_exceptions_pkg.raise_message
8123: WHEN xla_exceptions_pkg.application_exception THEN
8124: RAISE;
8125: WHEN OTHERS THEN
8126: xla_exceptions_pkg.raise_message
8127: (p_location => 'xla_events_pkg.validate_event_class_code');
8128: END validate_event_class_code;
8129:
8130:
8131: --=============================================================================
8169: ,p_token_1 => 'ERROR'
8170: ,p_value_1 =>
8171: 'The Event Type is not enabled. Disabled event types are not allowed for create/update APIs.'
8172: ,p_token_2 => 'LOCATION'
8173: ,p_value_2 => 'xla_events_pkg.validate_event_type_code');
8174: END IF;
8175:
8176: IF ((p_entity_type_code <> l_entity_code) OR
8177: (NVL(p_event_class_code,l_event_class_code) <> l_event_class_code)
8185: ' is not defined for the entity type '||p_entity_type_code||
8186: ', event class '||p_event_class_code||
8187: ' and application '||g_application_id
8188: ,p_token_2 => 'LOCATION'
8189: ,p_value_2 => 'xla_events_pkg.validate_event_type_code');
8190: END IF;
8191:
8192: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8193: trace
8195: ,p_level => C_LEVEL_PROCEDURE
8196: ,p_module =>l_log_module);
8197: END IF;
8198:
8199: trace('< xla_events_pkg.validate_event_type_code' , 20);
8200: EXCEPTION
8201: WHEN NO_DATA_FOUND THEN
8202: xla_exceptions_pkg.raise_message
8203: (p_appli_s_name => 'XLA'
8205: ,p_token_1 => 'ERROR'
8206: ,p_value_1 => p_event_type_code||
8207: ' is not a defined event type for the application '||g_application_id
8208: ,p_token_2 => 'LOCATION'
8209: ,p_value_2 => 'xla_events_pkg.validate_event_type_code');
8210: WHEN xla_exceptions_pkg.application_exception THEN
8211: RAISE;
8212: WHEN OTHERS THEN
8213: xla_exceptions_pkg.raise_message
8210: WHEN xla_exceptions_pkg.application_exception THEN
8211: RAISE;
8212: WHEN OTHERS THEN
8213: xla_exceptions_pkg.raise_message
8214: (p_location => 'xla_events_pkg.validate_event_type_code');
8215: END validate_event_type_code;
8216:
8217: --=============================================================================
8218: --
8255: ,p_value_1 => 'Event Status Code cannot have a '||
8256: p_event_status_code ||
8257: ' value.'
8258: ,p_token_2 => 'LOCATION'
8259: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8260: END IF;
8261:
8262: ----------------------------------------------------------------------------
8263: -- Validate process status code against the possible valid statuses
8279: ,p_value_1 => 'Process Status Code cannot have a '||
8280: p_process_status_code ||
8281: ' value.'
8282: ,p_token_2 => 'LOCATION'
8283: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8284: END IF;
8285:
8286: ----------------------------------------------------------------------------
8287: -- following code is modified to fix bug # 2899700
8298: ,p_token_1 => 'ERROR'
8299: ,p_value_1 => 'Process Status Code has an invalid value. '||
8300: 'It should always have a ''Unprocessed'' value.'
8301: ,p_token_2 => 'LOCATION'
8302: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8303: END IF;
8304:
8305: IF p_event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED THEN
8306: xla_exceptions_pkg.raise_message
8301: ,p_token_2 => 'LOCATION'
8302: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8303: END IF;
8304:
8305: IF p_event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED THEN
8306: xla_exceptions_pkg.raise_message
8307: (p_appli_s_name => 'XLA'
8308: ,p_msg_name => 'XLA_COMMON_ERROR'
8309: ,p_token_1 => 'ERROR'
8309: ,p_token_1 => 'ERROR'
8310: ,p_value_1 => 'Event Status Code has an invalid value. '||
8311: 'It cannot have a ''Processed'' value.'
8312: ,p_token_2 => 'LOCATION'
8313: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8314: END IF;
8315: ELSIF g_context = C_MANUAL_EVENT_CONTEXT THEN
8316:
8317: -------------------------------------------------------------------------
8318: -- for manual events
8319: -------------------------------------------------------------------------
8320:
8321: IF (p_process_status_code = C_INTERNAL_FINAL) THEN
8322: IF (p_event_status_code <> xla_events_pub_pkg.C_EVENT_PROCESSED) THEN
8323: xla_exceptions_pkg.raise_message
8324: (p_appli_s_name => 'XLA'
8325: ,p_msg_name => 'XLA_COMMON_ERROR'
8326: ,p_token_1 => 'ERROR'
8328: 'Process Status Code = '|| p_process_status_code ||
8329: ', '||
8330: 'Event Status Code = '|| p_event_status_code
8331: ,p_token_2 => 'LOCATION'
8332: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8333: END IF;
8334: ELSIF (p_process_status_code = C_INTERNAL_DRAFT) THEN
8335: IF (p_event_status_code <> xla_events_pub_pkg.C_EVENT_UNPROCESSED) THEN
8336: xla_exceptions_pkg.raise_message
8331: ,p_token_2 => 'LOCATION'
8332: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8333: END IF;
8334: ELSIF (p_process_status_code = C_INTERNAL_DRAFT) THEN
8335: IF (p_event_status_code <> xla_events_pub_pkg.C_EVENT_UNPROCESSED) THEN
8336: xla_exceptions_pkg.raise_message
8337: (p_appli_s_name => 'XLA'
8338: ,p_msg_name => 'XLA_COMMON_ERROR'
8339: ,p_token_1 => 'ERROR'
8341: 'Process Status Code = '|| p_process_status_code ||
8342: ', '||
8343: 'Event Status Code = '|| p_event_status_code
8344: ,p_token_2 => 'LOCATION'
8345: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8346: END IF;
8347: ELSIF (p_process_status_code = C_INTERNAL_UNPROCESSED) THEN
8348: IF (p_event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED) THEN
8349: xla_exceptions_pkg.raise_message
8344: ,p_token_2 => 'LOCATION'
8345: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8346: END IF;
8347: ELSIF (p_process_status_code = C_INTERNAL_UNPROCESSED) THEN
8348: IF (p_event_status_code = xla_events_pub_pkg.C_EVENT_PROCESSED) THEN
8349: xla_exceptions_pkg.raise_message
8350: (p_appli_s_name => 'XLA'
8351: ,p_msg_name => 'XLA_COMMON_ERROR'
8352: ,p_token_1 => 'ERROR'
8354: 'Process Status Code = '|| p_process_status_code ||
8355: ', '||
8356: 'Event Status Code = '|| p_event_status_code
8357: ,p_token_2 => 'LOCATION'
8358: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8359: END IF;
8360: ELSE
8361: xla_exceptions_pkg.raise_message
8362: (p_appli_s_name => 'XLA'
8366: 'Process Status Code = '|| p_process_status_code ||
8367: ', '||
8368: 'Event Status Code = '|| p_event_status_code
8369: ,p_token_2 => 'LOCATION'
8370: ,p_value_2 => 'xla_events_pkg.validate_status_code');
8371: END IF;
8372: END IF;
8373:
8374: IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
8381: WHEN xla_exceptions_pkg.application_exception THEN
8382: RAISE;
8383: WHEN OTHERS THEN
8384: xla_exceptions_pkg.raise_message
8385: (p_location => 'xla_events_pkg.validate_status_code');
8386: END validate_status_code;
8387:
8388:
8389: --=============================================================================
8393: --
8394: --=============================================================================
8395:
8396: PROCEDURE validate_params
8397: (p_source_info IN xla_events_pub_pkg.t_event_source_info
8398: ,p_event_class_code IN VARCHAR2 DEFAULT NULL
8399: ,p_event_type_code IN VARCHAR2 DEFAULT NULL
8400: ,p_event_date IN DATE DEFAULT NULL
8401: ,p_event_status_code IN VARCHAR2 DEFAULT NULL
8491: WHEN xla_exceptions_pkg.application_exception THEN
8492: RAISE;
8493: WHEN OTHERS THEN
8494: xla_exceptions_pkg.raise_message
8495: (p_location => 'xla_events_pkg.validate_params');
8496: END validate_params;
8497:
8498:
8499:
8543: 'The ledger is either not enabled or is marked as not to create events.'||
8544: 'ledger_id = '||p_ledger_id||
8545: 'application_id = '|| p_application_id
8546: ,p_token_2 => 'LOCATION'
8547: ,p_value_2 => 'xla_events_pkg.validate_ledger');
8548: END IF;
8549: ELSE
8550: BEGIN
8551: SELECT DECODE(enabled_flag
8578: WHEN xla_exceptions_pkg.application_exception THEN
8579: RAISE;
8580: WHEN OTHERS THEN
8581: xla_exceptions_pkg.raise_message
8582: (p_location => 'xla_events_pkg.validate_ledger');
8583: END validate_ledger;
8584:
8585:
8586: --=============================================================================
8589: --
8590: --=============================================================================
8591:
8592: PROCEDURE cache_entity_info
8593: (p_source_info IN xla_events_pub_pkg.t_event_source_info
8594: ,p_valuation_method IN VARCHAR2
8595: ,p_event_id IN NUMBER) IS -- 8761772
8596:
8597: l_source_info xla_events_pub_pkg.t_event_source_info;
8593: (p_source_info IN xla_events_pub_pkg.t_event_source_info
8594: ,p_valuation_method IN VARCHAR2
8595: ,p_event_id IN NUMBER) IS -- 8761772
8596:
8597: l_source_info xla_events_pub_pkg.t_event_source_info;
8598:
8599: -------------------------------------------------------------------------------
8600: -- Following three cursors have been modified to remove the 'for update'.
8601: -- The cursors c1 and c2 have also been modified to include 'group by' rather
8613: ,xte.transaction_number
8614: ,max(xe.event_number)
8615: ,xet.enable_gapless_events_flag
8616: FROM xla_transaction_entities xte
8617: ,xla_events xe
8618: ,xla_entity_types_b xet
8619: WHERE xte.application_id = p_source_info.application_id
8620: AND xte.ledger_id = p_source_info.ledger_id
8621: AND xte.entity_code = p_source_info.entity_type_code
8651: ,a.transaction_number
8652: ,MAX(b.event_number)
8653: ,c.enable_gapless_events_flag
8654: FROM xla_transaction_entities a
8655: ,xla_events b
8656: ,xla_entity_types_b c
8657: WHERE a.application_id = p_source_info.application_id
8658: AND a.entity_id = g_entity_id
8659: AND b.entity_id = g_entity_id
8675: ,a.entity_code
8676: ,a.transaction_number
8677: ,b.event_number
8678: FROM xla_transaction_entities a
8679: ,xla_events b
8680: WHERE b.event_id = eventid
8681: AND b.application_id = p_source_info.application_id -- 8967771
8682: AND a.entity_id = b.entity_id
8683: AND a.application_id = p_source_info.application_id;
8700: ,xte.transaction_number
8701: ,nvl(max(xe.event_number),0)
8702: ,xet.enable_gapless_events_flag
8703: FROM xla_transaction_entities xte
8704: ,xla_events xe
8705: ,xla_entity_types_b xet
8706: WHERE xte.application_id = p_source_info.application_id
8707: AND xte.ledger_id = p_source_info.ledger_id
8708: AND xte.entity_code = p_source_info.entity_type_code
9026: IF c4%ISOPEN THEN -- Added bug 10649546
9027: CLOSE c4;
9028: END IF; -- end bug 10649546
9029: xla_exceptions_pkg.raise_message
9030: (p_location => 'xla_events_pkg.cache_entity_info');
9031: END cache_entity_info;
9032:
9033:
9034: --=============================================================================
9038: --
9039: --=============================================================================
9040:
9041: FUNCTION create_entity_event
9042: (p_event_source_info IN xla_events_pub_pkg.t_event_source_info
9043: ,p_valuation_method IN VARCHAR2
9044: ,p_event_type_code IN VARCHAR2
9045: ,p_event_date IN DATE
9046: ,p_event_status_code IN VARCHAR2
9046: ,p_event_status_code IN VARCHAR2
9047: ,p_process_status_code IN VARCHAR2
9048: ,p_event_number IN NUMBER
9049: ,p_transaction_date IN DATE
9050: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
9051: DEFAULT NULL
9052: ,p_budgetary_control_flag IN VARCHAR2)
9053: RETURN INTEGER IS
9054:
9108: ,sysdate
9109: ,xla_environment_pkg.g_usr_id
9110: ,xla_environment_pkg.g_login_id
9111: ,p_valuation_method
9112: ,xla_events_pub_pkg.g_security.security_id_int_1
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9109: ,xla_environment_pkg.g_usr_id
9110: ,xla_environment_pkg.g_login_id
9111: ,p_valuation_method
9112: ,xla_events_pub_pkg.g_security.security_id_int_1
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9117: ,xla_events_pub_pkg.g_security.security_id_char_3
9110: ,xla_environment_pkg.g_login_id
9111: ,p_valuation_method
9112: ,xla_events_pub_pkg.g_security.security_id_int_1
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9117: ,xla_events_pub_pkg.g_security.security_id_char_3
9118: ,p_event_source_info.source_id_int_1
9111: ,p_valuation_method
9112: ,xla_events_pub_pkg.g_security.security_id_int_1
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9117: ,xla_events_pub_pkg.g_security.security_id_char_3
9118: ,p_event_source_info.source_id_int_1
9119: ,p_event_source_info.source_id_int_2
9112: ,xla_events_pub_pkg.g_security.security_id_int_1
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9117: ,xla_events_pub_pkg.g_security.security_id_char_3
9118: ,p_event_source_info.source_id_int_1
9119: ,p_event_source_info.source_id_int_2
9120: ,p_event_source_info.source_id_int_3
9113: ,xla_events_pub_pkg.g_security.security_id_int_2
9114: ,xla_events_pub_pkg.g_security.security_id_int_3
9115: ,xla_events_pub_pkg.g_security.security_id_char_1
9116: ,xla_events_pub_pkg.g_security.security_id_char_2
9117: ,xla_events_pub_pkg.g_security.security_id_char_3
9118: ,p_event_source_info.source_id_int_1
9119: ,p_event_source_info.source_id_int_2
9120: ,p_event_source_info.source_id_int_3
9121: ,p_event_source_info.source_id_int_4
9160: WHEN xla_exceptions_pkg.application_exception THEN
9161: RAISE;
9162: WHEN OTHERS THEN
9163: xla_exceptions_pkg.raise_message
9164: (p_location => 'xla_events_pkg.create_entity_event');
9165: END create_entity_event;
9166:
9167:
9168: --=============================================================================
9201: WHEN xla_exceptions_pkg.application_exception THEN
9202: RAISE;
9203: WHEN OTHERS THEN
9204: xla_exceptions_pkg.raise_message
9205: (p_location => 'xla_events_pkg.update_entity_trx_number');
9206: END update_entity_trx_number;
9207:
9208: --=============================================================================
9209: --
9222: ,p_event_status_code IN VARCHAR2
9223: ,p_process_status_code IN VARCHAR2
9224: ,p_event_number IN NUMBER
9225: ,p_transaction_date IN DATE
9226: ,p_reference_info IN xla_events_pub_pkg.t_event_reference_info
9227: DEFAULT NULL
9228: ,p_budgetary_control_flag IN VARCHAR2)
9229: RETURN INTEGER IS
9230: l_event_id INTEGER;
9227: DEFAULT NULL
9228: ,p_budgetary_control_flag IN VARCHAR2)
9229: RETURN INTEGER IS
9230: l_event_id INTEGER;
9231: l_on_hold_flag XLA_EVENTS.ON_HOLD_FLAG%TYPE:='N';
9232: l_event_status_code XLA_EVENTS.EVENT_STATUS_CODE%TYPE;
9233: l_temp_event_number XLA_EVENTS.event_number%TYPE;
9234: l_log_module VARCHAR2(240);
9235: BEGIN
9228: ,p_budgetary_control_flag IN VARCHAR2)
9229: RETURN INTEGER IS
9230: l_event_id INTEGER;
9231: l_on_hold_flag XLA_EVENTS.ON_HOLD_FLAG%TYPE:='N';
9232: l_event_status_code XLA_EVENTS.EVENT_STATUS_CODE%TYPE;
9233: l_temp_event_number XLA_EVENTS.event_number%TYPE;
9234: l_log_module VARCHAR2(240);
9235: BEGIN
9236: IF g_log_enabled THEN
9229: RETURN INTEGER IS
9230: l_event_id INTEGER;
9231: l_on_hold_flag XLA_EVENTS.ON_HOLD_FLAG%TYPE:='N';
9232: l_event_status_code XLA_EVENTS.EVENT_STATUS_CODE%TYPE;
9233: l_temp_event_number XLA_EVENTS.event_number%TYPE;
9234: l_log_module VARCHAR2(240);
9235: BEGIN
9236: IF g_log_enabled THEN
9237: l_log_module := C_DEFAULT_MODULE||'.add_entity_event';
9246: if(g_gapless_flag='Y' and p_event_number>1) then
9247: begin
9248: select on_hold_flag, event_status_code
9249: into l_on_hold_flag, l_event_status_code
9250: from xla_events
9251: where entity_id=p_entity_id
9252: and event_number=p_event_number-1
9253: and application_id = p_application_id -- 8967771
9254: ;
9260: l_on_hold_flag := 'Y';
9261: end if;
9262: end if;
9263:
9264: INSERT INTO xla_events
9265: (event_id
9266: ,application_id
9267: ,event_type_code
9268: ,entity_id
9294: ,reference_date_3
9295: ,reference_date_4
9296: ,on_hold_flag)
9297: VALUES
9298: (xla_events_s.nextval
9299: ,p_application_id
9300: ,p_event_type_code
9301: ,p_entity_id
9302: ,NVL(p_event_number,g_max_event_number + 1)
9334: -- set the following event on_hold to 'N'
9335:
9336: SELECT event_status_code, event_number BULK COLLECT
9337: INTO g_gapless_array_event_status, g_gapless_event_number
9338: FROM xla_events
9339: Where entity_id = g_entity_id
9340: and event_number> p_event_number
9341: and application_id = p_application_id -- 8967771
9342: Order by event_number;
9353: --l_temp_event_number is the next gap
9354: -- update the on_hold_flag of event between l_array_event_number(i)
9355: -- and --l_temp_event_number+1
9356:
9357: update xla_events
9358: set on_hold_flag='N'
9359: where entity_id=p_entity_id
9360: and event_number >p_event_number
9361: and event_number
9380: WHEN xla_exceptions_pkg.application_exception THEN
9381: RAISE;
9382: WHEN OTHERS THEN
9383: xla_exceptions_pkg.raise_message
9384: (p_location => 'xla_events_pkg.add_event (fn)');
9385: END add_entity_event;
9386:
9387:
9388: --=============================================================================
9395: l_dummy_class_tbl t_array_event_class;
9396: l_dummy_type_tbl t_array_event_type;
9397: l_dummy_entity_tbl t_array_entity_type;
9398: l_dummy_tbl t_parameter_tbl;
9399: l_source_info xla_events_pub_pkg.t_event_source_info;
9400: l_log_module VARCHAR2(240);
9401: BEGIN
9402: IF g_log_enabled THEN
9403: l_log_module := C_DEFAULT_MODULE||'.reset_cache';
9440: WHEN xla_exceptions_pkg.application_exception THEN
9441: RAISE;
9442: WHEN OTHERS THEN
9443: xla_exceptions_pkg.raise_message
9444: (p_location => 'xla_events_pkg.reset_cache');
9445: END reset_cache;
9446:
9447:
9448: --=============================================================================
9476: WHEN xla_exceptions_pkg.application_exception THEN
9477: RAISE;
9478: WHEN OTHERS THEN
9479: xla_exceptions_pkg.raise_message
9480: (p_location => 'xla_events_pkg.set_context');
9481: END set_context;
9482:
9483:
9484: --=============================================================================
9499: ,p_level => C_LEVEL_PROCEDURE
9500: ,p_module => l_log_module);
9501: END IF;
9502:
9503: -- shall we join to xla_events to get only the event with status D or I?
9504: -- good: reduce the event_id that are selected
9505: -- bad: need to join to xla_events table
9506: DELETE FROM xla_accounting_errors
9507: WHERE event_id IN
9501: END IF;
9502:
9503: -- shall we join to xla_events to get only the event with status D or I?
9504: -- good: reduce the event_id that are selected
9505: -- bad: need to join to xla_events table
9506: DELETE FROM xla_accounting_errors
9507: WHERE event_id IN
9508: (SELECT xeg.event_id FROM xla_events_int_gt xeg, xla_events xe
9509: WHERE xeg.event_id = xe.event_id
9504: -- good: reduce the event_id that are selected
9505: -- bad: need to join to xla_events table
9506: DELETE FROM xla_accounting_errors
9507: WHERE event_id IN
9508: (SELECT xeg.event_id FROM xla_events_int_gt xeg, xla_events xe
9509: WHERE xeg.event_id = xe.event_id
9510: AND xe.application_id = g_application_id -- 8967771
9511: --AND xe.event_status_code in ('D', 'I')
9512: AND xe.event_status_code = 'U' -- BugNo 9775727
9523: -- Bug 5529420
9524: DELETE FROM xla_distribution_links
9525: WHERE application_id= g_application_id and ae_header_id IN
9526: (SELECT xh.ae_header_id
9527: FROM xla_events_int_gt xeg,
9528: xla_ae_headers xh
9529: WHERE
9530: xh.event_id = xeg.event_id AND
9531: xh.application_id = g_application_id AND
9547: DELETE FROM xla_ae_segment_values
9548: WHERE ae_header_id IN
9549: (SELECT xah.ae_header_id
9550: FROM
9551: --xla_events xe, 9775727
9552: xla_ae_headers xah
9553: ,xla_events_int_gt xeg
9554: WHERE xah.event_id = xeg.event_id
9555: AND xah.application_id = g_application_id -- 8967771
9549: (SELECT xah.ae_header_id
9550: FROM
9551: --xla_events xe, 9775727
9552: xla_ae_headers xah
9553: ,xla_events_int_gt xeg
9554: WHERE xah.event_id = xeg.event_id
9555: AND xah.application_id = g_application_id -- 8967771
9556: --AND xah.event_id = xe.event_id 9775727
9557: --AND xeg.event_id = xe.event_id 9775727
9572: DELETE FROM xla_ae_line_acs
9573: WHERE ae_header_id IN
9574: (SELECT xah.ae_header_id
9575: FROM
9576: --xla_events xe, 9775727
9577: xla_ae_headers xah
9578: ,xla_events_int_gt xeg
9579: WHERE xah.event_id = xeg.event_id
9580: AND xah.application_id = g_application_id -- 8967771
9574: (SELECT xah.ae_header_id
9575: FROM
9576: --xla_events xe, 9775727
9577: xla_ae_headers xah
9578: ,xla_events_int_gt xeg
9579: WHERE xah.event_id = xeg.event_id
9580: AND xah.application_id = g_application_id -- 8967771
9581: --AND xah.event_id = xe.event_id 9775727
9582: --AND xeg.event_id = xe.event_id 9775727
9597: DELETE FROM xla_ae_header_acs
9598: WHERE ae_header_id IN
9599: (SELECT xah.ae_header_id
9600: FROM
9601: --xla_events xe, 9775727
9602: xla_ae_headers xah
9603: ,xla_events_int_gt xeg
9604: WHERE xah.event_id = xeg.event_id
9605: AND xah.application_id = g_application_id -- 8967771
9599: (SELECT xah.ae_header_id
9600: FROM
9601: --xla_events xe, 9775727
9602: xla_ae_headers xah
9603: ,xla_events_int_gt xeg
9604: WHERE xah.event_id = xeg.event_id
9605: AND xah.application_id = g_application_id -- 8967771
9606: --AND xah.event_id = xe.event_id 9775727
9607: --AND xeg.event_id = xe.event_id 9775727
9623: DELETE FROM xla_ae_line_details
9624: WHERE ae_header_id IN
9625: (SELECT xah.ae_header_id
9626: FROM
9627: --xla_events xe, 9775727
9628: xla_ae_headers xah
9629: ,xla_events_int_gt xeg
9630: WHERE xah.event_id = xeg.event_id
9631: AND xah.application_id = g_application_id -- 8967771
9625: (SELECT xah.ae_header_id
9626: FROM
9627: --xla_events xe, 9775727
9628: xla_ae_headers xah
9629: ,xla_events_int_gt xeg
9630: WHERE xah.event_id = xeg.event_id
9631: AND xah.application_id = g_application_id -- 8967771
9632: --AND xah.event_id = xe.event_id 9775727
9633: --AND xeg.event_id = xe.event_id 9775727
9648: DELETE FROM xla_ae_header_details
9649: WHERE ae_header_id IN
9650: (SELECT xah.ae_header_id
9651: FROM
9652: --xla_events xe, 9775727
9653: xla_ae_headers xah
9654: ,xla_events_int_gt xeg
9655: WHERE xah.event_id = xeg.event_id
9656: AND xah.application_id = g_application_id -- 8967771
9650: (SELECT xah.ae_header_id
9651: FROM
9652: --xla_events xe, 9775727
9653: xla_ae_headers xah
9654: ,xla_events_int_gt xeg
9655: WHERE xah.event_id = xeg.event_id
9656: AND xah.application_id = g_application_id -- 8967771
9657: --AND xah.event_id = xe.event_id 9775727
9658: --AND xeg.event_id = xe.event_id 9775727
9674: WHERE application_id = g_application_id
9675: AND ae_header_id IN
9676: (SELECT xah.ae_header_id
9677: FROM
9678: --xla_events xe, 9775727
9679: xla_ae_headers xah
9680: ,xla_events_int_gt xeg
9681: WHERE xah.event_id = xeg.event_id
9682: AND xah.application_id = g_application_id -- 8967771
9676: (SELECT xah.ae_header_id
9677: FROM
9678: --xla_events xe, 9775727
9679: xla_ae_headers xah
9680: ,xla_events_int_gt xeg
9681: WHERE xah.event_id = xeg.event_id
9682: AND xah.application_id = g_application_id -- 8967771
9683: --AND xah.event_id = xe.event_id 9775727
9684: --AND xeg.event_id = xe.event_id 9775727
9700: WHERE application_id = g_application_id
9701: AND ae_header_id IN
9702: (SELECT xah.ae_header_id
9703: FROM
9704: --xla_events xe, 9775727
9705: xla_ae_headers xah
9706: ,xla_events_int_gt xeg
9707: WHERE xah.event_id = xeg.event_id
9708: AND xah.application_id = g_application_id -- 8967771
9702: (SELECT xah.ae_header_id
9703: FROM
9704: --xla_events xe, 9775727
9705: xla_ae_headers xah
9706: ,xla_events_int_gt xeg
9707: WHERE xah.event_id = xeg.event_id
9708: AND xah.application_id = g_application_id -- 8967771
9709: --AND xah.event_id = xe.event_id 9775727
9710: --AND xeg.event_id = xe.event_id 9775727
9728: WHEN xla_exceptions_pkg.application_exception THEN
9729: RAISE;
9730: WHEN OTHERS THEN
9731: xla_exceptions_pkg.raise_message
9732: (p_location => 'xla_events_pkg.delete_je');
9733: END delete_je;
9734:
9735:
9736:
10121: END IF;
10122:
10123: initialize;
10124:
10125: END xla_events_pkg;