Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Track the changes in your Apex application between releases: Yes you can Plsql.

Slides:



Advertisements
Similar presentations
1.
Advertisements

Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 of the corporate.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Your customer as a segment of one That changes every second! Hein Van Der Merwe Chief.
Oracle User Productivity Kit Professional Ensuring Success with Oracle Apps
1 Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Using Apple iBeacons to Deliver Context-Aware Social Data CON8918 Chris Bales Director of Client Development Oracle Social Network Anthony Lai UX Architext.
Jim Ferrentino Elizabeth West
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer Tips & Tricks Jeff Smith
A Java Architecture for the Internet of Things Noel Poore, Architect Pete St. Pierre, Product Manager Java Platform Group, Internet of Things September.
Oracle Cloud Marketplace Neelesh Gurnani Director, Product Development Arif Khan Director, Product Management September 29, 2014 Copyright © 2014, Oracle.
Online Application Upgrade Using Edition-Based Redefinition Alan Choi PL/SQL, Database Sever Technology
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer What’s New in Version 4.1 Jeff Smith
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Advanced Metadata Modeling Modeling for the Oracle Business Intelligence Cloud.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. |
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer For the DBA Jeff Smith
The Safe Harbor The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated.
Best Practices for Supporting Oracle Hyperion EPM and Business Intelligence Solutions Mitra Veluri Senior Principal Technical Support Engineer David Valociek.
Best Practices for Upgrading Oracle PeopleSoft Environments
American Airlines AAdvantage®:
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Amit Jha Project Leader, Product Management Oracle EBS Procurement & Contracts.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Title Slide without Picture Subtitle Presenter’s Name Presenter’s Title Organization,
Discover the Latest in Partner Training for Solutions Specialists Ian Reed Sr. Director, Partner Enablement Dana Hutanu Director, Partner Enablement WWA&C.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit The Newest JDE Module – Rental Management Joel Sandberg Sales Consultant.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit PaaS from an Applications Perspective Charles McGuinness Director,
Oracle Confidential – Internal/Restricted/Highly RestrictedCopyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Identity Management.
Application Express 4.1 New Features Hilary Farrell, Principal Member of Technical Staff, Oracle.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Oracle E-Business Suite Order Management: Presenting the HTML and Mobile User Experience Durgaprasad Bodapati Director, Product Management Bhavana Sharma.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
RMB Billing UX Design Concepts / Proposals Peter Picone.
Hadoop 2 cluster with Oracle Solaris Zones, ZFS and unified archives Orgad Kimchi - Principal Software Engineer September 29, 2014 Oracle Confidential.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
SQL Tuning made much easier with SQLTXPLAIN (SQLT) Mauro Pagano Senior Principal Technical Support Engineer Oracle Confidential – Internal/Restricted/Highly.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Preview the Plans for JD Edwards World A9.4 Release David Greiner,
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
1. S318417: OAUG SysAdmin SIG Angelo Rosado, Oracle Senior Product Manager Kenneth Baxter, Oracle Strategy Product Manager Biju Mohan, Oracle Principal.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Using Edition-based redefinition with PL/SQL How to deploy database code changes.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Build Mobile Apps for Oracle E-Business Suite with Oracle Mobile Platform Bruce Bailey Principal Mobile/Social Solutions Consultant Jagadeesh Maira Senior.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Planning & Budgeting Cloud Service (PBCS) Overview Business Analytics Product Group.
WebCenter in Education & Research A Transformation in Digital Business Session: CON7709 Golden Gate C3 Room, Marriott Marquis Moderator: Kevin Roebuck,
Oracle Fusion Applications 11gR1 ( ) Functional Overview (L2) Manage Inbound Logistics (L3) Manage and Disposition Inventory Returns.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | EPM Top Trends 2015.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Recruit and Learn Solutions Extend HR into the Cloud Marie Scott.
Travel and Transportation General Session and Industry Excellence Awards Vijay Anand, Oracle Sundar Swaminathan, Oracle September 30, 2014 Copyright ©
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. 1.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 5 Lifehacks for the Apex Development environment Five frameworks you should use.
CON8473 – Oracle Distribution of OpenStack Ronen Kofman Director of Product Management Oracle OpenStack September, 2014 Copyright © 2014, Oracle and/or.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Oracle Proprietary and Confidential. 1.
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | What You Need to Know About User Defined Objects (UDOs) With Tools Release 9.2.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Daddy, what's a middle wear? An incredibly oversimplified explanation of what Middleware.
Build a Web App with Oracle REST Data Services &
OpenWorld 2018 How to Combine Data from Source Sites
Charles Phillips screen
Confidential – Oracle Internal/Restricted/Highly Restricted
QAD Reporting Framework
Project Helidon Deep Dive
Confidential – Oracle Internal/Restricted/Highly Restricted
Leverage the virtual team using Oracle Support Communities Phil Dixon Director Service Automation Product Management Global Customer Support October,
Principal Product Manager Oracle Data Science Platform
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be.
Oracle Java SE Subscriptions; Protect Your Investment in Java SE
IXP FilterCheck A New Route Analysis Tool for IXPs
Presentation transcript:

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Track the changes in your Apex application between releases: Yes you can Plsql based methodology to monitor the changes in your application between releases Koen Lostrie Developer, Curriculum Development Oracle Corporation March 25 th,

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Program Agenda Introduction Solution Architecture Implementation Demo Q & A

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction Good tracking system (team dev/ packaged app/ Jira) where developers document changes. Works really well for tracking features/enh req/bugs. NOT for knowing exactly what changed. Apex apps are easy to change. There is always the “ah here is a bug let me quickly fix that. No need to document that”. Audit columns in the apex views give us who and when but not what and old value/new value. How can we know what changed in our application

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction Check the export file – challenge. Big challenge. Compare the splitted export files – same. Version control comparison. So what doesn’t work ?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction How else can we track changes ? – DBMS_COMPARISON. – Oracle Total Recall. – Other Tools (eg COMPARE_SYNC) But I would like to track changes in the apex views. – That is a view, can’t create a trigger on that So how about – replicating the apex view data and then auditing changes ? The idea...

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Introduction Be available to all oracle customers (no EE functionality) Not needing any special system/sys access Be supported by Oracle – no messing with apex objects or apex schema Survive upgrades Be easy to maintain, debug, change I want my solution to...

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Architecture Generate a table for every view we want to track Generate a trigger on each of those tables For every column that we want to track, log old/new value in case of change. Merge the view data into our tables and we’re flying ! What are the parts ?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Activities: Initialize data and Log incremental changes Transactions: Row level changes (I/U/D) Audit Logs: Column value changes Naming conventions

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Create table as select * FROM were 1 = 2 Challenges: – Which views ? APEX_DICTIONARY – Fails for APEX_APPLICATION_LISTS with ORA-1723 – Some Bugs in APEX_DICTIONARY Solution: Create helper table CTA_VIEW_ATTRIBUTES The work. Step 1: Create Objects

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Create trigger on each table INS/UPD/DELETE for each row. Trigger calls procedure to store old/new values if there is a change (asktom). Challenges: – Oh no ! PAGE_NAME seems to be everywhere ?? – Do I track all columns (even COMPONENT_SIGNATURE ?) – How do I uniquely define a row (some documented, some not documented, some not available and skipped) Solution: Create helper table CTA_VIEW_EXCL_COLUMNS to store columns to exclude for table and child table (based on apex_dictionary hierarchy) The work. Step 2: Create Objects

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Copy the current application view data into our newly created tables. Disable triggers for this operation. Merge statement (see later) on unique key from CTA_VIEW_ATTRIBUTES The work. Step 3: Initialize Data

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Merge the current apex view data into CTA tables (Merge + Delete) Challenges: – After a Log Changes operation, the data in our CTA tables is now identical what if more changes come up. Solution: restore old version and Initialize Data Better solution: parameter INCREMENT_VIEW_DATA. Use AUTONOMOUS TRANSACTION to store delta and roll back transaction. The work. Step 4: Log Changes

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation You learn how internals work and not everything is what it seems: – eg: do anything on IR and CT_APPLICATION_PAGE_IR_RPT gets updated – Eg: CT_APPLICATION_PAGES.PAGE_FUNCTION only set after builder is run Control characters trigger a change (this is not logged as change) Quirks, open issues and unexpected results

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Implementation Can I copy from another app id ? Can I get my hands on this ? This is more than just a working prototype right ? And it is fully supported by Oracle ? Apex 5 (Yes, if...) ? Warning ! (hint... Security) I knew you were going to ask...

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Demo

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Questions ?