Exchange in Real Time DEV-06: The ProDataSet in OpenEdge™ 10 John Sadd Progress Fellow and OpenEdge Evangelist.

Slides:



Advertisements
Similar presentations
A18: A Deep Dive into the OpenEdge GUI for .NET™
Advertisements

Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
XML, JSON and OpenEdge Robin Brown
DEV-2: Getting Started with OpenEdge® Architect – Part I
Improving your OpenEdge® Development Productivity David Lund Sr. Training Program Manager, Progress.
June 5 – Orlando INNOV-11: Extending OpenEdge and.NET™ to the Factory Floor Bob Brennan Integrated Manufacturing Systems, Inc.
DEV-13: You've Got a Problem, Here’s How to Find It
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
John Sadd Progress Fellow and OpenEdge Evangelist
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
Performance testing of Progress Appservers and a plug-in for Jmeter
What’s new in Progress Developer Studio for OpenEdge 11.0?
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Web Development Challenges and How They are Solved in ps:eScript Matt Verrinder Progress Software UK Internet & Integration Technologies.
ARCH12: QA Considerations - OERA ARCH-12: QA considerations for applications following the OpenEdge Reference Architecture SMAT-Team Tobago Thomas Hutegger.
Advance Computer Programming Java Database Connectivity (JDBC) – In order to connect a Java application to a database, you need to use a JDBC driver. –
Pat Bonser Product Readiness OpenEdge ® 10.1A Introduction & Overview PUG Norway Lillehammer March 16 th & 17 th.
Gary MacDougall Premjit Singh Managing your Distributed Data.
DEV-16: ABL Database Objects Updated David Olson Director, Enterprise Solutions Mary Szekely Just Mary.
SOA-06: Get On the Bus with the OpenEdge ® Adapter for Sonic ESB ® David Cleary Principal Software Engineer, Progress.
DEV-07: Increasing Productivity with Tools for Business Logic Gikas Principal Software Engineer.
Denise Luther Senior IT Consultant Practical Technology Enablement with Enterprise Integrator.
SOA-12: Integrate over the Web with OpenEdge® Web Services
Miscellaneous Excel Combining Excel and Access. – Importing, exporting and linking Parsing and manipulating data. 1.
ARCH-03: Implementing the OpenEdge™ Reference Architecture – Part 1 John Sadd Progress Fellow and OpenEdge Evangelist.
DEV-5: Introduction to WebSpeed ® Stephen Ferguson Sr. Training Program Manager.
Introduction to Database Development Using Borland Data Providers 2128 Martin Rudy.
The ProDataSet in OpenEdge™ 10
ARCH-3: Context Management in the OpenEdge® Reference Architecture John Sadd Engineering Fellow and OpenEdge Evangelist.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
DEV-09: User Authentication in an OpenEdge™ 10.1 Distributed Computing Environment Michael Jacobs Development Architect.
ARCH-4: The Presentation Layer in the OpenEdge® Reference Architecture Frank Beusenberg Senior Technical Consultant.
DB-1: OpenEdge ® SQL in a 10.1B multi- database environment for ODBC and JDBC Brian Werne Sr. Engineering Manager, OpenEdge SQL and OpenEdge Management.
DEV-01 What’s New in Progress Dynamics ® Anthony Swindells Progress Fellow.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
INT-5: Integrate over the Web with OpenEdge® Web Services
Architectural Patterns Support Lecture. Software Architecture l Architecture is OVERLOADED System architecture Application architecture l Architecture.
DEV-8: OpenEdge® Architect – Extensibility & Third Party Integration Sunil Belgaonkar Principal Software Engineer Architect Phillip Magnay.
3-Tier Client/Server Internet Example. TIER 1 - User interface and navigation Labeled Tier 1 in the following graphic, this layer comprises the entire.
SOA-02: Sonic SOA Products Overview Luis Maldonado Technical Product Manager Sonic Software.
ARCH-07: Implementing the OpenEdge™ Reference Architecture – Part 2
ARCH-11: Building your Presentation with Classes John Sadd Fellow and OpenEdge Evangelist Sasha Kraljevic Principal TSE.
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
DEV-3: Getting Started with OpenEdge® Architect – Part II David Lund Sr. Training Program Manager Mark Hanley Sr. Manager Development Tools.
A16: proDataSets in the Real World aka blood, sweat and tears revisited Miles Klettke Clever Fellow.
DEV-6: Advanced Object-Oriented Programming in the ABL Evan Bleicher Senior Development Manager Shelley Chase
ARCH-08 A Common Business Service Approach to Application Development Anthony Swindells Progress Fellow.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
IST 220 – Intro to Databases Lecture 2 Touring Microsoft Access.
A7: Architecting Your Application in OpenEdge ® 10 Mike Ormerod Applied Architect.
ARCH-7: Integrate this! SonicMQ® and the OpenEdge® Reference Architecture Christian Stiller Technical Architect.
DEV-5: Using ProDataSets™ in OpenEdge ® 10 Cheryl LaBarge Product Readiness.
ARCH-5: Service Interfaces in Practice Christian Stiller Technical Architect.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
MOVE-15: Leveraging Business Entities, Data Access Objects and ProDataSets with a Progress Dynamics® or ADM2 GUI Peter Judge Principal Software Engineer.
Module Road Map The Scope of the Problem A range of potential problems Lost Updates User A reads a record User B reads the same record User A makes changes.
DEV-9: Using the ProDataSet™ in OpenEdge® 10
Database Management.
IST 220 – Intro to Databases
DEV-25: You've Got a Problem, Here’s How to Find It
ARCH-1: Application Architecture made Simple
ARCH-4: A Stateful Application in a Stateless World
– JukeBox – transparency, flexibility, speed and comfort!
– the JukeBox toolkit – transparency, flexibility, speed and comfort!
DEV-11: Architecting Your Application in OpenEdge® 10
Automating and Validating Edits
ARCH-2: OpenEdge Reference Architecture (OERA) Latest Thinking
SOA-09: Conducting Business with OpenEdge® and SonicMQ®
Presentation transcript:

Exchange in Real Time DEV-06: The ProDataSet in OpenEdge™ 10 John Sadd Progress Fellow and OpenEdge Evangelist

© 2005 Progress Software Corporation2 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Agenda n Distributed Data Management in Version 9 n ProDataSet Overview n Syntax Specifics and Demo n ProDataSet Directions

© 2005 Progress Software Corporation3 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Temp-Table Parameters n Define a temp-table –Based on a database table or not n Populate the temp-table on the server –One row or many n Pass the temp-table as a parameter –One parameter for each table n Modify the temp-table on the client and pass it back

© 2005 Progress Software Corporation4 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Temp-Table Limitations n Separate table and parameter for each two-dimensional data definition n Parent-child and other relationships need multiple parameters n No standard mechanism to record changes

© 2005 Progress Software Corporation5 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 SDOs and SBOs SmartDataObjects in the ADM and Progress Dynamics ® handle: –Distributed data management –Keeping track of changes –Automated update support –Standard events for validation and business logic n SmartBusinessObjects do the same for multiple related tables

© 2005 Progress Software Corporation6 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 The direction n Push valuable SDO/SBO behavior down into the 4GL n Define a core 4GL object to represent complex data relationships –One handle, one parameter n Associate validation and other business logic –Built-in events n Map directly to data objects on other platforms

© 2005 Progress Software Corporation7 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Agenda n Distributed Data Management in Version 9 n ProDataSet Overview n Syntax Specifics and Demo n ProDataSet Directions

© 2005 Progress Software Corporation8 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSet The ProDataSet Data-Relation1 CustomerTT 1Lift Line Skiing 2Urpon Frisbee 3Hoops Croquet OrderTT 6101/05/ /19/ /10/93 Database Customer Lift Line Skiing Urpon Frisbee Hoops Croquet Order 15301/01/ /04/ /04/93 Event Logic Dataset:Before-fill Buffer:Before-fill Before-row-fill Row-Add Row-Delete … Data-Source1 Field Map CustNum Name Contact Data-Source2 Field Map OrderNum CustNum OrderDate Query… Q1 for Customer Query… Q2 for Order

© 2005 Progress Software Corporation9 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 OpenEdge Business Logic PO ProDataSet The Bigger Picture – Today and Tomorrow Purchase Order Business Logic Header Data Detail Data Other Data Purchase Order Proxy.NET User Interface Jonas Grumby 110 Desert Isle Path Minnow, HI OK Cancel C# OpenEdge.NET Interface n ProDataSets become a driving force in OpenEdge Applications 4GL or WebSpeed Interface WebClient / HTML User Interface Jonas Grumby 110 Desert Isle Path Minnow, HI OK Cancel OpenEdge 4GL Interface 4GL OpenEdge Web Services Interface

© 2005 Progress Software Corporation10 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSet to ADO.NET DataSet n ProDataSet is a Progress in-memory data store n ProDataSet maps directly to an ADO.NET DataSet, allowing you to: –Design a.NET™ interface in terms of.NET DataSets –Pass data back and forth to Progress AppServer™

© 2005 Progress Software Corporation11 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Agenda n Distributed Data Management in Version 9 n ProDataSet Overview n Syntax Specifics and Demo n Futures

© 2005 Progress Software Corporation12 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 A ProDataSet is made of Temp-Tables n Define temp-tables in the usual way DEFINE TEMP-TABLE ttOrder /* fields from Order db table */ FIELD OrderTotal AS DECIMAL FIELD CustName LIKE Customer.Name FIELD RepName LIKE SalesRep.RepName. DEFINE TEMP-TABLE ttOrderLine… DEFINE TEMP-TABLE ttItem…

© 2005 Progress Software Corporation13 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Define the DataSet n Define the DataSet in terms of the temp-tables it combines DEFINE DATASET dsOrder FOR ttOrder, ttOline, ttItem DATA-RELATION OrderLine FOR ttOrder, ttOline RELATION-FIELDS (OrderNum, OrderNum) DATA-RELATION LineItem FOR ttOline, ttItem RELATION-FIELDS (ItemNum, ItemNum) REPOSITION.

© 2005 Progress Software Corporation14 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Data-Relations n Data-Relations define the relationship between parent-child tables n The Relation-Fields define fields in parent and child to use for selection …DATA-RELATION OrderLine FOR ttOrder, ttOline RELATION-FIELDS (OrderNum, OrderNum)… n Relation-Fields are used to determine how to populate the DataSet by default n They also tell Progress how to navigate the DataSet by default

© 2005 Progress Software Corporation15 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Populating with Data-Relations n When a DataSet is populated, Progress retrieves children of the current parent …DATA-RELATION OrderLine FOR ttOrder, ttOline RELATION-FIELDS (OrderNum, OrderNum)… ProDataSet Data-Relation OrderTT 6101/05/ /19/ /10/93 OrderLineTT

© 2005 Progress Software Corporation16 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Navigating with Data-Relations n When a DataSet is navigated, Progress filters on children of the current parent …DATA-RELATION OrderLine FOR ttOrder, ttOline RELATION-FIELDS (OrderNum, OrderNum)… ProDataSet Data-Relation OrderTT 6101/05/ /19/ /10/93 OrderLineTT

© 2005 Progress Software Corporation17 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Defining Data-Sources n You can define a Data-Source for each temp-table buffer in the DataSet n Each Data-Source can define database buffers or a query or both n Data-Source is separate from any DataSet Database OrderOrderLine 15301/01/ /04/ /04/93 Data-Source SrcOrder Data-Source SrcOline Query… Q1 for Order Query… Q2 for OrderLine 15301/01/ /04/ /04/93 ProDataSet OrderTT OrderLineTT

© 2005 Progress Software Corporation18 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Defining a Data-Source with a Query n Define a query for a top-level table –For example, which Order(s) to start with –Or to define a join between buffers DEFINE QUERY qOrder FOR Order, Customer, SalesRep. DEFINE DATA-SOURCE srcOrder FOR QUERY qOrder Order KEYS (OrderNum), Customer KEYS (CustNum), SalesRep KEYS (SalesRep). QUERY qOrder:QUERY-PREPARE ("FOR EACH Order WHERE Order.OrderNum = " + STRING(iOrderNum) + ", FIRST Customer OF Order, FIRST SalesRep OF Order").

© 2005 Progress Software Corporation19 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Defining a Data-Source without a Query n If there’s a Data-Relation, its fields can tell Progress how to construct a query DEFINE DATA-SOURCE srcOline FOR OrderLine KEYS (OrderNum). …DATA-RELATION OrderLine FOR ttOrder, ttOline RELATION-FIELDS (OrderNum, OrderNum)… ProDataSet OrderLineTT Data-Relation OrderTT 6101/05/ /19/ /10/

© 2005 Progress Software Corporation20 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Attaching Data-Sources n Data-Sources are defined separately from the DataSet –You can attach a particular Data-Source without changing the DataSet definition –Data-Sources do not travel with the DataSet Database Order Data-Source SrcOrder Query… Q1 for Order 15301/01/ /04/ /04/93 ProDataSet OrderTT 6101/05/ /19/ /10/93

© 2005 Progress Software Corporation21 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ATTACH-DATA-SOURCE Method n Relates a Data-Source to a DataSet buffer n Optional arguments: –Field mapping for fields with different names –Except-list to skip unwanted fields, or –Include-list to include only certain fields BUFFER ttOrder:ATTACH-DATA-SOURCE (DATA-SOURCE srcOrder:HANDLE, "Customer.Name,CustName"). BUFFER ttOline:ATTACH-DATA-SOURCE (DATA-SOURCE srcOline:HANDLE). BUFFER ttItem:ATTACH-DATA-SOURCE (DATA-SOURCE srcItem:HANDLE).

© 2005 Progress Software Corporation22 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Populating a ProDataSet n Use the FILL method to populate the DataSet n FILL on the DataSet fills every table starting with top-level buffers n FILL on a buffer fills that table and its descendents n FILL-MODE –NO-FILL – skip this table –EMPTY – empty the table first –APPEND – add more records to the table –MERGE – add recs & eliminate dups –REPLACE – replace existing recs

© 2005 Progress Software Corporation23 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Event Callback Procedures n You can define event procedures for: –Before and After FILL of the ProDataSet –Before and After FILL of any temp-table buffer –Before and After FILL of any record n Use ProDataSet events to prepare queries, attach Data-Sources, etc. n Use Buffer events to manipulate the table n Use Record events to populate calculated fields n You can use these events when there is no Data-Source at all

© 2005 Progress Software Corporation24 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Record-level Event Procedure n Fills a calculated OrderTotal field hBuff:SET-CALLBACK-PROCEDURE ("AFTER-ROW-FILL","postRecordFill",THIS-PROCEDURE). PROCEDURE postRecordFill: DEFINE INPUT PARAMETER DATASET FOR dsOrder. hBuff = hDset:GET-BUFFER-HANDLE(“ttOrder”). FOR EACH OrderLine WHERE OrderLine.OrderNum = INTEGER(hBuff:BUFFER-FIELD("OrderNum"):BUFFER-VALUE): dTotal = dTotal + OrderLine.ExtendedPrice. END. hBuff:BUFFER-FIELD("OrderTotal"):BUFFER-VALUE = dTotal. END PROCEDURE.

© 2005 Progress Software Corporation25 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSet demo…

© 2005 Progress Software Corporation26 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Passing a ProDataSet as a Parameter n You can pass a DataSet parameter as: –DATASET – static reference like TABLE for temp-tables –DATASET-HANDLE – dynamic reference to the DataSet and its definition, like TABLE- HANDLE for a temp-table –HANDLE – passes a simple DataSet handle to a local procedure n Note! –Within a single session DataSet parameters can be passed BY-REFERENCE

© 2005 Progress Software Corporation27 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Local DataSet Parameter RUN OrderDset.p ON hSession (INPUT iOrderNum, OUTPUT DATASET dsOrder BY-REFERENCE). /* OrderDset.p -- Test proc for Order Dataset */ {dsOrderTT.i} {dsOrder.i} DEFINE INPUT PARAMETER iOrderNum AS INTEGER. DEFINE OUTPUT PARAMETER DATASET FOR dsOrder. ProDataSet OrderTT 6101/05/ /19/ /10/93

© 2005 Progress Software Corporation28 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Remote DataSet Parameter RUN OrderDset.p ON hSession(INPUT iOrderNum, OUTPUT DATASET dsOrder BY-REFERENCE). /* OrderDset.p */ DEFINE OUTPUT PARAMETER DATASET FOR dsOrder. ProDataSet OrderTT 6101/05/ /19/ /10/93 ProDataSet OrderTT 6101/05/ /19/ /10/93

© 2005 Progress Software Corporation29 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Dynamic ProDataSets n Every element of a ProDataSet can be dynamic –CREATE DATASET –ADD-BUFFER() –ADD-RELATION() n A Data-Source can also be dynamic: –CREATE DATA-SOURCE n And a DataSet can use dynamic temp-tables –CREATE TEMP-TABLE n Attributes and methods manipulate the DataSet through its handle

© 2005 Progress Software Corporation30 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Updating Through the ProDataSet n ProDataSet tables have a companion before-image temp-table to record updates (add/change/delete) –Used to pass changes to the server to be made in the Data-Source –Maps to.NET support for update versions

© 2005 Progress Software Corporation31 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Before-Image Table for a DataSet n Original values for every modified record ProDataSet Data-Relation OrderTT 6101/05/ /19/ /10/93 OrderLineTT A M D n Initial values for every added record n Original values for every deleted record Before- Table

© 2005 Progress Software Corporation32 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Saving Changes To The Database n Use ATTACH-DATA-SOURCE to reattach the DataSet to the database tables for it n SAVE-ROW-CHANGES method for saving a row to the database –Uses the before-table for optimistic locking –Allows full control in the event of a conflict n ERROR, ERROR-STRING, REJECTED, DATA-SOURCE-MODIFIED attributes

© 2005 Progress Software Corporation33 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSet update demo…

© 2005 Progress Software Corporation34 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Agenda n Distributed Data Management in Version 9 n ProDataSet Overview n Syntax Specifics and Demo n ProDataSet Directions

© 2005 Progress Software Corporation35 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Enhancements in OpenEdge 10.0B and 10.0B01 n COPY-DATASET method enhancements –Also COPY-TEMP-TABLE –Behavior changed to allow copies between non-identical tables and DataSets n GET-CHANGES and MERGE-CHANGES –include parents of modified rows n FILL-MODE “REPLACE” –Refreshes rows already in the tables –Slower than MERGE because it requires FINDing each row as it is added to the temp-table

© 2005 Progress Software Corporation36 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Enhancements in OpenEdge 10.0B and 10.0B01 -- continued n Additional events to support data retrieval transparency –OFF-END for a ProDataSet query –FIND-FAILED for a FIND on a buffer n Extended support for data batching –BATCH-SIZE attribute for a buffer –LAST-BATCH attribute signals end of data –NEXT-ROWID for repositioning a query n See white paper for examples: –psdn.progress.com/library/product_info/ oera/index.ssp

© 2005 Progress Software Corporation37 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10

© 2005 Progress Software Corporation38 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Data batching demo…

© 2005 Progress Software Corporation39 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 D I S C L A I M E R Under Development n This talk includes information about potential future products and/or product enhancements. n What I am going to say reflects our current thinking, but the information contained herein is preliminary and subject to change. Any future products we ultimately deliver may be materially different from what is described here. D I S C L A I M E R

© 2005 Progress Software Corporation40 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSet Features in OpenEdge 10.1 n Direct to-or-from XML conversion –This supports ProDataSets as parameters to Web services n Mapping from ProDataSets to Java™ SDOs n REFERENCE-ONLY to use called procedure’s ProDataSet instance –Also parameter passing BY-REFERENCE for temp-tables

© 2005 Progress Software Corporation41 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 ProDataSets address these three key OpenEdge goals 3 Strategic Elements Process Centric Design Business Logic Capabilities SOA Enabled User Interface Independence

© 2005 Progress Software Corporation42 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 In Conclusion… n The ProDataSet is a key part of the future of 4GL applications n It is part of a focus on building complex data definitions and business logic in the 4GL n The ProDataSet is a standards-conformant object that will integrate with.NET and Web services as part of a global Service- Oriented Architecture

© 2005 Progress Software Corporation43 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Additional Resources n Expert Series book: Using ProDataSets –Now available through amazon.com! n PSDN white paper on Using Advanced ProDataSet Language Features –Part of a series on implementing the OERA n Two-day instructor-led or self-study course: Using ProDataSets n OpenEdge online documentation

© 2005 Progress Software Corporation44 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10

© 2005 Progress Software Corporation45 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Questions?

© 2005 Progress Software Corporation46 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10 Thank you for your time!

© 2005 Progress Software Corporation47 Simplify your business Simplify your Business DEV-06: The ProDataSet in OpenEdge 10