[Home] [Help]
1: PACKAGE BODY xla_validations_pkg AS
2: /* $Header: xlacmval.pkb 120.16 2006/04/21 18:14:54 wychan ship $ */
3: /*======================================================================+
4: | Copyright (c) 1995-2002 Oracle Corporation |
5: | Redwood Shores, CA, USA |
5: | Redwood Shores, CA, USA |
6: | All rights reserved. |
7: +=======================================================================+
8: | PACKAGE NAME |
9: | xla_validations_pkg |
10: | |
11: | DESCRIPTION |
12: | XLA Common Validations Package |
13: | |
38: l_char varchar2(1) := null;
39: l_return BOOLEAN := TRUE;
40:
41: BEGIN
42: xla_utility_pkg.trace('> xla_validations_pkg.object_name_is_valid' , 10);
43:
44: xla_utility_pkg.trace('Object Name = '||p_object_name , 20);
45:
46: SELECT length(p_object_name)
61: END IF;
62: END IF;
63: END LOOP;
64:
65: xla_utility_pkg.trace('< xla_validations_pkg.object_name_is_valid' , 10);
66:
67: RETURN l_return;
68:
69: EXCEPTION
70: WHEN xla_exceptions_pkg.application_exception THEN
71: RAISE;
72: WHEN OTHERS THEN
73: xla_exceptions_pkg.raise_message
74: (p_location => 'xla_validations_pkg.object_name_is_valid');
75: END object_name_is_valid;
76:
77: /*======================================================================+
78: | |
113: AND xpr.product_rule_code = p_product_rule_code
114: AND xpr.language = USERENV('LANG');
115:
116: BEGIN
117: xla_utility_pkg.trace('> xla_validations_pkg.get_product_rule_info' , 10);
118:
119: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
120: xla_utility_pkg.trace('product_rule_type_code = '||p_product_rule_type_code , 20);
121: xla_utility_pkg.trace('product_rule_code = '||p_product_rule_code , 20);
124: FETCH c_prod_rule
125: INTO p_application_name, p_product_rule_name, p_product_rule_type;
126: CLOSE c_prod_rule;
127:
128: xla_utility_pkg.trace('< xla_validations_pkg.get_product_rule_info' , 10);
129:
130: EXCEPTION
131: WHEN xla_exceptions_pkg.application_exception THEN
132: RAISE;
131: WHEN xla_exceptions_pkg.application_exception THEN
132: RAISE;
133: WHEN OTHERS THEN
134: xla_exceptions_pkg.raise_message
135: (p_location => 'xla_validations_pkg.get_product_rule_info');
136:
137: END get_product_rule_info;
138:
139: /*======================================================================+
175: AND xdt.description_code = p_description_code
176: AND xdt.language = USERENV('LANG');
177:
178: BEGIN
179: xla_utility_pkg.trace('> xla_validations_pkg.get_description_info' , 10);
180:
181: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
182: xla_utility_pkg.trace('description_type_code = '||p_description_type_code , 20);
183: xla_utility_pkg.trace('description_code = '||p_description_code , 20);
186: FETCH c_desc_rule
187: INTO p_application_name, p_description_name, p_description_type;
188: CLOSE c_desc_rule;
189:
190: xla_utility_pkg.trace('< xla_validations_pkg.get_description_info' , 10);
191:
192: EXCEPTION
193: WHEN xla_exceptions_pkg.application_exception THEN
194: RAISE;
193: WHEN xla_exceptions_pkg.application_exception THEN
194: RAISE;
195: WHEN OTHERS THEN
196: xla_exceptions_pkg.raise_message
197: (p_location => 'xla_validations_pkg.get_description_info');
198:
199: END get_description_info;
200:
201: /*======================================================================+
237: AND xsr.segment_rule_code = p_segment_rule_code
238: AND xsr.language = USERENV('LANG');
239:
240: BEGIN
241: xla_utility_pkg.trace('> xla_validations_pkg.get_segment_rule_info' , 10);
242:
243: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
244: xla_utility_pkg.trace('segment_rule_type_code = '||p_segment_rule_type_code , 20
245: );
249: FETCH c_seg_rule
250: INTO p_application_name, p_segment_rule_name, p_segment_rule_type;
251: CLOSE c_seg_rule;
252:
253: xla_utility_pkg.trace('< xla_validations_pkg.get_segment_rule_info' , 10);
254:
255: EXCEPTION
256: WHEN xla_exceptions_pkg.application_exception THEN
257: RAISE;
256: WHEN xla_exceptions_pkg.application_exception THEN
257: RAISE;
258: WHEN OTHERS THEN
259: xla_exceptions_pkg.raise_message
260: (p_location => 'xla_validations_pkg.get_segment_rule_info');
261:
262: END get_segment_rule_info;
263:
264: /*======================================================================+
304: AND xal.accounting_line_code = p_accounting_line_code
305: AND xal.language = USERENV('LANG');
306:
307: BEGIN
308: xla_utility_pkg.trace('> xla_validations_pkg.get_line_type_info' , 10);
309:
310: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
311: xla_utility_pkg.trace('entity_code = '||p_entity_code , 20);
312: xla_utility_pkg.trace('event_class_code = '||p_event_class_code , 20);
318: FETCH c_line_type
319: INTO p_application_name, p_accounting_line_type_name, p_accounting_line_type;
320: CLOSE c_line_type;
321:
322: xla_utility_pkg.trace('< xla_validations_pkg.get_line_type_info' , 10);
323:
324: EXCEPTION
325: WHEN xla_exceptions_pkg.application_exception THEN
326: RAISE;
325: WHEN xla_exceptions_pkg.application_exception THEN
326: RAISE;
327: WHEN OTHERS THEN
328: xla_exceptions_pkg.raise_message
329: (p_location => 'xla_validations_pkg.get_line_type_info');
330:
331: END get_line_type_info;
332:
333: /*======================================================================+
359: AND event_class_code = p_event_class_code
360: AND language = USERENV('LANG');
361:
362: BEGIN
363: xla_utility_pkg.trace('> xla_validations_pkg.get_event_class_info' , 10);
364:
365: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
366: xla_utility_pkg.trace('entity_code = '||p_entity_code , 20);
367: xla_utility_pkg.trace('event_class_code = '||p_event_class_code , 20);
370: FETCH c_event_class
371: INTO p_event_class_name;
372: CLOSE c_event_class;
373:
374: xla_utility_pkg.trace('< xla_validations_pkg.get_event_class_info' , 10);
375:
376: EXCEPTION
377: WHEN xla_exceptions_pkg.application_exception THEN
378: RAISE;
377: WHEN xla_exceptions_pkg.application_exception THEN
378: RAISE;
379: WHEN OTHERS THEN
380: xla_exceptions_pkg.raise_message
381: (p_location => 'xla_validations_pkg.get_event_class_info');
382:
383: END get_event_class_info;
384:
385: /*======================================================================+
413: AND event_type_code = p_event_type_code
414: AND language = USERENV('LANG');
415:
416: BEGIN
417: xla_utility_pkg.trace('> xla_validations_pkg.get_event_type_info' , 10);
418:
419: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
420: xla_utility_pkg.trace('entity_code = '||p_entity_code , 20);
421: xla_utility_pkg.trace('event_class_code = '||p_event_class_code , 20);
425: FETCH c_event_type
426: INTO p_event_type_name;
427: CLOSE c_event_type;
428:
429: xla_utility_pkg.trace('< xla_validations_pkg.get_event_type_info' , 10);
430:
431: EXCEPTION
432: WHEN xla_exceptions_pkg.application_exception THEN
433: RAISE;
432: WHEN xla_exceptions_pkg.application_exception THEN
433: RAISE;
434: WHEN OTHERS THEN
435: xla_exceptions_pkg.raise_message
436: (p_location => 'xla_validations_pkg.get_event_type_info');
437:
438: END get_event_type_info;
439:
440: /*======================================================================+
469: AND s.source_type_code = l.lookup_code
470: AND l.lookup_type = 'XLA_SOURCE_TYPE';
471:
472: BEGIN
473: xla_utility_pkg.trace('> xla_validations_pkg.get_source_info' , 10);
474:
475: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
476: xla_utility_pkg.trace('source_code = '||p_source_code , 20);
477: xla_utility_pkg.trace('source_type_code = '||p_source_type_code , 20);
480: FETCH c_source
481: INTO p_source_name, p_source_type;
482: CLOSE c_source;
483:
484: xla_utility_pkg.trace('< xla_validations_pkg.get_source_info' , 10);
485:
486: EXCEPTION
487: WHEN xla_exceptions_pkg.application_exception THEN
488: RAISE;
487: WHEN xla_exceptions_pkg.application_exception THEN
488: RAISE;
489: WHEN OTHERS THEN
490: xla_exceptions_pkg.raise_message
491: (p_location => 'xla_validations_pkg.get_source_info');
492:
493: END get_source_info;
494:
495: /*======================================================================+
523: AND s.analytical_criterion_type_code = l.lookup_code
524: AND l.lookup_type = 'XLA_OWNER_TYPE';
525:
526: BEGIN
527: xla_utility_pkg.trace('> xla_validations_pkg.get_analytical_criteria_info' , 10);
528:
529: xla_utility_pkg.trace('analytical_criteria_code = '||p_analytical_criterion_code , 20);
530: xla_utility_pkg.trace('anal_criteria_type_code = '||p_anal_criterion_type_code , 20);
531:
533: FETCH c_anc
534: INTO p_analytical_criteria_name, p_analytical_criteria_type;
535: CLOSE c_anc;
536:
537: xla_utility_pkg.trace('< xla_validations_pkg.get_analytical_criteria_info' , 10);
538:
539: EXCEPTION
540: WHEN xla_exceptions_pkg.application_exception THEN
541: RAISE;
540: WHEN xla_exceptions_pkg.application_exception THEN
541: RAISE;
542: WHEN OTHERS THEN
543: xla_exceptions_pkg.raise_message
544: (p_location => 'xla_validations_pkg.get_analytical_criteria_info');
545:
546: END get_analytical_criteria_info;
547:
548: /*======================================================================+
576: AND xam.accounting_method_code = p_accounting_method_code
577: AND xam.language = USERENV('LANG');
578:
579: BEGIN
580: xla_utility_pkg.trace('> xla_validations_pkg.get_accounting_method_info' , 10);
581:
582: xla_utility_pkg.trace('accounting_method_type_code = '||p_accounting_method_type_code , 20);
583: xla_utility_pkg.trace('accounting_method_code = '||p_accounting_method_code , 20);
584:
586: FETCH c_anc
587: INTO p_accounting_method_name, p_accounting_method_type;
588: CLOSE c_anc;
589:
590: xla_utility_pkg.trace('< xla_validations_pkg.get_accounting_method_info' , 10);
591:
592: EXCEPTION
593: WHEN xla_exceptions_pkg.application_exception THEN
594: RAISE;
593: WHEN xla_exceptions_pkg.application_exception THEN
594: RAISE;
595: WHEN OTHERS THEN
596: xla_exceptions_pkg.raise_message
597: (p_location => 'xla_validations_pkg.get_accounting_method_info');
598:
599: END get_accounting_method_info;
600:
601: /*======================================================================+
623: WHERE application_id = p_application_id
624: AND language = USERENV('LANG');
625:
626: BEGIN
627: xla_utility_pkg.trace('> xla_validations_pkg.get_application_name' , 10);
628:
629: xla_utility_pkg.trace('application_id = '||p_application_id , 20);
630:
631: OPEN c_application;
632: FETCH c_application
633: INTO p_application_name;
634: CLOSE c_application;
635:
636: xla_utility_pkg.trace('< xla_validations_pkg.get_application_name' , 10);
637:
638: EXCEPTION
639: WHEN xla_exceptions_pkg.application_exception THEN
640: RAISE;
639: WHEN xla_exceptions_pkg.application_exception THEN
640: RAISE;
641: WHEN OTHERS THEN
642: xla_exceptions_pkg.raise_message
643: (p_location => 'xla_validations_pkg.get_application_name');
644:
645: END get_application_name;
646:
647: /*======================================================================+
668: FROM gl_ledgers
669: WHERE ledger_id = p_ledger_id;
670:
671: BEGIN
672: xla_utility_pkg.trace('> xla_validations_pkg.get_ledger_name' , 10);
673:
674: xla_utility_pkg.trace('ledger_id = '||p_ledger_id , 20);
675:
676: OPEN c_ledger;
677: FETCH c_ledger
678: INTO p_ledger_name;
679: CLOSE c_ledger;
680:
681: xla_utility_pkg.trace('< xla_validations_pkg.get_ledger_name' , 10);
682:
683: EXCEPTION
684: WHEN xla_exceptions_pkg.application_exception THEN
685: RAISE;
684: WHEN xla_exceptions_pkg.application_exception THEN
685: RAISE;
686: WHEN OTHERS THEN
687: xla_exceptions_pkg.raise_message
688: (p_location => 'xla_validations_pkg.get_ledger_name');
689:
690: END get_ledger_name;
691:
692: /*======================================================================+
725: AND l.lookup_type = 'XLA_OWNER_TYPE';
726:
727: BEGIN
728:
729: xla_utility_pkg.trace('> xla_validations_pkg.get_trx_acct_def_info' , 10);
730:
731: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
732: xla_utility_pkg.trace('account_definition_type_code = '||p_account_definition_type_code , 20);
733: xla_utility_pkg.trace('account_definition_code = '||p_account_definition_code , 20);
736: FETCH c_prod_rule
737: INTO p_application_name, p_trx_acct_def, p_trx_acct_def_type;
738: CLOSE c_prod_rule;
739:
740: xla_utility_pkg.trace('< xla_validations_pkg.get_trx_acct_def_info' , 10);
741:
742: EXCEPTION
743: WHEN xla_exceptions_pkg.application_exception THEN
744: RAISE;
743: WHEN xla_exceptions_pkg.application_exception THEN
744: RAISE;
745: WHEN OTHERS THEN
746: xla_exceptions_pkg.raise_message
747: (p_location => 'xla_validations_pkg.get_trx_acct_def_info');
748:
749: END get_trx_acct_def_info;
750:
751: /*======================================================================+
774: WHERE application_id = p_application_id
775: AND account_type_code = p_account_type_code;
776:
777: BEGIN
778: xla_utility_pkg.trace('> xla_validations_pkg.get_trx_acct_type_info' , 10);
779: xla_utility_pkg.trace('Application_id = '||p_application_id , 20);
780: xla_utility_pkg.trace('account_type_code = '||p_account_type_code , 20);
781:
782: OPEN c_type;
783: FETCH c_type
784: INTO p_trx_acct_type;
785: CLOSE c_type;
786:
787: xla_utility_pkg.trace('< xla_validations_pkg.get_trx_acct_type_info' , 10);
788:
789: EXCEPTION
790: WHEN xla_exceptions_pkg.application_exception THEN
791: RAISE;
790: WHEN xla_exceptions_pkg.application_exception THEN
791: RAISE;
792: WHEN OTHERS THEN
793: xla_exceptions_pkg.raise_message
794: (p_location => 'xla_validations_pkg.get_trx_acct_type_info');
795:
796: END get_trx_acct_type_info;
797:
798: /*======================================================================+
823: FROM user_objects o
824: WHERE o.object_name = p_table_name;
825:
826: BEGIN
827: xla_utility_pkg.trace('> xla_validations_pkg.table_name_is_valid' , 10);
828:
829: xla_utility_pkg.trace('Table Name = '||p_table_name , 20);
830:
831: OPEN c_user_objects;
837: l_return := FALSE;
838: END IF;
839: CLOSE c_user_objects;
840:
841: xla_utility_pkg.trace('< xla_validations_pkg.table_name_is_valid' , 10);
842:
843: RETURN l_return;
844:
845: EXCEPTION
846: WHEN xla_exceptions_pkg.application_exception THEN
847: RAISE;
848: WHEN OTHERS THEN
849: xla_exceptions_pkg.raise_message
850: (p_location => 'xla_validations_pkg.table_name_is_valid');
851: END table_name_is_valid;
852:
853: /*======================================================================+
854: | |
900: WHEN xla_exceptions_pkg.application_exception THEN
901: RAISE;
902: WHEN OTHERS THEN
903: xla_exceptions_pkg.raise_message
904: (p_location => 'xla_validations_pkg.reference_is_valid');
905: END reference_is_valid;
906:
907: /*======================================================================+
908: | |
925: l_return BOOLEAN;
926:
927: BEGIN
928:
929: xla_utility_pkg.trace('> xla_validations_pkg.join_condition_is_valid' , 10);
930:
931: BEGIN
932:
933: l_sql := 'SELECT 1 FROM '
949: l_return := FALSE;
950: p_error_message := SQLERRM;
951: END;
952:
953: xla_utility_pkg.trace('< xla_validations_pkg.join_condition_is_valid' , 10);
954:
955: RETURN l_return;
956:
957: EXCEPTION
958: WHEN xla_exceptions_pkg.application_exception THEN
959: RAISE;
960: WHEN OTHERS THEN
961: xla_exceptions_pkg.raise_message
962: (p_location => 'xla_validations_pkg.join_condition_is_valid');
963:
964: END join_condition_is_valid;
965:
966: END xla_validations_pkg;
962: (p_location => 'xla_validations_pkg.join_condition_is_valid');
963:
964: END join_condition_is_valid;
965:
966: END xla_validations_pkg;