exchange in real time the prodataset in openedge™ 10 john sadd progress fellow and openedge...
TRANSCRIPT
Exc
hang
e in
Rea
l Tim
eE
xcha
nge
in R
eal T
ime
The ProDataSet inOpenEdge™ 10The ProDataSet inOpenEdge™ 10
John SaddProgress Fellow and OpenEdge Evangelist
© 2005 Progress Software Corporation2Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Agenda
ProDataSet Overview Syntax Specifics and Demo ProDataSet Directions
© 2005 Progress Software Corporation3Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ProDataSet
The ProDataSet
Data-Relation1
CustomerTT
1 Lift Line Skiing2 Urpon Frisbee3 Hoops Croquet
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
Database
Customer
Lift Line SkiingUrpon FrisbeeHoops Croquet
Order
1 53 01/01/932 81 01/04/933 66 01/04/93
Event LogicDataset:Before-fillBuffer:Before-fillBefore-row-fillRow-AddRow-Delete…
Data-Source1Field Map
CustNumNameContact
Data-Source2Field Map
OrderNumCustNum
OrderDate
Query…Q1 forCustomer
Query…Q2 forOrder
© 2005 Progress Software Corporation4Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
OpenEdgeBusiness Logic
PO ProDataSet
The Bigger Picture – Today and Tomorrow
Purchase Order Business Logic
HeaderData
DetailData
OtherData
PurchaseOrderProxy
.NET User Interface
Jonas Grumby
110 Desert Isle Path
Minnow, HI
OK
Cancel
C#
OpenEdge.NET Interface
ProDataSets become a driving force in OpenEdge Applications
4GL or
WebSpeed
Interface
WebClient / HTML
User InterfaceJonas Grumby
110 Desert Isle Path
Minnow, HI
OK
Cancel
OpenEdge4GL Interface
4GL
OpenEdgeWeb Services Interface
© 2005 Progress Software Corporation5Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ProDataSet to ADO.NET DataSet
ProDataSet is a Progress in-memory data store
ProDataSet maps directly to an ADO.NET DataSet:– Design a .NET interface in terms of .NET
DataSets
– Build business logic in Progress
© 2005 Progress Software Corporation6Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo Futures
© 2005 Progress Software Corporation7Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
A ProDataSet is made of Temp-Tables
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 Corporation8Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Define the DataSet
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 Corporation9Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Populating with Data-Relations
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
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000096 3 00011
36 1 0000936 2 0000936 3 00011
© 2005 Progress Software Corporation10Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Navigating with Data-Relations
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
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000096 3 00011
36 1 0000936 2 0000936 3 00011
© 2005 Progress Software Corporation11Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Defining Data-Sources
You can define a Data-Source for each temp-table buffer in the DataSet
Each Data-Source can define database buffers or a query or both
Data-Source is separate from any DataSet
Database
Order OrderLine
1 53 01/01/932 81 01/04/933 66 01/04/93
Data-Source
SrcOrder
Data-Source
SrcOline
Query…Q1 forOrder
Query…Q2 forOrderLine
1 53 01/01/932 81 01/04/933 66 01/04/93
ProDataSetOrderTT
OrderLineTT
© 2005 Progress Software Corporation12Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Defining a Data-Source with a Query 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, FIRSTSalesRep OF Order").
© 2005 Progress Software Corporation13Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Defining a Data-Source without a Query 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
OrderLineTTData-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
6 1 000096 2 000096 3 00011
© 2005 Progress Software Corporation14Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Attaching Data-Sources
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
DatabaseOrder
Data-Source
SrcOrderQuery…
Q1 forOrder
1 53 01/01/932 81 01/04/933 66 01/04/93
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation15Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ATTACH-DATA-SOURCE Method Relates a Data-Source to a DataSet buffer 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 Corporation16Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Populating a ProDataSet
Use the FILL method to populate the DataSet FILL on the DataSet fills every table starting
with top-level buffers FILL on a buffer fills that table and its
descendents 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 Corporation17Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Event Callback Procedures
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
Use ProDataSet events to prepare queries, attach Data-Sources, etc.
Use Buffer events to manipulate the table Use Record events to populate calculated
fields You can use these events when
there is no Data-Source at all
© 2005 Progress Software Corporation18Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Record-level Event Procedure
Fills a calculated OrderTotal fieldhBuff: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 Corporation19Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ProDataSet demo…
© 2005 Progress Software Corporation20Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Passing a ProDataSet as a Parameter
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
Note!– Within a single session DataSet parameters
can be passed BY-REFERENCE
© 2005 Progress Software Corporation21Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Local DataSet ParameterRUN 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.
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation22Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
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.
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
ProDataSetOrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
© 2005 Progress Software Corporation23Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Dynamic ProDataSets
Every element of a ProDataSet can be dynamic– CREATE DATASET
– ADD-BUFFER()
– ADD-RELATION() A Data-Source can also be dynamic:
– CREATE DATA-SOURCE And a DataSet can use dynamic temp-tables
– CREATE TEMP-TABLE Attributes and methods manipulate the
DataSet through its handle
© 2005 Progress Software Corporation24Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Updating Through the ProDataSet
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 Corporation25Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Before-Image Table for a DataSet
Original values for every modified record
ProDataSet
Data-Relation
OrderTT
6 1 01/05/9336 1 01/19/9379 1 02/10/93
OrderLineTT
6 1 000096 2 000106 3 00011 6 4 00077
0 0 00000 A 6 2 00009 M 6 5 00022 D
Initial values for every added record Original values for every deleted record
© 2005 Progress Software Corporation26Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Saving Changes To The Database
Use ATTACH-DATA-SOURCE to reattach the DataSet to the database tables for it
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 ERROR, ERROR-STRING, REJECTED,
DATA-SOURCE-MODIFIED attributes
© 2005 Progress Software Corporation27Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ProDataSet update demo…
© 2005 Progress Software Corporation28Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Agenda
Distributed Data Management in Version 9 ProDataSet Overview Syntax Specifics and Demo ProDataSet Directions
© 2005 Progress Software Corporation29Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Enhancements in OpenEdge 10.0B and 10.0B01
COPY-DATASET method enhancements– Also COPY-TEMP-TABLE – Behavior changed to allow copies between
non-identical tables and DataSets GET-CHANGES and MERGE-CHANGES
– include parents of modified rows 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 Corporation30Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Enhancements in OpenEdge 10.0B and 10.0B01 -- continued
Additional events to support data retrieval transparency– OFF-END for a ProDataSet query
– FIND-FAILED for a FIND on a buffer Extended support for data batching
– BATCH-SIZE attribute for a buffer
– LAST-BATCH attribute signals end of data
– NEXT-ROWID for repositioning a query See white paper for examples:
– psdn.progress.com/library/product_info/oera/index.ssp
© 2005 Progress Software Corporation31Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
© 2005 Progress Software Corporation32Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Data batching demo…
© 2005 Progress Software Corporation33Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
ProDataSet Features in OE10.1
Direct to-or-from XML conversion– This supports ProDataSets as parameters
to Web services Mapping from ProDataSets to Java SDOs REFERENCE-ONLY to use called
procedure’s ProDataSet instance– Also parameter passing BY-REFERENCE
for temp-tables
© 2005 Progress Software Corporation34Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
New dynamic syntax in 10.1
Combines a dynamic ProDataSet reference with static names– hDataSet:ttOrderLine.Price
Simplifies logic to pass dynamic reference for flexibility
© 2005 Progress Software Corporation35Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
In Conclusion…
The ProDataSet is a key part of the future of 4GL applications
It is part of a focus on building complex data definitions and business logic in the 4GL
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 Corporation36Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Additional Resources
Expert Series book: Using ProDataSets– Now available through amazon.com
PSDN white paper on Using Advanced ProDataSet Language Features– Part of a series on implementing the OERA
Instructor-led course: Using ProDataSets
OpenEdge online documentation
© 2005 Progress Software Corporation37Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
© 2005 Progress Software Corporation38Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Questions?
© 2005 Progress Software Corporation39Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10
Thank you for your time!
© 2005 Progress Software Corporation40Sim
plify
you
r bu
sin
ess
Sim
plify
you
r bu
sin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plif
y yo
ur b
usin
ess
Sim
plify
you
r B
usi
nes
sS
impl
ify y
our
Bu
sin
ess
The ProDataSet in OpenEdge 10