Easy migration to a new
Chart of Accounts
Chitra Kanakaraj
Agenda
• The University of Waikato
• Easy migration to a new Chart of Accounts
without affecting the subsystems that uses
the COA
• Oracle 11g feature Rules Manager and
Expression Filter
• Oracle Business Rules
The University of Waikato
• About Me
• What was the need to migrate to New COA
• Impact of the change
• How to ...
• Wondered how to modify and manage
business logic easily
Uow Transactions per Year
Systems Transactions per year
Receivables 21,000
Payables 66,000
PCard 32,000
Journals 1,000
Anfield Transactions are included in Payables
stats
Assets 160,000
Payroll 1,100,000 distribution lines
JadeSMS 82,000
Printcost 5,000
UOW COA Structure
COA
Structure
Segment1 Segment2 Segment3 Segment4 Segment5 Segment6
OLD 99 A9 AA99 AA AA99 A999
NEW 99 A9 AA99 99 9999 A999
Modify and Manage Business logic
• Oracle 11g feature Rules Manager and
Expression Filter
• What is this?
• How it works?
• Skills Needed
• Practical Implementation
Rules Manager
• Rules manager API - Defines, manage and
enforce complex rules in Oracle Database
• This API can be used across multisession and
environment
• Rules manager can model any event-
condition-action(ECA)-based system.
• Applications for Rules Manager are ...
What is a Rule?
• Typically, rules follow Event-Condition-Action
(ECA)
• The ECA components are defined as:
• Event -- the state information for the process
• Condition -- the Boolean condition that
evaluates to true or false for the event
• Action -- the action to be carried out if the
rule condition evaluates to true for the event.
Rules Manager Implementation
Process
What is My ECA
Create Event Structure
PL/SQL Code to Create Event Structure
• CREATE TYPE validCOA AS OBJECT (
Seg1 VARCHAR2(2),
Seg2 VARCHAR2(2),
Seg3 VARCHAR2(4),
Seg4 VARCHAR2(2),
Seg5 VARCHAR2(4),
Seg6 VARCHAR2(4));
Toad image of Event Structure
Create the rule class for the event
structure.
PL/SQL Code to Create Rule Class
• BEGIN
dbms_rlmgr.create_rule_class (
rule_class => 'COARules',
event_struct => 'validCOA',
action_cbk => 'getGatePass',
actprf_spec => 'SubSystemName
VARCHAR2(50)');
END;
TOAD Image of Create Rule Class
Toad Image of the Rules Table
Toad Image of the Callback Procedure
Modify the Procedure getGatePass
If rlm$rule.subsystemname = 'UniMarket' then
dbms_output.put_line ('This is a valid COA
code for the UniMarket Sub System');
end if;
If rlm$rule.subsystemname = 'StaffClaim' then
dbms_output.put_line ('This is a valid COA
code for the StaffClaim Sub System');
end if;
Toad Image of the Modified Procedure
Insert Row in the Rules Class Table
• Each row inserted typically contains a rule
identifier, a condition, and values for action
preferences.
• Adding rules consists of using the SQL INSERT
statement to add a row for each rule.
PL/SQL Code to Insert Rows in the
Rules Class Table
• --COA Rules for the UniMarket subsystem
INSERT INTO COARules (rlm$ruleid,
SUBSYSTEMNAME, rlm$rulecond)
VALUES ('987', 'UniMarket',
'REGEXP_INSTR(Seg5, ''^8[4-5][0-9][0-9]$'') > 0
and REGEXP_INSTR(Seg4, ''^[2,4,6,9]0$'') > 0');
PL/SQL Code to Insert Rows in the
Rules Class Table
--COA Rules for the StaffClaim subsystem
INSERT INTO COARules (rlm$ruleid,
SUBSYSTEMNAME, rlm$rulecond)
VALUES('973', 'StaffClaim',
'REGEXP_INSTR(Seg5, ''^2[0-6][0-9][0-9]$'') > 0
and REGEXP_INSTR(Seg4, ''^[2,4,6,8]0$'') > 0');
Toad Image of the Insert Rows in
the Rules Class Table
Toad Image of the Rules Table
after inserting two rows
Process the rules for an event
• Use the dbms_rlmgr.process_rules( )
procedure to process the rules in a rule class
for an event instance.
• Processing the rules consists of passing in an
event instance as a string of name-value pairs
(generated using the getVarchar( ) procedure)
PL/SQL Code to Process the Rules
• BEGIN
• dbms_rlmgr.process_rules (
• rule_class => 'COARULES',
• event_inst => VALIDCOA.getVarchar('XX',
'XX', 'xxxx', '60','8573', 'zzzz'));
• END;
Toad Image of Processing the Rules
Toad Image of the Process Output
Shocking News
Oracle Issued an Obsolescence
Notice
• Obsolescence Notice: Rules Manager and
Expression Filter features of Oracle Database
are obsolete in the next major release after
Oracle Database 11g Release 2 (11.2).
• Support will only be available for the
life of Oracle Database Release11g Release 2.
See My Oracle Support Note ID 1244535.1 for
more information.
Replacement Product
Oracle Business Rules
Basic Oracle Business Rule
Concepts
Overview of the Business Rules
Component
Creating a Business Rule
Component
1
2
Input...
Output....
Define initial XML
Facts
Define initial XML
Facts
Define Decision Service name in Advanced
tab
Define Decision Service name in Advanced
tab
3
5
4
Tick to exposeTick to expose
Input XML Schema
Rules Editor in Jdeveloper - Facts
Facts TypeFacts Type
Element attributes derived
from the input schema
Element attributes derived
from the input schema
Bucketset Attached
with Attributes
Bucketset Attached
with Attributes
Rules Editor in Jdeveloper -
Bucketsets
Constraints for
Seg5
Constraints for
Seg5
Range or LOVRange or LOV
Rules Editor in Jdeveloper -
Rulesets
RuleSetRuleSet
IF/THEN
Condition
IF/THEN
Condition
Condition
If Seg5 is between 8400 to 8599 and Seg4 is
any value in (20, 40, 60, 80)
Condition
If Seg5 is between 8400 to 8599 and Seg4 is
any value in (20, 40, 60, 80)
Action
Modify the systemName
value to “UNIMARKET”
Action
Modify the systemName
value to “UNIMARKET”
RuleRule
Rules Editor in Jdeveloper –
Decision Functions
Web Service for executing exposed
decision functions for underlying
Oracle Business Rules
Web Service for executing exposed
decision functions for underlying
Oracle Business Rules
Deploy Web Service
• Business rules created in an SOA application
are deployed as part of the SOA composite
when you create a deployment profile in
Oracle JDeveloper.
• The SOA composite application
‘COA_RULES_CHITRA’ is deployed to Oracle
Enterprise Manager 11g.
• Test the Decision Service in the Oracle
Enterprise Manager.
Testing the Web Service
Input values for Seg4,
Seg5,SystemName
Input values for Seg4,
Seg5,SystemName
Testing Web Service
Out Put Modified
value for the
SystemName
Out Put Modified
value for the
SystemName
Summary
• Yes you can easily migrate to a new Chart of
Accounts in eBusiness Suite, without affecting
the subsystems that uses the Chat of
Accounts.
• How :- By having the business logic as rules or
expressions in an Oracle 11g table or exposing
the business logic as a Decision Service.
• Products :- Oracle 11g Rules Manager and
Expression Filter OR Oracle Business Rules
Questions and Answers
Easy migration to a new Chart of Accounts

More Related Content

PDF
Designing a Chart of Accounts for a Global Company Going to Oracle E-Business...
PPTX
MySQL Performance Schema : fossasia
PDF
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
PPTX
Presentación Oracle Database Migración consideraciones 10g/11g/12c
PDF
Performance Stability, Tips and Tricks and Underscores
PDF
Profiling Mondrian MDX Requests in a Production Environment
PDF
The art of querying – newest and advanced SQL techniques
PDF
Sherlock holmes for dba’s
Designing a Chart of Accounts for a Global Company Going to Oracle E-Business...
MySQL Performance Schema : fossasia
MySQL-Performance Schema- What's new in MySQL-5.7 DMRs
Presentación Oracle Database Migración consideraciones 10g/11g/12c
Performance Stability, Tips and Tricks and Underscores
Profiling Mondrian MDX Requests in a Production Environment
The art of querying – newest and advanced SQL techniques
Sherlock holmes for dba’s

Similar to Easy migration to a new Chart of Accounts (20)

PDF
Oracle SQL Tuning
PPTX
Oracle Policy Administration Training online - Oracle Trainings
PDF
Introducing a horizontally scalable, inference-based business Rules Engine fo...
PDF
Oracle Drivers configuration for High Availability
PDF
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
PDF
Upcoming changes in MySQL 5.7
PPTX
Sql server 2008r2 dba course
PPTX
Sql server 2008r2 dba course
PDF
Continuous Delivery: How RightScale Releases Weekly
PPTX
Oracle Database 23c Security New Features.pptx
PDF
2009 Collaborate IOUG Presentation
PDF
Enforcing Business Rules - Automatic Fixes
PPTX
Enhancements that will make your sql database roar sp1 edition sql bits 2017
PPTX
Oracle Data Redaction
PDF
Upgrading to my sql 8.0
PDF
ebs-performance-tuning-part-1-470542.pdf
PPTX
Procedures and triggers in SQL
PDF
ITB2019 RuleBox : The natural rule engine for CFML - Luis Majano
PDF
RuleBox : A natural language Rule Engine
PDF
11gR2 Upgrade.pdf
Oracle SQL Tuning
Oracle Policy Administration Training online - Oracle Trainings
Introducing a horizontally scalable, inference-based business Rules Engine fo...
Oracle Drivers configuration for High Availability
Oracle Database Performance Tuning Advanced Features and Best Practices for DBAs
Upcoming changes in MySQL 5.7
Sql server 2008r2 dba course
Sql server 2008r2 dba course
Continuous Delivery: How RightScale Releases Weekly
Oracle Database 23c Security New Features.pptx
2009 Collaborate IOUG Presentation
Enforcing Business Rules - Automatic Fixes
Enhancements that will make your sql database roar sp1 edition sql bits 2017
Oracle Data Redaction
Upgrading to my sql 8.0
ebs-performance-tuning-part-1-470542.pdf
Procedures and triggers in SQL
ITB2019 RuleBox : The natural rule engine for CFML - Luis Majano
RuleBox : A natural language Rule Engine
11gR2 Upgrade.pdf
Ad

Easy migration to a new Chart of Accounts

  • 1. Easy migration to a new Chart of Accounts Chitra Kanakaraj
  • 2. Agenda • The University of Waikato • Easy migration to a new Chart of Accounts without affecting the subsystems that uses the COA • Oracle 11g feature Rules Manager and Expression Filter • Oracle Business Rules
  • 3. The University of Waikato • About Me • What was the need to migrate to New COA • Impact of the change • How to ... • Wondered how to modify and manage business logic easily
  • 4. Uow Transactions per Year Systems Transactions per year Receivables 21,000 Payables 66,000 PCard 32,000 Journals 1,000 Anfield Transactions are included in Payables stats Assets 160,000 Payroll 1,100,000 distribution lines JadeSMS 82,000 Printcost 5,000
  • 5. UOW COA Structure COA Structure Segment1 Segment2 Segment3 Segment4 Segment5 Segment6 OLD 99 A9 AA99 AA AA99 A999 NEW 99 A9 AA99 99 9999 A999
  • 6. Modify and Manage Business logic • Oracle 11g feature Rules Manager and Expression Filter • What is this? • How it works? • Skills Needed • Practical Implementation
  • 7. Rules Manager • Rules manager API - Defines, manage and enforce complex rules in Oracle Database • This API can be used across multisession and environment • Rules manager can model any event- condition-action(ECA)-based system. • Applications for Rules Manager are ...
  • 8. What is a Rule? • Typically, rules follow Event-Condition-Action (ECA) • The ECA components are defined as: • Event -- the state information for the process • Condition -- the Boolean condition that evaluates to true or false for the event • Action -- the action to be carried out if the rule condition evaluates to true for the event.
  • 10. What is My ECA
  • 12. PL/SQL Code to Create Event Structure • CREATE TYPE validCOA AS OBJECT ( Seg1 VARCHAR2(2), Seg2 VARCHAR2(2), Seg3 VARCHAR2(4), Seg4 VARCHAR2(2), Seg5 VARCHAR2(4), Seg6 VARCHAR2(4));
  • 13. Toad image of Event Structure
  • 14. Create the rule class for the event structure.
  • 15. PL/SQL Code to Create Rule Class • BEGIN dbms_rlmgr.create_rule_class ( rule_class => 'COARules', event_struct => 'validCOA', action_cbk => 'getGatePass', actprf_spec => 'SubSystemName VARCHAR2(50)'); END;
  • 16. TOAD Image of Create Rule Class
  • 17. Toad Image of the Rules Table
  • 18. Toad Image of the Callback Procedure
  • 19. Modify the Procedure getGatePass If rlm$rule.subsystemname = 'UniMarket' then dbms_output.put_line ('This is a valid COA code for the UniMarket Sub System'); end if; If rlm$rule.subsystemname = 'StaffClaim' then dbms_output.put_line ('This is a valid COA code for the StaffClaim Sub System'); end if;
  • 20. Toad Image of the Modified Procedure
  • 21. Insert Row in the Rules Class Table • Each row inserted typically contains a rule identifier, a condition, and values for action preferences. • Adding rules consists of using the SQL INSERT statement to add a row for each rule.
  • 22. PL/SQL Code to Insert Rows in the Rules Class Table • --COA Rules for the UniMarket subsystem INSERT INTO COARules (rlm$ruleid, SUBSYSTEMNAME, rlm$rulecond) VALUES ('987', 'UniMarket', 'REGEXP_INSTR(Seg5, ''^8[4-5][0-9][0-9]$'') > 0 and REGEXP_INSTR(Seg4, ''^[2,4,6,9]0$'') > 0');
  • 23. PL/SQL Code to Insert Rows in the Rules Class Table --COA Rules for the StaffClaim subsystem INSERT INTO COARules (rlm$ruleid, SUBSYSTEMNAME, rlm$rulecond) VALUES('973', 'StaffClaim', 'REGEXP_INSTR(Seg5, ''^2[0-6][0-9][0-9]$'') > 0 and REGEXP_INSTR(Seg4, ''^[2,4,6,8]0$'') > 0');
  • 24. Toad Image of the Insert Rows in the Rules Class Table
  • 25. Toad Image of the Rules Table after inserting two rows
  • 26. Process the rules for an event • Use the dbms_rlmgr.process_rules( ) procedure to process the rules in a rule class for an event instance. • Processing the rules consists of passing in an event instance as a string of name-value pairs (generated using the getVarchar( ) procedure)
  • 27. PL/SQL Code to Process the Rules • BEGIN • dbms_rlmgr.process_rules ( • rule_class => 'COARULES', • event_inst => VALIDCOA.getVarchar('XX', 'XX', 'xxxx', '60','8573', 'zzzz')); • END;
  • 28. Toad Image of Processing the Rules
  • 29. Toad Image of the Process Output
  • 31. Oracle Issued an Obsolescence Notice • Obsolescence Notice: Rules Manager and Expression Filter features of Oracle Database are obsolete in the next major release after Oracle Database 11g Release 2 (11.2). • Support will only be available for the life of Oracle Database Release11g Release 2. See My Oracle Support Note ID 1244535.1 for more information.
  • 33. Basic Oracle Business Rule Concepts
  • 34. Overview of the Business Rules Component
  • 35. Creating a Business Rule Component 1 2 Input... Output.... Define initial XML Facts Define initial XML Facts Define Decision Service name in Advanced tab Define Decision Service name in Advanced tab 3 5 4 Tick to exposeTick to expose
  • 37. Rules Editor in Jdeveloper - Facts Facts TypeFacts Type Element attributes derived from the input schema Element attributes derived from the input schema Bucketset Attached with Attributes Bucketset Attached with Attributes
  • 38. Rules Editor in Jdeveloper - Bucketsets Constraints for Seg5 Constraints for Seg5 Range or LOVRange or LOV
  • 39. Rules Editor in Jdeveloper - Rulesets RuleSetRuleSet IF/THEN Condition IF/THEN Condition Condition If Seg5 is between 8400 to 8599 and Seg4 is any value in (20, 40, 60, 80) Condition If Seg5 is between 8400 to 8599 and Seg4 is any value in (20, 40, 60, 80) Action Modify the systemName value to “UNIMARKET” Action Modify the systemName value to “UNIMARKET” RuleRule
  • 40. Rules Editor in Jdeveloper – Decision Functions Web Service for executing exposed decision functions for underlying Oracle Business Rules Web Service for executing exposed decision functions for underlying Oracle Business Rules
  • 41. Deploy Web Service • Business rules created in an SOA application are deployed as part of the SOA composite when you create a deployment profile in Oracle JDeveloper. • The SOA composite application ‘COA_RULES_CHITRA’ is deployed to Oracle Enterprise Manager 11g. • Test the Decision Service in the Oracle Enterprise Manager.
  • 42. Testing the Web Service Input values for Seg4, Seg5,SystemName Input values for Seg4, Seg5,SystemName
  • 43. Testing Web Service Out Put Modified value for the SystemName Out Put Modified value for the SystemName
  • 44. Summary • Yes you can easily migrate to a new Chart of Accounts in eBusiness Suite, without affecting the subsystems that uses the Chat of Accounts. • How :- By having the business logic as rules or expressions in an Oracle 11g table or exposing the business logic as a Decision Service. • Products :- Oracle 11g Rules Manager and Expression Filter OR Oracle Business Rules