skip to main content
OpenEdge Development: ADM Reference
Data Objects and Their Methods and Properties : Query object properties
 
Query object properties
Query Object properties provide information about query objects and their classes. This information can include whether an object is enabled, the contents of the object and so on. You can read property values and in many instances you can change property values. To read a property value, you use a get function, and to change a property value, you use a set function.
Note: The generic term data object is used to cover the various objects (DataViews, SDOs, and so on) that might be using these methods.
These functions conform to the following conventions:
*get — Uses the form getpropname and returns the current value of the property.
Note: This function accepts no arguments.
*set — Uses the form gspropname. The set function accepts a single argument—the new value for the property—and returns TRUE or FALSE depending on whether the value change succeeds.
For more information about getting and setting property values, see Chapter 1, “ADM2 SmartObject API Reference” in this guide.
AssignList
List of updatable columns whose names have been modified in the SmartDataObject. This string takes the form: <RowObjectFieldName>,<DBFieldName>[,...][CHR(1)...] with a comma-separated list of pairs of fields for each db table, and CHR(1) between the lists of pairs.
Data type: CHARACTER
Note: Read only.
AuditEnabled
Indicates whether or not auditing is enabled. This property is used to enable the Audit action in a toolbar.
Data type: LOGICAL
Notes:  
*Read only.
*This property is hard-coded to FALSE in the DataView. DataViews do not have default support for auditing.
AutoCommit
Determines whether a Commit happens on every record update. This is FALSE by default, but if set to TRUE a Commit is automatically done after any change.
Data type: LOGICAL
Note: Read and Write.
BLOBColumns
A comma-separated list of the BLOB data-type columnNames for the SmartDataObject.
Data type: CHARACTER
Notes:  
*Read only.
*This runtime property is resolved on the first call from the DataColumns and RowObject definitions.
*This property should be requested only after the first data request. Otherwise, it might be very expensive as it might resolve each column's data-type on the server.
BusinessEntity
The Business Entity that supplies data for the SmartDataObject.
The logical name of the Business Entity on whcih the DataView operates. The actual realization of the Business Entity is the responsibility of the Service Interface. The ADM expects the service to return and accept Business Entity data as dataset references. The ADM has no requirement for how or where the Business Entity is realized.
Data type: CHARACTER
Note: Read and Write.
CalculatedColumns
Comma-separated list of the calculated columns for the SmartDataObject. To obtain this information, the values of DataColumnsByTable and Tables are examined.
Data type: CHARACTER
Note: Read only.
CheckCurrentChanged
Determines whether the DataObject code should check whether the database rows being updated have been changed since read.
Data type: LOGICAL
Note: Read and Write.
CheckLastOnOpen
Flag indicating whether a get-last should be performed on an open in order for fetchNext to detect that we are on the last row. This is necessary to make the QueryPosition attribute reliable.
Data type: LOGICAL
Notes:  
*Read and Write.
*The DataColumsByTable property that stores in different tables delimited by CHR(1) instead of a comma in order to identify which columns are from which table in the event of a join. For example, if the query is a join of customer and order and the Name field from customer and the OrderNum and OrderData field from Order are selected, then the property value becomes equal to Name<CHR(1)>OrderNum,OrderDate.
*This function replaces CHR(1) with "," returns just a comma-separated list.
ClientProxyHandle
Character version of the client-side data object handle. The string containing the client-side data object procedure handle.
Data type: CHARACTER
Note: Write only.
CLOBColumns
A comma-separated list of the CLOB data-type columnNames for the SmartDataObject.
Data type: CHARACTER
Notes:  
*Read only.
*This runtime property is resolved on the first call from the DataColumns and RowObject definitions.
*This property should be requested only after the first data request. Otherwise, it might be very expensive as it might resolve each column's data-type on the server.
CommitSource
The handle of the object's commit-source.
Data type: HANDLE
Note: Read and Write.
CommitSourceEvents
The list of events this object subscribes to in its commit-source.
Data type: CHARACTER
Note: Read and Write.
CommitTarget
The handle of the object's commit-target. The handle is passed as a string when you read or write this property.
Data type: CHARACTER
Note: Read and Write.
CommitTargetEvents
The list of events this object subscribes to in its commit-target.
Data type: CHARACTER
Note: Read and Write.
CurrentRowModified
Identifies whether or not the current RowObject row has been modified. If TRUE, the current RowObject row has been modified. If there is no current RowObject record, then CurrentRowModified returns the Unknown value (?).
Data type: LOGICAL
Note: Read only.
CurrentUpdateSource
The current updateSource.
Data type: HANDLE
Notes:  
*Read and Write.
*This property is set temporarily in updateState before that is republished. This action enables the updateSource or DataTarget to avoid a republish when it is the original publisher.
DataColumns
Comma-separated list of the columnNames for the data object.
Data type: CHARACTER
Notes:  
*Read and Write.
*The DataColumsByTable property that stores in different tables delimited by CHR(1) instead of a comma in order to identify which columns are from which table in the event of a join. For example, if the query is a join of customer and order and the Name field from customer and the OrderNum and OrderData field from Order are selected, then the property value becomes equal to Name<CHR(1)>OrderNum,OrderDate.
*This function replaces CHR(1) with "," and returns just a comma-separated list.
DataColumnsByTables
A comma-separated list of the columnNames delimited by CHR(1) to identify which columns are from which table.
Data type: CHARACTER
Notes:  
*Read and Write.
*To get a comma-separated list of just columnNames for a SmartObject, use DataColumn.
DataContainerHandle
The handle of the DataContainer that handles all data requests.
Data type: HANDLE
Note: Read only.
DataDelimiter
Delimiter for values passed to receiveData and output for the input-output in updateData and createData.
Data type: CHARACTER
Note: Read and Write.
DataFieldDefs
Name of the include file in which the field definitions for this data object’s temp-table are stored.
Data type: CHARACTER
Note: Read only.
DataHandle
SmartBusinessObject version of getDataHandle is run from a browser to get the query from the contained Data object.
Data type: HANDLE
Note: Read only.
DataLogicObject
Handle of the logic procedure that contains business logic for the data object.
Data type: HANDLE
Note: Read only.
DataModified
Flag that indicates whether the current SCREEN-VALUES have been modified but not saved.
Data type: LOGICAL
Notes:  
*Read and Write.
*The difference from getNewRow is that it also returns TRUE for saved and uncommitted new record and thus cannot be used to check the object’s state. This uses the RowMod field in the temp-table to see if the row is new (just as getNewRow) and in addition checks to see if the RowObjUpd is not available, which indicates that this has not been committed. Do some double checking if a rowObjUpd is available to ensure that this is the right one.
DataIsFetched
Flag indicating whether data has been fetched for the data object. The SmartBusinessObject (SBO) sets this to TRUE in the SDO when it has fetched data for the SDO to prevent the SDO from using another server call to fetch the data it already has.
Data type: LOGICAL
Notes:  
*Read and Write.
*This is checked in query.p dataAvailable and openQuery is skipped if its TRUE. It is immediately turned off after it is checked.
DataLogicProcedure
Name of the logic procedure that contains business logic for the data object.
Data type: CHARACTER
Notes:  
*Read and Write.
*The DataLogicProcedure is added as a super procedure when it is set using the setDataLogicProcedure. As a result, if other properties are set before the super procedure is added, you cannot override the property settings in the logic procedure.
DataQueryBrowsed
Identifies whether or not this SmartDataObject’s query is being browsed by a SmartDataBrowser. If TRUE, this SmartDataObject’s query is being browsed.
Data type: LOGICAL
Note: Read and Write.
DataQueryString
DataQueryString used to prepare the RowObject query.
Data type: CHARACTER
Note: Read and Write.
DataReadBuffer
Value or DataReadBuffer.
Data type: HANDLE
Note: Read and Write.
DataReadColumns
A comma-separated list of columns to pass to the registered DataReadHandler when traversing the query.
Data type: CHARACTER
Note: Read and Write.
DataReadHandler
The handle of a procedure that has been registered to receive output from the object during data read.
Data type: HANDLE
Note: Read and Write.
DatasetName
The instance name of the object's DatasetSource.
Data type: CHARACTER
Note: Read and Write.
DatasetSource
The handle of the object's DatasetSource. The DatasetSource is a procedure that encapsulates all access to the ProDataSet that holds the data for the DataView.
Data type: HANDLE
Notes:  
*Read and Write.
*There is currently no Dataset link. But, the name, DatasetSource, is used intentionally in the anticipation of a true link.
DataSignature
A character string that lists the integers corresponding to the data types of the fields in a RowObject temp-table. This string is used to compare objects for equivalence as follows:
*1 = CHARACTER
*2 = DATE
*3 = LOGICAL
*4 = INTEGER
*5 = DECIMAL
*6 = Reserved for FLOAT OR DOUBLE in the future
*7 = RECID
*8 = RAW
*9 = Reserved for IMAGE in the future
*10 = HANDLE
*13 = ROWID
Data type: CHARACTER
Note: Read only.
DataTable
The table in the Business Entity. The name must match the physical name of a temp-table in the DataSet returned from the service.
Data type: CHARACTER
Note: Read and Write.
DbNames
Property that contains a comma-separated list of DBNames that corresponds to the tables in the query objects.
Data type: CHARACTER
Note: Read and Write.
DestroyStateless
Determines whether the persistent data object should be destroyed on stateless requests.
Data type: LOGICAL
Note: Read and Write.
DisconnectAppServer
Determines whether the persistent data object disconnects the AppServer.
Data type: LOGICAL
Note: Read and Write.
EnabledObjFldsToDisable
Property that controls whether or not to disable nondatabase objects when the data fields are disabled. You can enter one of the following:
*None — Nondatabase objects remain enabled when the fields are disabled.
*Al l — Nondatabase objects are disabled in view mode.
*Comma-delimited list — A comma-separated list of nondatabase object names that you want disabled in view mode.
Data type: CHARACTER
Notes:  
*Read and Write.
*The property only applies to nondatabase objects that have been defined as enabled in the master. See EnabledObjFlds for more information.
*You can edit this property using the viewer's Instance Property dialog box.
EnabledTables
List of the database tables that have enabled fields.
Data type: CHARACTER
Note: Read only.
FetchOnOpen
Determines what sort of fetch should happen when a database query is opened. The valid values are as follows:
*Blank — Do not perform a fetch.
*First — Run fetchFirst.
*Last — Run fetchLast.
*Unknown value (?) — Perform the default action.
Data type: CHARACTER
Note: Read and Write.
FillBatchOnRepos
Determines whether fetch RowIdent should retrieve enough rows to fill a batch of records when repositioning to the end or near the end of the result set where an entire batch would not be retrieved.
Data type: LOGICAL
Note: Read and Write.
FilterActive
Flag indicating whether or not the dataSource has a logical filter and whether or not a filter is active. If TRUE, a filter is active.
Data type: LOGICAL
Note: Read and Write.
FilterAvailable
Flag indicating whether or not a filter is available.
Data type: LOGICAL
Note: Read and Write.
FilterSource
The handle of the object's FilterSource.
Data type: HANDLE
Note: Read and Write.
FilterWindow
Name of the partition, if any, on which this object runs.
Data type: CHARACTER
Note: Read and Write.
FirstResultRow
Pointer to the first record in the current batch. It is currently made up of the first record's RowNum and RowIdent separated by a semi-colon. Though the content of this property can change, the property must never be changed by application code.
Data type: CHARACTER
Note: Read and Write.
FirstRowNum
Temp-table row number of the first row.
Data type: INTEGER
Note: Read and Write.
ForeignFields
Sets the Foreign Fields property of the object and removes the current values for Foreign Fields from the current query if they have been applied.
Data type: CHARACTER
Note: Read and Write.
ForeignValues
Identifies the most recently received values for foreign field received by for the dataAvailable property. The values are character strings formatted according to the field format specification and are separated by the {&adm-tabledelimiter} character.
Data type: CHARACTER
Note: Read only.
GroupAssignSource
Handle of the object’s GroupAssign source.
Data type: HANDLE
Note: Read and Write.
GroupAssignSourceEvents
Comma-separated list of the events this object wants to subscribe to in its GroupAssign source.
Data type: CHARACTER
Note: Read and Write.
GroupAssignTarget
Handle, in character format, of the object’s GroupAssign target.
Data type: CHARACTER
Note: Read and Write.
GroupAssignTargetEvents
Comma-separated list of the events this object wants to subscribe to in its GroupAssign target.
Data type: CHARACTER
Note: Read and Write.
HasFirst
Returns TRUE if the first record of the resultset is present.
Data type: LOGICAL
Note: Read only.
HasLast
Returns TRUE if the last record of the resultset is present.
Data type: LOGICAL
Note: Read only.
IndexInformation
Index Information formatted as the 4 GL index-information attribute, but with RowObject column names, CHR(1) as index separator, and CHR(2) as table separator.
Data type: CHARACTER
Notes:  
*Read and Write.
*Intended for internal use by other index info functions, which use this as input to indexInformation(). (Unmapped columns are returned fully qualified!) This property can be used as input parameter to indexInformation() for further refinement.
*If the property is the Unknown value (?), it calls the indexInformation() in query.p and stores the returned value for future calls.
InternalEntries
Internal entries of data object as internal entries cannot be accessed for remote proxy procedures.
Data type: CHARACTER
Note: Read only.
KeyFields
Comma-separated list of the key fields. The indexInformation is used to try to figure out the default KeyFields list, but this is currently restricted to conditions:
*The First Table in the join is the only enabled table.
*All the fields of the index are present is the data object.
*The following index might be selected:
*Primary index if unique.
*First Unique index.
*There is currently no check whether the field is mandatory.
Data type: CHARACTER
Note: Read only.
KeyTableId
The Progress Dynamics unique identifier for a table in your application database.
Data type: CHARACTER
Notes:  
*Read only.
*This identifier is used as a foreign key to provide access at runtime to tables of related data, such as the auditing and comments tables.
KeyWhere
A WHERE string with criteria that uniquely identifies the current record.
Data type: CHARACTER
Note: Read only.
LargeColumns
A comma-separated list of the columnNames for the SmartDataObject that are formatted as one of the large datatypes.
Data type: CHARACTER
Notes:  
*Read and Write.
*This runtime property is resolved on the first call from the DataColumns and RowObject definitions.
*This property should be requested only after the first data request. Otherwise, it might be very expensive as it might resolve each column's data-type on the server.
*By default, only CLOB and BLOB columns are considered large datatype columns.
LastCommitErrorKeys
Property that provides information about records that failed during the last data commit. For:
*SDOs — A comma-separated list of the key values of the records that failed to be committed. The KeyFields property of the SDO holds the key field names.
*SBOs — A semicolon-separated list of the values of each individual contained SDO that has failed records.
Data type: CHARACTER
Notes:  
*Read and Write.
*A blank indicates that the last commit was successful.
LastCommitErrorType
Property that identifies the type of error encountered the last time data was committed:
*Blank — The last commit was successful.
*Unknown — A commit was not attempted after run.
*Conflict —A locking conflict occurred.
*Error — An unspecified error occurred.
Data type: CHARACTER
Notes:  
*Read and Write.
*Currently used to identify a Conflict error when using the UpdateData procedure. See Update Data for additional information.
LastDbRowIdent
Identifies the database rowid(s) for the last row fetched row. This value is unknown if the last row has not been fetched.
Data type: CHARACTER
Note: Write only.
LastCommitErrorType
Property that identifies the type of error encountered the last time data was committed. Valid values are:
*Blank — The last commit was successful.
*Unknown — A commit was not attempted after run.
*Conflict —A locking conflict occurred.
*Error — An unspecified error occurred.
Data type: CHARACTER
Notes:  
*Read and Write.
*Currently used to identify a Conflict error when using the UpdateData procedure. See the “updateData” section for additional information.
LastResultRow
Returns a semicolon-separated string of RowNum;RowID of the last RowObject table currently residing on the client side.
Though the content of this property can change, the property must never be changed by application code.
Data type: CHARACTER
Note: Read and Write.
LastRowNum
Temp-table row number of the last row. This value is unknown if the last row has not been fetched.
Data type: INTEGER
Note: Read and Write.
LogicBuffer
Handle of the data-logic table, if possible.
Data type: HANDLE
Note: Read and Write.
ManualAddQueryWhere
Manual calls to addQueryWhere. This value is reapplied by the filter when needed to ensure the original query remains intact.
Data type: CHARACTER
Notes:  
*Read and Write.
*Value is pcwhere + CHR(3) + pcbuffer or empty or "?" + CHR(3) + pcandor.
*Multiple entries are supported, delimited by CHR(4).
ManualAssignQuerySelection
Manual calls to assignQuerySelection. This value is reapplied by the filter when needed to preserve the original query.
Data type: CHARACTER
Notes:  
*Read and Write.
*Value is pccolumns + CHR(3) + pcvalues + CHR(3) + pcoperators.
*Multiple entries are supported, delimited by CHR(4).
ManualSetQuerySort
Manual calls to setQuerySort. This value is reapplied by the filter when needed to preserve the original query.
Data type: CHARACTER
Note: Read and Write.
NavigationSource
Handle of the query object’s navigation source.
Data type: CHARACTER
Note: Read and Write.
NavigationSourceEvents
Comma-separated list of the events this object wants to subscribe to in its NavigationSource.
Data type: CHARACTER
Note: Read only.
NewMode
Whether or not the current RowObject record is in New mode. This is identical to the current object’s NewMode when an Add or Copy of an existing record has not been saved. This property is TRUE if the record is in New mode. The Unknown value (?) is returned if there is no current RowObject.
Data type: LOGICAL
Notes:  
*Read only.
*Note that the NewRow property cannot be used for this purpose. It returns TRUE for ANY saved and uncommitted new record.
NewRow
Indicates whether the current RowObject record is a new record or a copy of an existing record. If the value for this property is:
*TRUE — Then either a new record or a copy of an existing record was added to the database.
*Unknown value (?) — Then there is no current RowObject.
This (SmartBusinessObject) SBO property is similar to DataHandle and is run from a browser to get the query from the contained Data object.
For more information, see the “DataHandle” section.
Data type: LOGICAL
Note: Read only.
OpenOnInit
Flag indicating whether or not the object's database query should be opened automatically when the object is initialized. The default value is yes.
Data type: LOGICAL
Note: Read and Write.
OpenQuery
Original design WHERE clause for a database query. The value for this property is used by QueryWhere to manipulate data.
Data type: CHARACTER
Notes:  
*Read and Write.
*OpenQuery is called from the client on AppServer.
*No matter how the query is dynamically modified, it can be reset to its original state using the value of this property in a QUERY-PREPARE method.
*For more information, see the “RebuildOnRepos” section.
PhysicalTable
Property that contains the physical names that corresponds to the tables used to build the base query.
Data type: CHARACTER
Notes:  
*Read and Write.
*The names used in the query are defined in the corresponding Tables property.
*If the query is defined with dbname, it must be qualified with database name.
PositionSource
The data source which indirectly controls the position of a DataView.
For example, consider a viewer for a Customer DataView. The viewer has a SDF built against a SalesRep DataView. The Customer DataView is the PositionSource for the SalesRep DataView, because the SalesRep DataView derives its position from the Customer DataView.
Data type: HANDLE
Note: Read only.
PrimarySDOSource
The handle of the object's PrimarySDOSource.
Data type: HANDLE
Note: Read and Write.
PromptColumns
A comma-separated list of field values to display when prompting for a delete action. When setting this property, the following values are valid:
*(NONE) — Do not display any fields. This is the default for security reasons.
*(ALL) — Display all fields in the data object.
*Field list — A comma-separated list of the specific fields to display.
Data type: CHARACTER
Note: Read and Write.
PromptOnDelete
Whether or not to prompt the user before executing a Delete action.
Data type: LOGICAL
Note: Read and Write.
PropertyList
List of properties taken from a CHR(3)-separated list of "propCHR(4) value" pairs. Used internally to support running in Stateless mode.
Data type: CHARACTER
Note: Write only.
QueryColumns
A comma-separated list of the fields in the query.
Caution: The ADM uses thi property to track and manage field expressions in the QueryString property. It should only be managed by the ADM. It is described here only to caution against directly using it.
Data type: CHARACTER
Note: Read and Write.
QueryContainer
Indicates whether or not the Container is a QueryObject. Use this information to determine if an SBO handles the transaction.
Data type: CHARACTER
Note: Read only.
QueryHandle
Handle of the database query of the database object.
Data type: HANDLE
Note: Read only.
QueryOpen
Returns TRUE if the Query is currently open.
Data type: LOGICAL
Notes:  
*Read only.
*On the server side, it is the database query of the query object.
*On the client side, it is the RowObject query.
QueryPosition
Identifies the state and position of the current record in the data object and is actively used by other objects like the Navigation toolbar. Valid values are:
*FirstRecord
*LastRecord
*NotFirstOrLast
*NoRecordAvailable
*NoRecordAvailableExt.
Data type: CHARACTER
Note: Read and Write.
QueryRowIdent
The row indentation to be used to position an data object query when it is first opened.
Data type: CHARACTER
Notes:  
*Read only.
*Generally used to save the position of a query when it is closed so that position can be restored on reopen.
QuerySort
Property that contains the sorting criteria (BY phrase) of the database query. The value of this property is then stored in the QueryString property.
Data type: CHARACTER
Notes:  
*Read and Write.
*If you need to set the query sort criteria using a field that was renamed in a data object, you must qualify the field name using RowObject. For example, if a SmartDataObject for the customer table includes the field customer.contact and that field was renamed to custContact in the SDO, you can pass the custContact field to setQuerySort either as the field RowObject.custContact or the database column name contact.
*The sort expression is removed if blank is passed as input.
*setQueryWhere overrides the entire query string including any previous setting of the QuerySort.
*When you specify sort direction in a BY phrase within this property, you can use a pseudo-keyword, TOGGLE. The setQuerySort function has internal logic to handle this word in a BY phrase. When the function finds TOGGLE in a BY phrase, the function checks the sort direction of the current BY phrase. The function applies the opposite sort direction to the new BY phrase.
Caution: TOGGLE is not a true ABL keyword. You cannot use this word in BY phrases outside the context of this function and a few related functions.
QuerySortDefault
The default sort phrase.
Data type: CHARACTER
Notes:  
*Read only.
*The returned string does NOT contain the initial BY keyword in the sort phrase.
QueryString
Pending query string to use in the next openQuery. This value is updated on the client by query manipulation functions.
Data type: CHARACTER
Notes:  
*Read and Write.
*This property should not be changed by code but is useful for debugging code.
*The method always returns a WHERE clause. If the QueryString property has not been set, it uses the current WHERE clause - QueryWhere. If there is no current use the design where clause - OpenQuery.
*The openQuery calls prepareQuery with this property.
QueryStringDefault
A default query string that is used to initiate or reset the QueryString property. The property separates the logic to initiate the QueryString from the various query manipulation methods. The property allows the DataView class to implement a query manipulation method that can be used by the Data class.
Data type: CHARACTER
Notes:  
*Read only.
*QueryStringDefault can be referenced before the dataset is retrieved and created. QueryStringDefault is based upon the DataQueryString property, which can be set at design time to capture that more than one table is in a sort.
*If the DataQueryString is not set, the value of QueryStringDefault is resolved from the dataset using QueryTables, or from the datatable if there is no dataset.
*QueryTables has similar logic using Tables as the design time storage and using the dataset for default.
QueryTables
The tables that can be used in sorting, filtering, and browsing. This property is used in query manipulation. It can be referenced before the dataset is retrieved and created.
Data type: CHARACTER
Notes:  
*Read only.
*The DataTable is always the first entry and all the other tables have a many-to-one (or one-to-one) relationship to the DataTable.
*ViewTables always includes all the tables in QueryTables. The QueryTables might not include all the tables in ViewTables. For example, QueryTables does not include the parent of a one-to-many relation.
*QueryTables should not include tables that cannot be inner-joined.
*The user can define the QueryTables at design time, storing the result in the DataQueryString. If a query has not been defined yet, the getQueryTables function resolves the tables again from the DataQueryString. The dataset resolves the default if the QueryHandle and QueryString are not yet defined. The DataTable is returned if not dataset exists.
QueryWhere
WHERE clause that is appended to the basic static database query definition on either the client or server side, or a completely modified Where clause.
Data type: CHARACTER
Note: Read and Write.
RebuildOnRepos
Flag indicating whether the RowObject temp-table should be rebuilt if a fetchLast or other reposition is done outside the bounds of the current result set.
Data type: LOGICAL
Note: Read and Write.
RequestHandle
The handle that defines the scope of service requests for the object.
The handle is passed to the DataContainer to identify the requestor. Typically, the container's getRequestHandle function searches through the parent container's getRequestHandle function to resolve this.
Data type: HANDLE
Notes:  
*Read only.
*The getRequestHandle function returns the DataView's own handle if no container is present.
*If a container cannot handle the request either because it is already initialized or is not defined as a data container, the container’s RequestHandle is the Unknown value (?). In this case, the getRequestHandle function returns the DataView's own handle.
RowIdent
Comma-separated character string containing the ROWIDs of the database records that are the source of the RowObject record.
Data type: CHARACTER
Note: Read only.
RowObject
The handle of the RowObject temp-table buffer.
Data type: HANDLE
Note: Read and Write.
RowObjectState
Indicates whether there are uncommitted updates in the object. Valid return values are NoUpdates and RowUpdated.
Data type: CHARACTER
Note: Read and Write.
RowObjectTable
Temp-table handle of the RowObject table.
Data type: HANDLE
Note: Read and Write.
RowObjUpd
Handle of the temp-table buffer where updates are stored.
Data type: HANDLE
Note: Read only.
RowObjUpdTable
Handle of the RowObjUpd temp-table.
Data type: HANDLE
Note: Read only.
RowsToBatch
Number of rows to be transferred from the database query into the RowObject temp-table in a single operation.
Data type: INTEGER
Note: Read and Write.
RowUpdated
Returns TRUE if the current record has been saved, but has not been submitted to the service.
Data type: LOGICAL
Note: Read and Write.
Scrollable
Whether or not the object has scrollable data, which is currently decided by the dataset relationship. However, that decision can be overridden by a request for all data for the specific table. In that case, isDataquerycomplete is TRUE.
Data type: LOGICAL
Notes:  
*Read only.
*Reading this property returns the Unknown value (?) if it is called before definitions are retrieved.
ServerSubmitValidation
Signals whether the column and RowObject Validation procedures done as part of client validation are to be executed on the server side. If yes, normally when the data object is being run through the open client interface, then serverCommit executes SubmitValidation itself.
Data type: LOGICAL
Note: Read and Write.
SubmitParent
Signals whether the parent record should be submitted together with this object's changed records. YES indicates that the parent record should be included.
Data type: LOGICAL
Note: Read and Write.
Tables
Property that contains a comma-separated list of tables from which data is retrieved. The data is retrieved either from a SmartDataObject or a database.
Data type: CHARACTER
Notes:  
*Read and Write.
*Qualified with database name if the query is defined with dbname.
*Currently this property is a design-time property whereas before it was resolved from the actual query.
*There is currently no way to change the order of the tables at run time. But it would be even more important to have this as a property if the order of the tables were changed dynamically, because several other properties have table delimiters and are totally dependent on the design time order of this property.
*The names in the list references to the tables as defined in the data object and referenced in the query and each entry must be unique. Therefore, the names might be buffer names that differ from the actual physical names, and the physical name is defined in the corresponding PhysicalTables property.
ToggleDataTargets
Property used to determine whether or not dataTargets should be switched between on and off in LinkState.
Data type: Logical
Notes:  
*Read and Write.
*If set to FALSE, dataTargets should not be switched between on and off based on the active or inactive parameter in LinkState.
TransferChildrenForAll
Whether or not children for all records (of the batch) are transferred from the database.
Data type: LOGICAL
Notes:  
*Read and Write.
*This property is currently only supported for read event handlers during a fetch. The child data object is only left with temp-table records for one parent when the fetch* batch is finished.
UseDBQualifier
Indicates whether table references are qualified with database. If TRUE, table references are qualified with database.
Data type: LOGICAL
Note: Read only.
UpdateFromSource
Identifies whether or not an object should be updated as one-to-one of the datasource updates. TRUE if this object should be updated.
Data type: LOGICAL
Note: Read and Write.
UpdatableColumns
A comma-separated list of the updatable columns for this data object, or a list of all updatable columns of contained data objects qualified by their object names.
Data type: CHARACTER
Notes:  
*This property is Read and Write in the DataView class. However, it is Read only in the Data class.
*If you want a list of updatable columns in different tables delimited by CHR(1), instead of by a comma, that identifies which columns are from which table in the event of a join, use the UpdatableColumnsByTable property.
UpdatableColumnsByTable
A list of updatable columns in different tables, delimited by CHR(1) instead of a comma, that identifies which columns are from which table in the event of a join.
For example, if the query is a join of customer and order and the Name field from customer and the OrderNum and OrderData field from Order are updatable, then this property value equals Name<CHR(1)>OrderNum,OrderDate.
Data type: CHARACTER
Notes:  
*Read and Write.
*If you want a comma-separated list of the updatable columns for the data object, use the UpdatableColumns property.
ViewTables
All tables in the view, including the DataTable. The DataTable is always the first entry. All the other tables have a many-to-one (or one-to-one) relationship to the DataTable.
This property can include outer join tables that are currently not added to the physical query due to ABL limitations that make get-last and reposition unusable on outer-join queries.
Data type: CHARACTER
Notes:  
*Read only.
*This property can be referenced before the dataset is retrieved and created. It defines which tables to retrieve from the service.
*If the object needs to retrieve more than just the DataTable, the Tables property must be defined at design time because the dataset is not available before the first request.
*The user defines this property at design time storing the value in the Tables property, which should not be accessed outside of the getViewTables function at runtime.
*The default, which is mainly for design time, is resolved from the dataset relationships.
*QueryTables defines the tables in the query.
WordIndexedFields
Comma-separated list of RowObject fields that are mapped to database fields that have a word indexed.
Data type: CHARACTER
Note: Read only.