Release 10.1A: OpenEdge Development:
Java Open Clients

> ## ProDataSet structure and usage

> A Progress 4GL ProDataSet encapsulates a set of temp-tables through a collection of buffers that refer to these temp-tables. Each temp-table can hold a specified subset of data that it receives from one or more data sources, as determined by the application service. These data sources can include database tables, operating system files, and just about any source of data suitable for retrieval and storage as a well-defined set of fields in tabular form. The ProDataSet can optionally include data-relations, which specify parent-child relationships among the temp-table buffers, and indexes to manage large sets of data efficiently. Data-relations and indexes allow the application service to more easily fill and navigate the ProDataSet with data.

> ##### Abstracting data sources

> To the extent that the set of temp-tables in a ProDataSet appears to reflect the tables of a single database, the ProDataSet can model and thus represent an abstraction of that database. Thus, a ProDataSet allows the application service to maintain an atomic subset of its data sources that it can pass as a unit to its clients and other services. As such, the ProDataSet is entirely separate from and can be managed independently of the data sources to which it is related. The data-relations of a ProDataSet can closely model the existing entity relations among its data sources using similar key relationships, or they can establish entirely different relationships among the temp-tables of the ProDataSet, as defined by the application service.

> ##### Tracking changes

> A ProDataSet also provides a means to track changes to its initial data, using before-image versions of its temp-tables. This mechanism includes a means to identify and correlate these changes with other changes that may have occurred to its original data sources. Thus, the ProDataSet allows the application service to maintain a well-ordered business state that it can share with its clients and other services.

> The rest of this chapter makes reference to specific ProDataSet syntax, as necessary to describe the operation and usage of the `ProDataGraph` class. For more information on the Progress 4GL ProDataSet and its syntax, see OpenEdge Development: ProDataSets .

> Note: The function and capabilities of ProDataSets also closely mirror the function and capabilities of the Microsoft ADO .NET DataSets available for use by .NET Open Clients. For more information, see OpenEdge Development: .NET Open Clients .

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095