Release 10.1A: OpenEdge Development:
ADM Reference

> ## SmartDataObject

> The SmartDataObject is a data pump. It creates and manages a data stream based on the terms of a query that you define within it. You can often avoid complicated JOINs by linking SmartDataObjects together, each managing a single table. If your application runs in a distributed environment, you can update multiple SmartDataObjects on an AppServer by linking them inside a SmartBusinessObject.

> The class name of the SmartDataObject is Data, and it inherits from class Query. Both are OpenEdge classes, and the file `src/adm2/data.p` is Data’s super procedure. Table 1–12 lists the class and custom files related to `data.p`.

> Table 1–12: Custom and class files for SmartDataObjects
> Class files | Custom files
> --- | ---
> Definition | `data.cld` | Super | `datacustom.p`
> Method | `data.i` | Method | `datacustom.i`
> Property | `dataprop.i` | Property | `datapropcustom.i`
> Prototype | `dataprto.i` | Prototype | `dataprtocustom.i`
> Template | `data.w` `dyndata.w` | Exclude | `dataexclcustom.i`
> Overflow Files | `dataext.p` `dataextcols.p` | Instance | `datadefscustom.i`
> Additional Method Files | `cltorsvr.i` `robjflds.i` | – | –

> ##### Query class

> The super-procedure file for class Query is `query.p`. Table 1–13 lists the class and custom files related to `query.p`.

> Table 1–13: Custom and class files for queries
> Class files | Custom files
> --- | ---
> Definition | `query.cld` | Super | `querycustom.p`
> Method | `query.i` | Method | `querycustom.i`
> Property | `qryprop.i` | Property | `qrypropcustom.i`
> Prototype | `qryprto.i` | Prototype | `qryprtocustom.i`
> Template | `–` | Exclude | `queryexclcustom.i`
> Overflow files | `queryext.p` | Instance | `querydefscustom.i`
> Additional method files | `delrecst.i` `tblprep.i` | – | –

> Note: If the macro `{&APP-SERVER-VARS}` is defined, the Query class inherits from the AppServer class, represented by the super procedure `appserver.p`. To force the macro to be defined, set the AppServer-Aware check box in the Procedure Settings dialog box for your object. If there is no such check box, or it is disabled, then you cannot force the definition in that instance. For the list of files defining the AppServer class, see the "AppServer class" section.

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