ebook img

OpenEdge Development: ADM and SmartObjects - Product PDF

270 Pages·2009·1.7 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview OpenEdge Development: ADM and SmartObjects - Product

PROGRESS ® OPENEDGE10 ® OpenEdge Development: ® ADM and SmartObjects ® © 2008 Progress Software Corporation. All rights reserved. Progress® software products are copyrighted and all rights are reserved by Progress Software Corporation. This manual is also copyrighted and all rights are reserved. This manual may not, in whole or in part, be copied, photocopied, translated, or reduced to any electronic medium or machine-readable form without prior consent, in writing, from Progress Software Corporation. The information in this manual is subject to change without notice, and Progress Software Corporation assumes no responsibility for any errors that may appear in this document. The references in this manual to specific platforms supported are subject to change. A (and design), Actional, Actional (and design), Affinities Server, Allegrix, Allegrix (and design), Apama, Business Empowerment, ClientBuilder, ClientSoft, ClientSoft (and Design), Clientsoft.com, DataDirect (and design), DataDirect Connect, DataDirect Connect64, DataDirect Connect OLE DB, DataDirect Technologies, DataDirect XQuery, DataXtend, Dynamic Routing Architecture, EasyAsk, EdgeXtend, Empowerment Center, eXcelon, Fathom, IntelliStream, Neon, Neon New Era of Networks, O (and design), ObjectStore, OpenEdge, PDF, PeerDirect, Persistence, Persistence (and design), POSSENET, Powered by Progress, PowerTier, ProCare, Progress, Progress DataXtend, Progress Dynamics, Progress Business Empowerment, Progress Empowerment Center, Progress Empowerment Program, Progress Fast Track, Progress OpenEdge, Progress Profiles, Progress Results, Progress Software Developers Network, ProVision, PS Select, SequeLink, Shadow, ShadowDirect, Shadow Interface, Shadow Web Interface, ShadowWeb Server, Shadow TLS, SOAPStation, Sonic ESB, SonicMQ, Sonic Orchestration Server, Sonic Software (and design), SonicSynergy, SpeedScript, Stylus Studio, Technical Empowerment, Voice of Experience, WebSpeed, and Your Software, Our Technology– Experience the Connection are registered trademarks of Progress Software Corporation or one of its subsidiaries or affiliates in the U.S. and/or other countries. AccelEvent, Apama Dashboard Studio, Apama Event Manager, Apama Event Modeler, Apama Event Store, AppsAlive, AppServer, ASPen, ASP-in-a-Box, BusinessEdge, Cache-Forward, DataDirect Spy, DataDirect SupportLink, DataDirect XML Converters, Future Proof, Ghost Agents, GVAC, Looking Glass, ObjectCache, ObjectStore Inspector, ObjectStore Performance Expert, Pantero, POSSE, ProDataSet, Progress ESP Event Manager, Progress ESP Event Modeler, Progress Event Engine, Progress RFID, PSE Pro, SectorAlliance, SmartBrowser, SmartComponent, SmartDataBrowser, SmartDataObjects, SmartDataView, SmartDialog, SmartFolder, SmartFrame, SmartObjects, SmartPanel, SmartQuery, SmartViewer, SmartWindow, Sonic, Sonic Business Integration Suite, Sonic Process Manager, Sonic Collaboration Server, Sonic Continuous Availability Architecture, Sonic Database Service, Sonic Workbench, Sonic XML Server, The Brains Behind BAM, WebClient, and Who Makes Progress are trademarks or service marks of Progress Software Corporation or one of its subsidiaries or affiliates in the U.S. and other countries. Vermont Views is a registered trademark of Vermont Creative Software in the U.S. and other countries. IBM is a registered trademark of IBM Corporation. JMX and JMX-based marks and Java and all Java-based marks are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Any other trademarks or service marks contained herein are the property of their respective owners. Third party acknowledgements — See the “Third party acknowledgements” section on pagePreface–7. February 2008 Last updated with new content: Release 10.0A Product Code: 4496; R10.1C For the latest documentation updates see the OpenEdge Product Documentation category on PSDN (http://www.psdn.com/ library/kbcategory.jspa?categoryID=129). Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preface–1 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–2 SmartObject application benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 Enhanced code reusability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 Customizing SmartObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 ADM classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 Standard ADM class files and templates. . . . . . . . . . . . . . . . . . . . . . . . . 1–5 Custom ADM Class Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6 SmartObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–8 SmartObject types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–8 The lifecycle of a SmartObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 SmartObject templates and masters. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 Instantiation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–11 SmartLinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–12 Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–13 Super procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–14 External procedures, internal procedures, and functions . . . . . . . . . . . . 1–14 Super procedures in the ADM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–16 2. SmartObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 SmartObject summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Accessing SmartObjects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 SmartObject instance properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 AppBuilder-maintained procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 SmartContainers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 SmartContainers and their contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 Paging. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 Pass-through links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 SmartWindows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 SmartFrames. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 SmartDialogs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Contents SmartDataObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 SmartDataObject instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 SmartDataObject usage notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 SmartDataBrowsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 SmartDataBrowser instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Dynamic versus static SmartDataBrowsers. . . . . . . . . . . . . . . . . . . . . . . 2–17 SmartDataBrowser usage notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 SmartDataViewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 SmartDataViewer instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 SmartDataViewer usage notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–22 SmartDataFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–23 SmartDataField instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–24 SmartDataField usage notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–24 SmartPanels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–26 SmartPanel instance properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–27 SmartPanel usage notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–29 SmartFolders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–30 SmartFolder instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–30 SmartFolder usage notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–31 SmartFilters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32 SmartFilter instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32 SmartFilter usage notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–38 SmartToolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–39 SmartToolbar instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–40 SmartToolbar usage notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–42 SmartSelects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 SmartSelect instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 SmartSelect usage notes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–48 Simple SmartObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–51 3. SmartLinks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 SmartLink overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2 SmartLink types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2 Source and target objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–4 SmartLink events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–5 Container SmartLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Navigation SmartLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Page SmartLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 PageN SmartLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 TableIO SmartLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 GroupAssign SmartLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Data SmartLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Update SmartLink. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10 Commit SmartLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10 Filter SmartLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–11 Invoking behavior in other linked objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–12 Pass-through links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Getting records from an additional source. . . . . . . . . . . . . . . . . . . . . . . . 3–15 Using Data SmartLinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–17 Defining SmartLinks in Progress applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Defining static SmartLinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–18 Defining dynamic SmartLinks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–19 Contents–2 Contents 4. Data Management in the ADM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–1 Displaying and browsing data sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 SmartDataObjects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–2 SmartDataViewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 SmartDataBrowsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Initializing the foreign key fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–3 Compatibility checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4 Filtering records . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–8 Using SmartPanels and the SmartToolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Using SmartPanels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–10 Using SmartToolbars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–13 Transactions and record locking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–15 5. SmartObject Interactions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–1 General structure of a SmartObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–2 Directory and file structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–2 Support include files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–2 Super procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–3 Property and prototype include files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 Prototype include files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–4 SmartObject file relationships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–5 RUN protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7 RUN statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–7 Localizing standard SmartObject behavior . . . . . . . . . . . . . . . . . . . . . . 5–8 ADM properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–11 ADMProps temp-table and object properties . . . . . . . . . . . . . . . . . . . . . 5–11 Get and set functions for object properties. . . . . . . . . . . . . . . . . . . . . . . 5–16 {get} and {set} pseudo-syntax for object properties . . . . . . . . . . . . . . . . 5–17 Instance properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–19 Translatable properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–19 Functions for accessing properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–20 Dynamic properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–21 6. Advanced ADM Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–1 Parameterizing SmartObject instances as variables . . . . . . . . . . . . . . . . . . . . . . . 6–2 Writing local event procedures and functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4 Writing a local event procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–4 Writing a local event function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–5 Monitoring SmartObject applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6 Procedure Object Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6 The Application Debugger. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–7 Pro*Spy Plus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9 AppBuilder requirements for SmartObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–10 Using GroupAssign SmartLinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–11 7. Developing Your Application’s BusinessLogic . . . . . . . . . . . . . . . . . . . . . . . . 7–1 SmartDataObject features and operating characteristics . . . . . . . . . . . . . . . . . . . 7–2 SmartDataObject query and update operations . . . . . . . . . . . . . . . . . . . . . . . . . . 7–3 Query operations and the RowObject temp-table. . . . . . . . . . . . . . . . . . 7–3 Update operations and the RowObjUpd temp-table. . . . . . . . . . . . . . . . 7–4 Nondata fields in the RowObject and RowObjUpd temp-tables . . . . . . . 7–4 ADM event procedures and functions in the SmartDataObject . . . . . . . . . . . . . . . 7–7 Opening a database query . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Dynamic query manipulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–7 Contents–3 Contents SmartDataObjects and SmartLinks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–12 Validation procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–13 Data Dictionary validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–13 Field-level validation procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–13 Record-level validation procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–15 Transaction-level validation procedures. . . . . . . . . . . . . . . . . . . . . . . . . . 7–16 Database trigger procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–18 Running SmartDataObjects in a distributed environment . . . . . . . . . . . . . . . . . . . 7–19 Setting up the SmartDataObject master for conditional compilation . . . . 7–20 AppBuilder modifications to the SmartDataObject master. . . . . . . . . . . . 7–20 Initializing the SmartDataObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–22 Managing SmartDataObjects in distributed mode . . . . . . . . . . . . . . . . . . . . . . . . . 7–23 SmartDataObject deployment files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–23 Service choices and SmartDataObject execution . . . . . . . . . . . . . . . . . . 7–25 AppServer session operating modes and SmartDataObjects . . . . . . . . . 7–26 AppServer-related SmartDataObject properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–27 Running SmartDataObjects from a non-Progress client . . . . . . . . . . . . . . . . . . . . 7–28 Batch-mode operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–28 Single-row operations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–28 Java applications and SmartDataObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7–29 8. Developing ADM Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–2 Creating a new class at the bottom of the ADM class hierarchy . . . . . . . . . . . . . . 8–4 Planning issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–4 Creating the new class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Modifying the new class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10 Customizing an existing ADM class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–10 Adding application logic to your new or customized ADMclass . . . . . . . . . . . . . . 8–12 Custom class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–12 Design rules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–13 Adding properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–14 Writing super procedures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–15 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18 Creating the myviewer class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–18 Customizing the visual class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–23 A. ADM Standard and Custom Class Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–1 Container class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2 Standard class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–14 Custom class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–20 B. ADM1 to ADM2 Conversion Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–1 Conversion support for ADM SmartObjects in later versions . . . . . . . . . . . . . . . . . B–2 Code changes to SmartObject container type objects . . . . . . . . . . . . . . B–3 Additional miscellaneous points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–3 Using the ADM1 to ADM2 conversion utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–4 Accessing the conversion utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–4 Defining conversion options. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–5 Building the list of files to process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–7 Performing the conversion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–8 Reviewing conversion results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–10 Customizing the conversion utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–12 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Index–1 Contents–4 Contents Tables Table 1–1: Standard ADM class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–5 Table 1–2: Custom ADM class files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–6 Table 1–3: SmartObject summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–8 Table 2–1: SmartObject types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Table 2–2: SmartWindow files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 Table 2–3: SmartFrame files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Table 2–4: SmartDialog files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Table 2–5: SmartDataObject files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 Table 2–6: SmartDataBrowser files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Table 2–7: SmartDataViewer files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 Table 2–8: SmartDataField files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–23 Table 2–9: SmartPanel files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–26 Table 2–10: SmartFolder files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–30 Table 2–11: SmartFilter files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32 Table 2–12: SmartToolbar files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–39 Table 2–13: SmartSelect files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 Table 3–1: ADM-recognized SmartLink types . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–2 Table 3–2: Container events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 Table 3–3: Navigation events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Table 3–4: Page events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 Table 3–5: TableIO internal procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–8 Table 3–6: GroupAssign events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Table 3–7: Data events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–9 Table 3–8: Commit Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–10 Table 8–1: Basic tab fill-in fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6 Table B–1: Setting up file conversion options . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–5 Table B–2: Files in the browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–7 Table B–3: Refining file selection actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–8 Table B–4: Conversion status labels displayed in the browser . . . . . . . . . . . . . . . B–10 Table B–5: ADM1 to ADM2 SmartObject conversions . . . . . . . . . . . . . . . . . . . . . . B–10 Table B–6: Specific file conversion changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–11 Contents–5 Contents Figures Figure 1–1: ADM hierarchical class structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 Figure 1–2: SmartObject lifecycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–10 Figure 1–3: External procedures, internal procedures, and functions . . . . . . . . . . . 1–15 Figure 1–4: Inheritance and the super procedure stack . . . . . . . . . . . . . . . . . . . . . . 1–16 Figure 2–1: SmartContainer and contained SmartObject . . . . . . . . . . . . . . . . . . . . 2–5 Figure 2–2: SmartDataObject Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . 2–8 Figure 2–3: Dynamic SmartDataBrowser Properties dialog box . . . . . . . . . . . . . . . 2–15 Figure 2–4: SmartDataBrowser Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . 2–16 Figure 2–5: SmartDataViewer instance properties dialog box . . . . . . . . . . . . . . . . . 2–21 Figure 2–6: SmartDataField instance properties dialog box . . . . . . . . . . . . . . . . . . 2–24 Figure 2–7: Navigation SmartPanel Attributes dialog box . . . . . . . . . . . . . . . . . . . . 2–27 Figure 2–8: Update SmartPanel instance properties dialog box . . . . . . . . . . . . . . . 2–28 Figure 2–9: SmartFolder Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–30 Figure 2–10: SmartFolder page 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–31 Figure 2–11: SmartFilter Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–33 Figure 2–12: SmartToolbar Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–40 Figure 2–13: SmartToolbar menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–40 Figure 2–14: SmartToolbar toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–41 Figure 2–15: SmartSelect Properties dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 Figure 2–16: Keyboard Event dialog box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–48 Figure 2–17: Simple SmartObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–51 Figure 3–1: Pass-through link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–13 Figure 3–2: Pass-through link: inner connection . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–14 Figure 3–3: Pass-through link: inner and outer connections . . . . . . . . . . . . . . . . . . 3–15 Figure 4–1: Inheriting foreign key field values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–4 Figure 5–1: Super procedures and master interactions . . . . . . . . . . . . . . . . . . . . . . 5–3 Figure 5–2: Include file structure for SmartDataViewer . . . . . . . . . . . . . . . . . . . . . . 5–5 Figure 5–3: Super procedure schematic for SmartDataViewer . . . . . . . . . . . . . . . . 5–6 Figure 6–1: Procedure Object Viewer icon on PRO*Tools palette . . . . . . . . . . . . . . 6–6 Figure 6–2: Procedure Object Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–6 Figure 6–3: Selecting procedure objects and internal entries . . . . . . . . . . . . . . . . . 6–7 Figure 6–4: Pro*Spy Plus icon on PRO*Tools palette . . . . . . . . . . . . . . . . . . . . . . . 6–9 Figure 6–5: Pro*Spy Plus window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6–9 Figure 6–6: Grouping updates with GroupAssign SmartLinks . . . . . . . . . . . . . . . . . 6–11 Figure 7–1: The SmartDataObject and its temp-tables . . . . . . . . . . . . . . . . . . . . . . 7–3 Figure 7–2: Java open client access to a remote SmartDataObject . . . . . . . . . . . . 7–29 Figure 8–1: ADM hierarchical class structure for SmartFrames . . . . . . . . . . . . . . . . 8–2 Figure 8–2: New ADM Class menu option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Figure 8–3: New ADM Class (initial) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–5 Figure 8–4: Basic tab with fill-in fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–6 Figure 8–5: Custom Files tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8–8 Figure B–1: SmartObject conversion utility icon . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–4 Figure B–2: ADM1 to ADM2 SmartObject Conversion Utility window . . . . . . . . . . . B–5 Figure B–3: Conversion Utility window after a conversion . . . . . . . . . . . . . . . . . . . . B–9 Contents–6 Contents Procedures dcust.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 dcust.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 dcustreverse.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4–6 smrtprop.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–12 dataprop.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5–14 containr.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–2 cntnprop.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–4 containr.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–7 cntnprto.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–12 cntnrfrm.w . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–14 containrcustom.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–20 cntnpropcustom.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–22 containrcustom.p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–24 cntnprtocustom.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–26 containrexclcustom.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–26 containrdefscustom.i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A–26 Contents–7 Contents Contents–8

Description:
The references in this manual to specific platforms supported are subject to In this example, the outer (small) brackets are part of the language, and the inner
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.