59:
60:
61: -- cached_org_id integer;
62: -- cached_org_append varchar2(100);
63: g_module_type cn_rulesets.module_type%type;
64: --
65: -- Private Functions and Procedures
66: --
67:
76: -- 09-19-95 Amy Erickson Updated
77: --
78:
79: PROCEDURE attribute_rules (
80: X_rule_id cn_rules.rule_id%TYPE,
81: x_org_id cn_rules.org_id%TYPE,
82: code IN OUT NOCOPY cn_utils.clob_code_type) IS
83:
84: first_flag VARCHAR2(1);
77: --
78:
79: PROCEDURE attribute_rules (
80: X_rule_id cn_rules.rule_id%TYPE,
81: x_org_id cn_rules.org_id%TYPE,
82: code IN OUT NOCOPY cn_utils.clob_code_type) IS
83:
84: first_flag VARCHAR2(1);
85: quote VARCHAR2(1);
90:
91: x_value cn_attribute_rules.column_value%TYPE; --AE 09-18-95
92: x_high_value cn_attribute_rules.high_value%TYPE; --AE
93: x_low_value cn_attribute_rules.low_value%TYPE; --AE
94: x_ruleset_id cn_rulesets.ruleset_id%TYPE; -- RK
95:
96: cached_org_id integer;
97: cached_org_append varchar2(100);
98:
293: -- History
294: -- 06/22/98 Ramkarthik Kalyanasundaram Created
295: --
296:
297: PROCEDURE create_attribute_rules_expr (X_rule_id cn_rules.rule_id%TYPE,
298: x_org_id cn_rules.org_id%TYPE,
299: code IN OUT NOCOPY cn_utils.clob_code_type) IS
300: l_dummy NUMBER := '-1000';
301: first_flag VARCHAR2(1);
294: -- 06/22/98 Ramkarthik Kalyanasundaram Created
295: --
296:
297: PROCEDURE create_attribute_rules_expr (X_rule_id cn_rules.rule_id%TYPE,
298: x_org_id cn_rules.org_id%TYPE,
299: code IN OUT NOCOPY cn_utils.clob_code_type) IS
300: l_dummy NUMBER := '-1000';
301: first_flag VARCHAR2(1);
302: quote VARCHAR2(1);
300: l_dummy NUMBER := '-1000';
301: first_flag VARCHAR2(1);
302: quote VARCHAR2(1);
303: default_flag VARCHAR2(1);
304: x_ruleset_id cn_rulesets.ruleset_id%TYPE;
305: buffer VARCHAR2(32000);
306: cached_org_id integer;
307: cached_org_append varchar2(100);
308: l_dummy_date VARCHAR2(60):= '01/01/1600';
338: cached_org_append:='_'||cached_org_id;
339:
340: SELECT ruleset_id
341: INTO x_ruleset_id
342: FROM cn_rules
343: WHERE rule_id = X_rule_id
344: AND org_id=x_org_id
345: AND ruleset_id = g_ruleset_id;
346:
537: name cn_objects.name%TYPE,
538: object_type cn_objects.object_type%TYPE,
539: object_id IN OUT NOCOPY cn_objects.object_id%TYPE,
540: description IN OUT NOCOPY cn_objects.description%TYPE,
541: x_org_id cn_rulesets.org_id%TYPE) IS
542: next_id NUMBER;
543: BEGIN
544:
545: next_id := cn_utils.get_repository(module_id,x_org_id);
585: package_body_desc IN OUT NOCOPY cn_obj_packages_v.description%TYPE,
586:
587: spec_code IN OUT NOCOPY cn_utils.clob_code_type,
588: body_code IN OUT NOCOPY cn_utils.clob_code_type,
589: x_org_id cn_rulesets.org_id%TYPE) IS
590:
591: x_rowid ROWID;
592: null_id NUMBER;
593: delete_flag VARCHAR2(1) := 'Y';
645: code IN OUT NOCOPY cn_utils.clob_code_type,
646: package_name cn_obj_packages_v.name%TYPE,
647: description cn_obj_packages_v.description%TYPE,
648: object_type VARCHAR2,
649: x_org_id cn_rules.org_id%TYPE) IS
650:
651: X_userid VARCHAR2(20);
652: x_package_name varchar2(100);
653: cached_org_id integer;
718:
719: END proc_init;
720:
721: PROCEDURE rules_recurse_call (
722: X_ruleset_id cn_rules.ruleset_id%TYPE,
723: x_org_id cn_rules.org_id%TYPE,
724: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
725: code IN OUT NOCOPY cn_utils.clob_code_type,
726: X_package_count cn_rules.package_id%TYPE) IS
719: END proc_init;
720:
721: PROCEDURE rules_recurse_call (
722: X_ruleset_id cn_rules.ruleset_id%TYPE,
723: x_org_id cn_rules.org_id%TYPE,
724: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
725: code IN OUT NOCOPY cn_utils.clob_code_type,
726: X_package_count cn_rules.package_id%TYPE) IS
727:
720:
721: PROCEDURE rules_recurse_call (
722: X_ruleset_id cn_rules.ruleset_id%TYPE,
723: x_org_id cn_rules.org_id%TYPE,
724: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
725: code IN OUT NOCOPY cn_utils.clob_code_type,
726: X_package_count cn_rules.package_id%TYPE) IS
727:
728: X_revenue_class NUMBER;
722: X_ruleset_id cn_rules.ruleset_id%TYPE,
723: x_org_id cn_rules.org_id%TYPE,
724: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
725: code IN OUT NOCOPY cn_utils.clob_code_type,
726: X_package_count cn_rules.package_id%TYPE) IS
727:
728: X_revenue_class NUMBER;
729: X_expense_ccid number;
730: X_liability_ccid number;
743: cn_utils.indent(code, 1);
744:
745: SELECT count(*)
746: INTO dummy
747: FROM cn_rules_hierarchy crh
748: WHERE parent_rule_id = X_rule_id
749: AND org_id=x_org_id
750: AND ruleset_id = x_ruleset_id;
751:
762: IF (g_module_type = 'REVCLS' OR g_module_type = 'PECLS')
763: THEN
764: SELECT revenue_class_id
765: INTO X_revenue_class
766: FROM cn_rules
767: WHERE rule_id = X_rule_id
768: AND ruleset_id = X_ruleset_id;
769:
770: IF (X_revenue_class IS NOT NULL) THEN
774: END IF;
775: ELSE
776: SELECT expense_ccid
777: INTO X_expense_ccid
778: FROM cn_rules
779: WHERE rule_id = X_rule_id
780: AND org_id=x_org_id
781: AND ruleset_id = X_ruleset_id;
782: SELECT liability_ccid
780: AND org_id=x_org_id
781: AND ruleset_id = X_ruleset_id;
782: SELECT liability_ccid
783: INTO X_liability_ccid
784: FROM cn_rules
785: WHERE rule_id = X_rule_id
786: AND org_id=x_org_id
787: AND ruleset_id = X_ruleset_id;
788:
1394:
1395:
1396:
1397: PROCEDURE rules_recurse_gen (
1398: x_ruleset_id cn_rulesets.ruleset_id%TYPE,
1399: x_org_id cn_rulesets.org_id%TYPE,
1400: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1401: code IN OUT NOCOPY cn_utils.clob_code_type) IS
1402: first_flag VARCHAR2(1);
1395:
1396:
1397: PROCEDURE rules_recurse_gen (
1398: x_ruleset_id cn_rulesets.ruleset_id%TYPE,
1399: x_org_id cn_rulesets.org_id%TYPE,
1400: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1401: code IN OUT NOCOPY cn_utils.clob_code_type) IS
1402: first_flag VARCHAR2(1);
1403: X_revenue_class NUMBER;
1396:
1397: PROCEDURE rules_recurse_gen (
1398: x_ruleset_id cn_rulesets.ruleset_id%TYPE,
1399: x_org_id cn_rulesets.org_id%TYPE,
1400: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1401: code IN OUT NOCOPY cn_utils.clob_code_type) IS
1402: first_flag VARCHAR2(1);
1403: X_revenue_class NUMBER;
1404: X_expense_ccid number;
1411: dummy NUMBER(7);
1412:
1413: CURSOR rules IS
1414: SELECT crh.rule_id rule_id,cr.org_id,cr.package_id package_id, cr.ruleset_id ruleset_id
1415: FROM cn_rules_hierarchy crh,cn_rules cr
1416: WHERE parent_rule_id = X_rule_id
1417: AND crh.rule_id = cr.rule_id
1418: AND crh.org_id=cr.org_id
1419: AND crh.org_id=x_org_id
1450: if g_module_type = 'REVCLS' OR g_module_type = 'PECLS'
1451: then
1452: SELECT revenue_class_id
1453: INTO X_revenue_class
1454: FROM cn_rules
1455: WHERE rule_id = X_rule_id
1456: AND ruleset_id = x_ruleset_id
1457: AND org_id=x_org_id;
1458: else
1457: AND org_id=x_org_id;
1458: else
1459: SELECT expense_ccid
1460: INTO X_expense_ccid
1461: FROM cn_rules
1462: WHERE rule_id = X_rule_id
1463: AND org_id=x_org_id
1464: AND ruleset_id = x_ruleset_id;
1465: SELECT liability_ccid
1463: AND org_id=x_org_id
1464: AND ruleset_id = x_ruleset_id;
1465: SELECT liability_ccid
1466: INTO X_liability_ccid
1467: FROM cn_rules
1468: WHERE rule_id = X_rule_id
1469: AND org_id=x_org_id
1470: AND ruleset_id = x_ruleset_id;
1471: end if;
1512: RETURN;
1513: END rules_recurse_gen;
1514:
1515: PROCEDURE rules_recurse_assign (
1516: X_ruleset_id cn_rules.ruleset_id%TYPE,
1517: x_org_id cn_rules.org_id %TYPE,
1518: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1519: code IN OUT NOCOPY cn_utils.clob_code_type,
1520: x_rule_count IN OUT NOCOPY NUMBER,
1513: END rules_recurse_gen;
1514:
1515: PROCEDURE rules_recurse_assign (
1516: X_ruleset_id cn_rules.ruleset_id%TYPE,
1517: x_org_id cn_rules.org_id %TYPE,
1518: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1519: code IN OUT NOCOPY cn_utils.clob_code_type,
1520: x_rule_count IN OUT NOCOPY NUMBER,
1521: x_package_count IN OUT NOCOPY NUMBER) IS
1514:
1515: PROCEDURE rules_recurse_assign (
1516: X_ruleset_id cn_rules.ruleset_id%TYPE,
1517: x_org_id cn_rules.org_id %TYPE,
1518: X_rule_id cn_rules_hierarchy.rule_id%TYPE,
1519: code IN OUT NOCOPY cn_utils.clob_code_type,
1520: x_rule_count IN OUT NOCOPY NUMBER,
1521: x_package_count IN OUT NOCOPY NUMBER) IS
1522:
1530: dummy NUMBER(7);
1531:
1532: CURSOR rules IS
1533: SELECT rule_id,org_id
1534: FROM cn_rules_hierarchy crh
1535: WHERE parent_rule_id = X_rule_id
1536: AND org_id = x_org_id
1537: AND ruleset_id = X_ruleset_id --RC added condition for multiple classification rulesets
1538: ORDER BY sequence_number;
1563: proc_init (procedure_name, procedure_desc,parameter_list,
1564: 'P', 'NUMBER', code,'PKS');
1565: end if;
1566:
1567: UPDATE cn_rules_all_b
1568: SET package_id = x_package_count
1569: WHERE rule_id = x_rule_id
1570: AND org_id = x_org_id
1571: AND ruleset_id = X_ruleset_id;
1592: FOR r in rules LOOP
1593:
1594: SELECT count(*)
1595: INTO dummy
1596: FROM cn_rules_hierarchy
1597: WHERE parent_rule_id = r.rule_id
1598: AND org_id=r.org_id ;
1599:
1600: IF (dummy>0) THEN
1617: FUNCTION revenue_classes (
1618: debug_pipe VARCHAR2,
1619: debug_level NUMBER := 1,
1620: x_module_id cn_modules.module_id%TYPE,
1621: x_ruleset_id_in cn_rulesets.ruleset_id%TYPE,
1622: x_org_id_in cn_rulesets.org_id% TYPE) RETURN BOOLEAN IS
1623:
1624: -- Declare and initialize procedure variables AE 01-10-96
1625: package_name cn_obj_packages_v.name%TYPE
1618: debug_pipe VARCHAR2,
1619: debug_level NUMBER := 1,
1620: x_module_id cn_modules.module_id%TYPE,
1621: x_ruleset_id_in cn_rulesets.ruleset_id%TYPE,
1622: x_org_id_in cn_rulesets.org_id% TYPE) RETURN BOOLEAN IS
1623:
1624: -- Declare and initialize procedure variables AE 01-10-96
1625: package_name cn_obj_packages_v.name%TYPE
1626: := 'cn_clsfn' || '_' || ABS(x_ruleset_id_in);
1634: x_repository_id cn_repositories.repository_id%TYPE
1635: := cn_utils.get_repository(x_module_id,x_org_id_in);
1636: x_event_id cn_events.event_id%TYPE
1637: := cn_utils.get_event(x_module_id,x_org_id_in);
1638: x_ruleset_id cn_rulesets.ruleset_id%TYPE;
1639: x_org_id cn_rulesets.org_id%TYPE;
1640: x_package_count cn_rules.package_id%TYPE;
1641: x_rule_count NUMBER(7);
1642:
1635: := cn_utils.get_repository(x_module_id,x_org_id_in);
1636: x_event_id cn_events.event_id%TYPE
1637: := cn_utils.get_event(x_module_id,x_org_id_in);
1638: x_ruleset_id cn_rulesets.ruleset_id%TYPE;
1639: x_org_id cn_rulesets.org_id%TYPE;
1640: x_package_count cn_rules.package_id%TYPE;
1641: x_rule_count NUMBER(7);
1642:
1643: package_max NUMBER(7);
1636: x_event_id cn_events.event_id%TYPE
1637: := cn_utils.get_event(x_module_id,x_org_id_in);
1638: x_ruleset_id cn_rulesets.ruleset_id%TYPE;
1639: x_org_id cn_rulesets.org_id%TYPE;
1640: x_package_count cn_rules.package_id%TYPE;
1641: x_rule_count NUMBER(7);
1642:
1643: package_max NUMBER(7);
1644:
1658: -- Note: this assumes that there is exactly one top-level rule for each
1659: -- ruleset. (This assumption is shared by Tony too)
1660: CURSOR rules IS
1661: SELECT DISTINCT cr.rule_id rule_id,cr.org_id org_id,cr.package_id package_id
1662: FROM cn_rules_hierarchy crh, cn_rules cr
1663: WHERE NOT EXISTS (SELECT rule_id
1664: FROM cn_rules_hierarchy where rule_id = crh.parent_rule_id and org_id=crh.org_id)
1665: AND cr.rule_id = crh.parent_rule_id
1666: AND crh.org_id=cr.org_id
1660: CURSOR rules IS
1661: SELECT DISTINCT cr.rule_id rule_id,cr.org_id org_id,cr.package_id package_id
1662: FROM cn_rules_hierarchy crh, cn_rules cr
1663: WHERE NOT EXISTS (SELECT rule_id
1664: FROM cn_rules_hierarchy where rule_id = crh.parent_rule_id and org_id=crh.org_id)
1665: AND cr.rule_id = crh.parent_rule_id
1666: AND crh.org_id=cr.org_id
1667: and cr.org_id=x_org_id
1668: AND cr.ruleset_id = X_ruleset_id;
1670: -- Added Where clause by Kumar.S
1671:
1672: CURSOR rules_gen IS
1673: SELECT DISTINCT cr.rule_id rule_id,cr.org_id org_id
1674: FROM cn_rules cr
1675: WHERE cr.package_id = x_package_count
1676: and org_id = x_org_id
1677: and ruleset_id = x_ruleset_id;
1678:
1677: and ruleset_id = x_ruleset_id;
1678:
1679: CURSOR rulesets IS
1680: SELECT LOWER(cocv.name) dest_column, cr.ruleset_id,cr.org_id,module_type
1681: FROM cn_rulesets cr, cn_obj_columns_v cocv
1682: WHERE cr.destination_column_id = cocv.column_id
1683: AND cr.repository_id = x_repository_id
1684: AND cr.org_id = cocv.org_id
1685: AND cr.org_id=x_org_id_in
1714: FOR r IN rules LOOP
1715:
1716: SELECT count(*)
1717: INTO dummy
1718: FROM cn_rules_hierarchy
1719: WHERE parent_rule_id = r.rule_id
1720: and org_id=r.org_id;
1721:
1722: IF (dummy>0) THEN
1753: FOR rgen IN rules_gen LOOP
1754:
1755: SELECT count(*)
1756: INTO dummy
1757: FROM cn_rules_hierarchy
1758: WHERE parent_rule_id = rgen.rule_id and
1759: org_id=rgen.org_id;
1760:
1761: IF (dummy>0) THEN
2023: ORDER BY cs.line_no;
2024:
2025: CURSOR get_ruleset_data ( p_ruleset_id in NUMBER,p_org_id in NUMBER ) IS
2026: SELECT *
2027: FROM cn_rulesets
2028: WHERE ruleset_id = p_ruleset_id and
2029: org_id=p_org_id;
2030:
2031: l_get_ruleset_data_rec get_ruleset_data%ROWTYPE;