G a u Beginning Oracle Application Express 5 l THE EXPERT’S VOICE® IN ORACLE t Whether you’re new to Oracle or an old hand who’s yet to test the waters of APEX, Beginning B Oracle Application Express5 introduces the processes and best practices you’ll need to become Beginning Oracle proficient with APEX. The book shows off the programming environment, the utilities and e tools available, and then continues by walking through the process of building a working g system from the ground up. All code is documented and explained so that those new to the i languages will not be lost. After reading this book, power users and programmers alike can n quickly put together robust and scalable applications for use by one person, by a department, by an entire company. n Application Beginning Oracle Application Express 5 introduces version 5 of the popular and productive i n Oracle Application Express development platform. Called APEX for short, the platform enables rapid and easy development of web-based applications that make full use of Oracle Database. g The release of APEX 5 brings major new changes to the page builder, an enhanced universal theme, better RESTful web services support, enhanced application packaging, and the many O redesigned wizards give a new and fresh feel to the user interface. r Express 5 • Covers brand-new functionality in APEX 5 a • Provides fully documented and explained example code c • Guides you through creating a working and fully deployable application l e A p p Your ticket to easy and robust l i c web-application development using a t Oracle’s powerful toolset for i o power-users, programmers, and n database administrators E x — p r Doug Gault e s s 5 Shelve in: IISSBBNN 99787-81--14-84428-4024-670-4267-2 Databases/Oracle User level: Beginning–Advanced 9 781484 204672 SOURCE CODE ONLINE www.apress.com Beginning Oracle Application Express 5 Doug Gault Beginning Oracle Application Express 5 Copyright © 2015 by Doug Gault This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. Exempted from this legal reservation are brief excerpts in connection with reviews or scholarly analysis or material supplied specifically for the purpose of being entered and executed on a computer system, for exclusive use by the purchaser of the work. Duplication of this publication or parts thereof is permitted only under the provisions of the Copyright Law of the Publisher’s location, in its current version, and permission for use must always be obtained from Springer. Permissions for use may be obtained through RightsLink at the Copyright Clearance Center. Violations are liable to prosecution under the respective Copyright Law. ISBN-13 (pbk): 978-1-4842-0467-2 ISBN-13 (electronic): 978-1-4842-0466-5 Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. While the advice and information in this book are believed to be true and accurate at the date of publication, neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or omissions that may be made. The publisher makes no warranty, express or implied, with respect to the material contained herein. Managing Director: Welmoed Spahr Lead Editor: Jonathan Gennick Technical Reviewer: Warren Capps Editorial Board: Steve Anglin, Louise Corrigan, Jonathan Gennick, Robert Hutchinson, Michelle Lowman, James Markham, Matthew Moodie, Jeffrey Pepper, Douglas Pundick, Ben Renow-Clarke, Gwenan Spearing Coordinating Editor: Jill Balzano Copy Editor: April Rondeau Compositor: SPi Global Indexer: SPi Global Artist: SPi Global Distributed to the book trade worldwide by Springer Science+Business Media New York, 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, email [email protected], or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation. For information on translations, please e-mail [email protected], or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales. Any source code or other supplementary material referenced by the author in this text is available to readers at www.apress.com/. For detailed information about how to locate your book’s source code, go to www.apress.com/source-code/. To those in search of knowledge and better understanding, I dedicate this effort. Hopefully, as your skills grow, you too will continue to share the wealth. —Doug Gault Contents at a Glance About the Authors ���������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii ■ Chapter 1: An Introduction to APEX 5�0 �����������������������������������������������������������������1 ■ Chapter 2: A Developer’s Overview �����������������������������������������������������������������������7 ■ Chapter 3: Identifying the Problem and Designing the Solution ��������������������������37 ■ Chapter 4: SQL Workshop ������������������������������������������������������������������������������������45 ■ Chapter 5: Applications and Navigation ��������������������������������������������������������������67 ■ Chapter 6: Forms and Reports: The Basics �������������������������������������������������������107 ■ Chapter 7: Forms and Reports: Advanced ���������������������������������������������������������167 ■ Chapter 8: Programmatic Elements ������������������������������������������������������������������231 ■ Chapter 9: Security ��������������������������������������������������������������������������������������������259 ■ Chapter 10: Application Bundling and Deployment �������������������������������������������287 ■ Chapter 11: Understanding Websheets �������������������������������������������������������������309 ■ Chapter 12: A Websheet Example ����������������������������������������������������������������������339 ■ Chapter 13: Extended Developer Tools ��������������������������������������������������������������359 ■ Chapter 14: Managing Workspaces �������������������������������������������������������������������383 v ■ Contents at a GlanCe ■ Chapter 15: Team Development �������������������������������������������������������������������������401 ■ Chapter 16: Dynamic Actions ����������������������������������������������������������������������������431 ■ Appendix A: Page Designer Walkthrough and Reference ����������������������������������449 Index ���������������������������������������������������������������������������������������������������������������������469 vi Contents About the Author ����������������������������������������������������������������������������������������������������xix About the Technical Reviewer ��������������������������������������������������������������������������������xxi Acknowledgments ������������������������������������������������������������������������������������������������xxiii ■ Chapter 1: An Introduction to APEX 5�0 �����������������������������������������������������������������1 What Is APEX? ������������������������������������������������������������������������������������������������������������������1 A Brief History of APEX �����������������������������������������������������������������������������������������������������2 Ancient History ���������������������������������������������������������������������������������������������������������������������������������������2 More Recent History �������������������������������������������������������������������������������������������������������������������������������2 APEX 5�0 and the Future �������������������������������������������������������������������������������������������������������������������������3 What You Need to Get Started ������������������������������������������������������������������������������������������4 Access to an APEX Instance �������������������������������������������������������������������������������������������������������������������5 Web Browser ������������������������������������������������������������������������������������������������������������������������������������������5 SQL Developer ����������������������������������������������������������������������������������������������������������������������������������������5 Summary ��������������������������������������������������������������������������������������������������������������������������6 ■ Chapter 2: A Developer’s Overview �����������������������������������������������������������������������7 The Anatomy of a Workspace �������������������������������������������������������������������������������������������7 APEX Users ���������������������������������������������������������������������������������������������������������������������������������������������8 Applications, Pages, Regions, and Items ������������������������������������������������������������������������������������������������9 Workspaces, Applications, and Schemas ���������������������������������������������������������������������������������������������10 A Final Word on Workspaces ����������������������������������������������������������������������������������������������������������������12 A Tour of the APEX Modules �������������������������������������������������������������������������������������������12 The Home Page ������������������������������������������������������������������������������������������������������������������������������������13 Application Builder �������������������������������������������������������������������������������������������������������������������������������16 vii ■ Contents SQL Workshop ��������������������������������������������������������������������������������������������������������������������������������������19 Packaged Apps �������������������������������������������������������������������������������������������������������������������������������������32 Administration and Team Development ������������������������������������������������������������������������������������������������35 Summary ������������������������������������������������������������������������������������������������������������������������36 ■ Chapter 3: Identifying the Problem and Designing the Solution ��������������������������37 Identifying System Requirements ����������������������������������������������������������������������������������37 Never a Clean Slate ������������������������������������������������������������������������������������������������������������������������������37 A Broken System ����������������������������������������������������������������������������������������������������������������������������������38 How Do You Fix Things? ������������������������������������������������������������������������������������������������������������������������38 System Design with APEX in Mind ���������������������������������������������������������������������������������40 Table Definition and User-Interface Defaults ����������������������������������������������������������������������������������������40 APEX and Primary Keys ������������������������������������������������������������������������������������������������������������������������41 Business Logic vs� User-Interface Logic �����������������������������������������������������������������������������������������������41 Placement of Database Objects ������������������������������������������������������������������������������������������������������������42 Translating Theory to Practice ����������������������������������������������������������������������������������������42 Summary ������������������������������������������������������������������������������������������������������������������������43 ■ Chapter 4: SQL Workshop ������������������������������������������������������������������������������������45 Creating Objects with the Object Browser ���������������������������������������������������������������������45 Loading Data with the Data Workshop Utility �����������������������������������������������������������������52 Creating a Lookup Table �������������������������������������������������������������������������������������������������57 Loading and Running SQL Scripts ����������������������������������������������������������������������������������60 User Interface Defaults ���������������������������������������������������������������������������������������������������64 Understanding User Interface Defaults �������������������������������������������������������������������������������������������������64 Defining UI Defaults for Tables �������������������������������������������������������������������������������������������������������������64 Summary ������������������������������������������������������������������������������������������������������������������������66 ■ Chapter 5: Applications and Navigation ��������������������������������������������������������������67 The Create Application Wizard ����������������������������������������������������������������������������������������67 Sample and Packaged Applications �����������������������������������������������������������������������������������������������������68 Websheet Applications �������������������������������������������������������������������������������������������������������������������������72 viii ■ Contents Database Applications from Spreadsheets �������������������������������������������������������������������������������������������72 Applications from Scratch ��������������������������������������������������������������������������������������������������������������������73 Static Content Regions ���������������������������������������������������������������������������������������������������82 Public Pages �������������������������������������������������������������������������������������������������������������������87 Navigation Bar Entries ����������������������������������������������������������������������������������������������������88 Global Pages �������������������������������������������������������������������������������������������������������������������91 Breadcrumb Regions ������������������������������������������������������������������������������������������������������93 Breadcrumb Entries �������������������������������������������������������������������������������������������������������98 Lists ��������������������������������������������������������������������������������������������������������������������������������99 Lists of Values �������������������������������������������������������������������������������������������������������������102 Static List of Values ����������������������������������������������������������������������������������������������������������������������������103 Dynamic List of Values������������������������������������������������������������������������������������������������������������������������104 Summary ����������������������������������������������������������������������������������������������������������������������106 ■ Chapter 6: Forms and Reports: The Basics �������������������������������������������������������107 APEX Forms ������������������������������������������������������������������������������������������������������������������107 Form on a Table ������������������������������������������������������������������������������������������������������������109 Creating a Form on a Table �����������������������������������������������������������������������������������������������������������������109 Modifying a Form on a Table ��������������������������������������������������������������������������������������������������������������115 Looking Behind the Scenes ����������������������������������������������������������������������������������������������������������������120 Form on a Procedure ����������������������������������������������������������������������������������������������������122 Creating a Form on a Procedure ���������������������������������������������������������������������������������������������������������122 Modifying a Form on a Procedure ������������������������������������������������������������������������������������������������������125 Looking Behind the Scenes ����������������������������������������������������������������������������������������������������������������126 Master–Detail Report and Form �����������������������������������������������������������������������������������127 Creating a Master–Detail Report and Form ����������������������������������������������������������������������������������������127 Modifying a Master-Detail Report �������������������������������������������������������������������������������������������������������132 Session State ���������������������������������������������������������������������������������������������������������������137 Understanding Session State �������������������������������������������������������������������������������������������������������������137 Sharing Database Connections �����������������������������������������������������������������������������������������������������������138 ix
Description: