Namespace: OpenEdge.DataAdmin.Binding
Type: Class DataAdminContext
Parent Classes:
Inherits: Progress.Lang.Object
Implements: OpenEdge.DataAdmin.Binding.IDataAdminContext, OpenEdge.DataAdmin.Binding.IDataAdminModel


/* Copyright (c) 2011-2016,2019,2020 by Progress Software Corporation.
/*
/* All rights reserved. No part of this program or document
/* may be reproduced in any form or by any means without
/* permission in writing from Progress Software Corporation.
Purpose:Default implementation of IDataAdminContext
Author(s):hdaniels
Created:Sat Aug 07 16:54:55 EDT 2010
Notes:implements IDataAdminModel
Purpose: default implementation IDataAdminContextData implements IDataAdminModel



Method Summary
  Options Name Purpose
  AddChild (IDataAdminModel)
  AddChildrenTo (IContextTree, character, IRequestInfo) /* final - control elsewhere - child management needs cleanup , it is currently (mainly) managed by SkipList and by AddTreeTo overrides, allowing it to be controlled by overrides here in this state will make it worse */
  AddChildrenTo (IContextTree, IRequestInfo) /* final - control elsewhere - child management needs cleanup , it is currently (mainly) managed by SkipList and by AddTreeTo overrides, allowing it to be controlled by overrides here in this state will make it worse */
  LOGICAL AddEntity (IDataAdminElement) /* add entity is Idataadmincontext wrapper for attach called from collection sub classes :add logical for future general add support (contains check? context check?) currently collection add is not really in synch with attach that also support just context setting - see attach */
  AddJoinTo (IContextTree, IDataAdminContext, IRequestInfo)
  AddRowTo (IContextTree, rowid)
  AddTableTo (IContextTree) /* final - keep final - if there is a need to override obverride AddTableTo(tree,requestinfo) */
  AddTableTo (IContextTree, IRequestInfo)
  AddTreeTo (IContextTree) /* final - override AddTreeTo(tree,preq) if necessary */
  AddTreeTo (IContextTree, character) /* final - override AddTreeTo(tree,pollections,requestinfo) if necessary */
  AddTreeTo (IContextTree, character, IRequestInfo)
  AddTreeTo (IContextTree, IDataAdminContext, character, IRequestInfo)
  AddTreeTo (IContextTree, IDataAdminContext, IRequestInfo)
  AddTreeTo (IContextTree, IRequestInfo)
  AfterTableRefreshed ()
  AssertNotNull (Object, character)
  LOGICAL CanCopy (IDataAdminContext) /** returns true if the context can be passed to Copy() - see comments about Copy below. NOTE: Should not validate data, only ensure that the physical TT mmatches and that the new context is in a transferable state (currently isLocal only) The purpose of this is to avoid the need to override IDataAdminCollecton:Add and/or AddAll to handle variations and call CreateRow @todo - fix existing overrides... - The assumption is that will be extended with future improvement to collections eliminating the */
  LOGICAL CanFind (character)
  LOGICAL CanFind (integer)
  HANDLE CloneTable ()
  CHARACTER ColumnExpression (character, character, character) /** convert expression for QueryString - unknown = keep as is override in subclasses to handle advanced cases */
  CHARACTER ColumnSortSource (character)
  CHARACTER ColumnSource (character) /** qualify columns for QueryString parsing subclasses should override to handle advanced cases like qualified collection filters */
  LOGICAL CompareValues (character[], character[], character)
  Copy (IDataAdminContext) /** This is not intended for general copy, but used specifically to move new objects/records from local context to this context (including children). This could be both a local or service context. A new entity with its own context can be copied/added to a new collection with its own local context. A new entity with a local context can also be copied directly to the service context. A new collection is only copied to a service context. (A new entity without context uses createrow to achieve this) - The passed context is no longer in use after this operation refactoring notes- Dec 2013 (also applies to CopyforParent) AbstractFiltercontext MoveQueries (call back to newcontext now removed and only defined in model - may change name without fixing this comments) would throw unsupported error (and had no overrides) so apparently this is only called with model, and the move of unsupported up here does not change behavior - @todo - keep (in IDataAdmincontext?) with current signature and extend to support query context? warning - need to understand the publish to query from movequeries ?? probably not needed and unproblematic */
  CopyChildren (IDataAdminModel)
  CopyForParent (IRow, IDataAdminContext) /** add foreign key for parent (called from filteredContext:copy with parentvalue) NOTE: the copy wil copy all records from the passed context assuming all records belongs to the passed parent value (only local context should be passed) See refactoring notes Dec 2013 for Copy() */
  CopyNewTableForParent (IRow, handle) /* override (usually with static for each) if importnew need to add foreign value */
  CopyTable (IDataAdminModel) /** subclasses must implement CopyTable that throws DataError if any of the records exists and that works also when the source (or target) has changes (temp-table-copy does not handle any of these requirements) @TODO - protected ? */
  CopyTableForParent (IRow, IDataAdminModel) /** @TODO Make abstract - currently calls default when 1 key since many collections handle parent with settable <Entity> property. This does not mean that ths is handled. it's only to ensure old code works and should really throw an error to force override or actually resolve the key assigment ( . - override to set from FilteredContext:ParentValue */
  CreateChildRow (character, character[], character, character[])
  OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (character, FilteredContext) /** create default collection - override for dedicated child collections */
  OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext) /** subclasses must implement factory method for classes */
  HANDLE CreateDataset ()
  HANDLE CreateDataset (character)
  HANDLE CreateDataset (character, log)
  HANDLE CreateDataset (log)
  OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (character) /** create default filteredcontext that also handles parent/keyvalue as filter. */
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRequestInfo) /** create default filteredcontext with requestinfo */
  OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRow, IRequestInfo) /** Create filtered context for parent row */
  OpenEdge.DataAdmin.Error.IllegalArgumentError CreateFindError (character, integer, IRequestInfo)
  LOGICAL CreateFromJson (character, character[], character, JSONObject)
  OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity ()
  OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (character)
  OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (integer)
  OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (IRequestInfo)
  CreateRootRow ()
  CreateRootRow (character) /** Create row with key - used by CreateRootEntity */
  CreateRootRow (integer) /** Create row with key - used by CreateRootEntity */
  CreateRootRow (IRequestInfo) /** Create row with IRequestInfo - used by CreateRootEntity */
  CreateRow (IDataAdminElement)
  CreateRowForParent (IRow, IDataAdminElement) /* override to handle parent data - currently calles regu @todo- make abstract and force every subclass to deal with it OR make it generic */
  HANDLE CreateSaveDataset () /* override to save child context not in default child list mChildContextList */
  HANDLE CreateServerDataset () /* final - not in use in any default case currently so no point overriding - see and use GetRequestDataset */
  HANDLE CreateServerDataset (character)
  DataRefreshed (IFetchResponse)
  LOGICAL Delete (character)
  LOGICAL Delete (character[]) /** Delete @param name extent for multi-component keys */
  LOGICAL Delete (integer) /** Delete */
  INTEGER Deserialize (handle, integer, character)
  LOGICAL DeserializeRow (handle)
  LOGICAL DeserializeRow (handle, log)
  Destroy ()
  LOGICAL Detach (IDataAdminElement)
  Export (character, character) /*** not in use yet /* exportlist is the opposite of export in the sense that the second paramter is displayed fields */ method public void ExportList(pcfile as char,pcDispfields as char): define variable cHiddenList as character no-undo. cHiddenList = HiddenColumns(pcDispFields). this-object:Export(pcfile,cHiddenList). end method. */
  ExportLastSaved (character)
  ExportLastSavedTree (character)
  ExportNormalized (character)
  FetchData (IFetchRequest) /* end method. */
  FetchData (IFetchRequest, ServiceAdapter, IDataAdminService)
  FetchFilteredData (FilteredContext)
  FetchRow (handle, character, character, logical)
  FillData (IFetchRequest)
  LOGICAL Find (character)
  LOGICAL Find (character[])
  LOGICAL Find (integer)
  LOGICAL Find (IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (character)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (character, IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (character[])
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (character[], IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (handle) /** find the entity (factory method - data already avail ) Is considered internal. @param handle buffer that points to the record to find the entity for */
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (handle, IRequestInfo) /** find the entity (factory method - data already avail ) Is considered internal. @param handle buffer that points to the record to find the entity for */
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (integer)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (integer, IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminElement FindEntity (IRequestInfo)
  CHARACTER FindExpression (character) /** default find expression assumes there is a name field override in context with different key name or more complex logic */
  CHARACTER FindExpression (integer) /** override GetIntegerKey in context with integer key There are also many overrides of FindExpression since GetIntegerKey is new (11.7.3) */
  LOGICAL FindOrCreateFromJson (character, character[], character, JSONObject)
  LOGICAL FindOrCreateFromJson (character, character[], character, JSONObject, log)
  LOGICAL FindOrCreateFromJson (character, JSONObject)
  LOGICAL FindOrigin (rowid) /** FindOrigin - find row from origin rowid in row extracted with getchanges @param rOriginid rowid from row in change dataset */
  ROWID FindRidAndRemoveOtherAfterBuffers (handle, character)
  ROWID FindRidAndRemoveOtherAfterBuffers (handle, IRow)
  ROWID FindRidAndRemoveOtherAfterBuffers (handle, rowid)
  FireContextRefreshed ()
  FireContextRefreshed (ITableResponse)
  ForeignKeyChanged (IRowChange)
  HANDLE GetChanges (handle) /* method protected handle CreateUpdateQuery(phBuffer as handle): define variable hQuery as handle no-undo. define variable hBuffer as handle no-undo. define variable cQuery as char no-undo. define variable hBuffers as handle extent no-undo. define variable i as integer no-undo. create Query hQuery. hBuffers = GetQueryHandles(phBuffer:serialize-name). do i = 1 to extent(hBuffers): if phbuffer:table-handle:origin-handle = hBuffers[i]:table-handle then do: hBuffer = phBuffer. /* if i > 1 then /* there should not be any, but there is currently nothing that prevents this */ */ /* undo, throw new UnsupportedOperationError("Save of query where update table is not first.").*/ /* create buffer hBuffer for table phbuffer. */ end. else create buffer hBuffer for table hbuffers[i]. hQuery:add-buffer(phbuffer). end. return hQuery. end method. */
  OpenEdge.DataAdmin.Binding.IDataAdminModel GetChild (character) /** final overridw with getNamedChild */
  OpenEdge.DataAdmin.IDataAdminCollection GetChildCollection (IRow, character)
  OpenEdge.DataAdmin.IDataAdminCollection GetChildCollection (IRow, IRequestInfo)
  CHARACTER GetChildFieldsFromJoin (character)
  CHARACTER GetChildJoinExpression (IRow, character)
  CHARACTER GetChildJoinFields (character)
  CHARACTER GetChildQuery (IRow) /** returns the query with the values inserted according to GetJoinFields @param parentRow IRow of psarent */
  OpenEdge.DataAdmin.Message.IFetchRequest GetChildRequest (IRow)
  OpenEdge.DataAdmin.Binding.IDataAdminModel GetChildWithRequestInfo (character, IRequestInfo) /** get a child by name - Will add or append to request info if the passed name is supported in GetNamedQuery */
  CHARACTER GetClientJoinFields (character) /* override for external join - for example json import */
  CHARACTER GetClientKeyFields () /* Client key - external key - for import now this should really be a property... method is used since it is rarely overridden */
  OpenEdge.DataAdmin.IDataAdminCollection GetCollection ()
  OpenEdge.DataAdmin.IDataAdminCollection GetCollection (character)
  OpenEdge.DataAdmin.IDataAdminCollection GetCollection (IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminCollection GetCollection (IRow, IRequestInfo)
  CHARACTER GetCreateError (character)
  CHARACTER GetCreateError (IDataAdminElement, character)
  OpenEdge.DataAdmin.Message.ISaveRequest GetCreateRowRequest ()
  OpenEdge.DataAdmin.Message.ISaveRequest GetCreateRowRequest (IRow)
  CHARACTER GetCurrentKeyValues ()
  HANDLE GetDeleteRowChanges (IRow, IRequestInfo)
  OpenEdge.DataAdmin.Message.ISaveRequest GetDeleteRowRequest (IRow, IRequestInfo)
  OpenEdge.DataAdmin.IDataAdminElement GetEntity (character) /* Note that there is no GetCharKey to deal with temp-tables with no name field the way it is for integer key with GetIntegerKey The reason is that all tables that supports Get with char should have an indexed name field. The ones that don't should override this method to pass correct field to SetTableKeyValue */
  OpenEdge.DataAdmin.IDataAdminElement GetEntity (integer)
  OpenEdge.DataAdmin.IDataAdminElement GetEntity (IRequestInfo)
  CHARACTER GetFieldExpression (character, character)
  CHARACTER GetFieldExpression (character, character[])
  CHARACTER GetFieldsFromJoin (character, log) /* public to be used from AbstractFilteredContext - @todo - move to some utility */
  CHARACTER GetIntegerKey () /* Override for more efficient GetEntity and to not overide FindExpression(int) This exists bcause we do not have a consistent naming of integer keys (mostly Number or Id) */
  CHARACTER GetJoinExpression (character, character)
  CHARACTER GetJoinExpression (IRow, character)
  CHARACTER GetJoinFields (character)
  CHARACTER GetJoinQuery (character) /** returns a query with a join expression based on GetJoinFields @param serializename of parent */
  Progress.Json.ObjectModel.JsonObject GetJSONExport (IContextTree) /* optional call back from context tree. called when parse is complete override to return json to export instead of dataset returns unknown to use standard dataset. write-json */
  CHARACTER GetKeyValues (handle)
  CHARACTER GetKeyWhere (character[])
  OpenEdge.DataAdmin.Binding.IDataAdminModel GetNamedChild (character) /** Override to return a child context that is not included in the default getchildren , but can be requested by getChild and GetChildCollection and AddChildrenTo overloads that support a list of collections */
  CHARACTER GetNamedQuery (character) /** Override to return a query for a subset of the context */
  CHARACTER GetNamedQueryName (character) /** Override to return correct cased name for a named query */
  CHARACTER GetParentFieldsFromJoin (character)
  CHARACTER GetParentJoinFields (character)
  CHARACTER GetParentKey (handle)
  HANDLE GetQueryHandles (character) /** Get default buffer handles to use in child query for parent - must match order of GetChildQuery @param serializename of parent */
  OpenEdge.DataAdmin.Message.IFetchRequest GetRequest ()
  HANDLE GetRequestDataset () /* Dataset used by getRequest - Some programs overrides this to call CreateServerDataset, This was recommended at some point, but since then DatasetHandle has been fixed to have only a single table to support lazy load in most classes. This is accomplished by overriding initDataset to have the default dataset with a single table. initDataset is called from datasetHandle getter. @todo - this is all very convoluted and could be cleaned up ... but with care */
  CHARACTER GetRowState (handle) /* method private void LoopRelation(phRel as handle): define variable hParent as handle no-undo. define variable hBuffer as handle no-undo. define variable hBefore as handle no-undo. define variable cRelFields as character no-undo. define variable cValues as character extent no-undo. define variable cField as character no-undo. define variable cFields as character no-undo. define variable hField as handle no-undo. define variable i as integer no-undo. define variable hBefQuery as handle no-undo. define variable beforeQuery as BeforeQuery no-undo. define variable cBefQuery as character no-undo. hParent = phRel:parent-buffer. hBuffer = phRel:child-buffer. cRelFields = phRel:relation-fields. extent(cValues) = int(num-entries(cRelFields) / 2). do i = 1 to extent(cValues): cField = entry((i * 2) - 1,cRelFields). cFields = cFields + (if i = 1 then "" else ",") + hParent:name + "." + cField. hField = hParent:buffer-field(cfield). cValues[i] = hField:buffer-value. end. hBefore = hbuffer:before-buffer. hBefQuery = CreateUpdateQuery(hBefore). beforeQuery = new BeforeQuery(phRel:query:prepare-string,cfields,cValues). cBefQuery = beforeQuery:GetQueryString(). hBefQuery:query-prepare (cBefQuery). /* LoopBeforeQuery(hBefQuery).*/ LoopQuery(phRel:Query). end method. */
  HANDLE GetSaveChanges (character)
  OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRequest ()
  OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRequest (character)
  HANDLE GetSaveRowChanges (character, IRequestInfo)
  HANDLE GetSaveRowChanges (IRow, IRequestInfo, integer)
  OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRowRequest (character, IRequestInfo)
  OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRowRequest (IRow, IRequestInfo)
  CHARACTER GetServerChildQuery (IRow) /** returns the server query with the values inserted according to GetServerJoinFields @param parentRow IRow of psarent */
  CHARACTER GetServerJoinFields (character) /* override if server side join is different - */
  CHARACTER GetServerJoinQuery (character) /** returns a query with a join expression based on GetServerJoinFields @param serializename of parent */
  HANDLE GetUrlColumns (logical)
  CHARACTER GetUrlFieldNames () /* */
  CHARACTER GetValues (handle, character)
  CHARACTER GetWhere (character, character[]) /* Use for find expressions. Final - Override ColumnExpression hook called from here (which is ignored if it returns the default ?) */
  HandleParseError (Error, character)
  LOGICAL HasChanges ()
  HANDLE HideColumns (character)
  HANDLE HideUrlColumns ()
  Import (character, character) /* single table import of the entity (flat - no tree)*/
  Import (JsonObject, character) /* single table import of the entity (flat - no tree)*/
  ImportDelete (character) /* single table import of delete (flat - no tree)*/
  ImportForParent (IRow, character) /* single table import of the entity from query/filtered context (flat - no tree ?? will probably work with tree if no root ) replace mode Adds forein value to all records from the passed parameters. pcParent - parent serializename pcValue - parent key - foreign value */
  ImportForParent (IRow, JsonObject)
  ImportNewForParent (IRow, character)
  ImportNewForParent (IRow, JsonObject)
  ImportRow (character, character) /* single row import of the entity (flat no tree) */
  ImportRow (character, character[]) /* single row import of the entity (flat no tree) */
  ImportRow (character, integer) /* single row import of the entity (flat no tree) */
  ImportRowTree (character, character)
  ImportRowTree (character, character[])
  ImportRowTree (character, integer)
  ImportTree (character, character) /* import of JSON tree with root */
  ImportTree (JsonObject, character) /* import of JSON tree */
  initChildren () /* override to initialize child context for local context */
  initChildren (IContextScope) /* override to initialize child context for scope */
  HANDLE InitDataset () /* Called from DatasetHandle getter temporary until all sub classes are using this This is now overidden by almost all classes .. se comment in getRequestDataset */
  InitNewError (Error, character)
  InitRow () /** Create row - used by CreateRootRow - override if needed */
  InitRow (character) /** Create row with key - used by CreateRootRow */
  InitRow (integer) /** Create row with key - used by CreateRootRow */
  InitRow (IRequestInfo) /** Create row with key - used by CreateRootRow */
  CHARACTER IntegerExpression (character, character, character) /* call from ColumnExpression override for columns that only can have some values and we want to validate the query */
  LOGICAL IsModeAppend (character)
  MergeChanges (handle) /* @Deprecated */
  MergeChanges (handle, handle) /* @TODO merge data in child context properly - not just set LastSaved */
  MergeChanges (ISaveRequest) /* @TODO merge data in child context */
  CHARACTER MetaData ()
  MoveQueries (IDataAdminModel)
  OpenEdge.DataAdmin.IDataAdminCollection NewCollection ()
  Progress.Lang.Error NullError (character, character)
  OnBeforeDelete ()
  OnRowCreated ()
  OnRowDeleted ()
  PrepareLastSavedTree (IDataTree, handle)
  ReadChild (IRow, JSONObject)
  ReadChild (IRow, JSONObject, character)
  ReadChildren (JSONObject)
  ReadField (JSONObject, handle) /** read a buffer field from json */
  Progress.Json.ObjectModel.JsonArray ReadJsonArray (JsonObject) /** supports single row in cases that also must handle table */
  CHARACTER ReadJsonCharValue (character, JSONObject) /* @todo throw errr when not found - needs testing */
  Progress.Json.ObjectModel.JsonObject ReadJsonFile (character)
  Progress.Json.ObjectModel.JsonObject ReadJsonRoot (character) /* public - to be used as utility by collection */
  Progress.Json.ObjectModel.JsonObject ReadJsonRow (character, log) /** ReadJsonRow returns the single object from the JSON file. The object can be in an array (prodataset style) or be a true object in the file. Throws an error if there is an array with more than one element */
  ReadKey (JsonObject, character) /** Read key will check if the key in json matches current row The action for a non matching key depends on the CanEditKey property - Throws error if CanEditKey = false - Change key and publish to children if CanEditKey = true */
  ReadRow (character) /* import single row */
  ReadRow (JSONObject)
  ReadRow (JSONObject, character)
  ReadRowForParent (IRow, JSONObject) /* override to add foreign value */
  ReadRowTree (character) /** read current row from json file with children */
  ReadTable (JsonObject, character, log)
  CHARACTER ReadValuesFromJson (JsonObject, character)
  OpenEdge.DataAdmin.IDataAdminElement RealizeEntity ()
  OpenEdge.DataAdmin.IDataAdminElement RealizeEntity (IRequestInfo)
  ReceiveBuffer (handle) /* keep client changes - remove corresponding records in received new table */
  RefreshRow (character, character[])
  RegisterRow (rowid)
  LOGICAL Remove () /** remove row */
  LOGICAL Remove (handle)
  RemoveAfterBuffers (handle)
  RemoveBeforeChanges (handle) /** keep client changes - remove corresponding records in received new table */
  RemoveDatasetChildren (handle) /** currently used to delete non applicable data for change and regular cascade when deleting row from service (the latter need to be replaced/improved - see comment in Remove) */
  RemoveDatasetRow (handle) /** remove row */
  RemoveDeletes (handle, IRow)
  INTEGER Serialize (handle)
  SerializeRow (handle)
  SerializeRow (handle, handle)
  LOGICAL SetProperty (rowid, character, character) /** set a property @param rowid the rowid of the tt @param name property name @param value value */
  SetTreeOptions (IDataTree) /* hook for tree */
  SetValues (handle, character, character[])
  CHARACTER ShowValues (character[])
  LOGICAL SynchWithHandle (handle)
  HANDLE TrackDataset (handle, log) /* Note returns an array for each table - with unknown if tracking was not changed */
  TrackTables (handle[], log)
  TransferMatchingRequests (IRequestInfo, IFetchRequest)
  TransferMatchingRequests (IRequestInfo[], IFetchRequest)
  CHARACTER TransformQuery (character)
  CHARACTER TransformQuery (character, character, IQueryMAp)
  CHARACTER TrimQuery (character) /* remove for or preselect from query - duplicated in FilteredContext */
  ValidateBuffer (handle)
  ValidateChanges (handle)
  ValidateChildren (handle) /* hook to validate children of current buffer */
  ValidateProperty (character, character, character) /** override to validate other fields - make sure to call super */
  ValidateQueryChanges (handle)
  ValidateRelationChanges (handle, IRequestInfo)
  ValidateRowChanges (handle, IRequestInfo)
  LOGICAL ValidValue (character, character) /** currently used by integerExpression only override in subclasses if validation needed in query */
  LOGICAL ValidValue (character, int64) /** currently used by integerExpression only override in subclasses if validation needed in query */
  LOGICAL ValidValue (character, integer) /** currently used by integerExpression only override in subclasses if validation needed in query */
  LOGICAL ValidValue (character, logical)
  CHARACTER ValidValueList (character) /** currently used by integerExpression only override in subclasses if validation needed in query */
  ValueChanged (character, character, character) /** override to manage change - not intended fro validation - validation should have been done */
  ViewHiddenColumns (handle[])

Constructor Summary
  Options Name Purpose
  DataAdminContext (character)
  DataAdminContext (character, IContextScope)
  DataAdminContext (character, IContextScope, logical)

Event Summary
  Options Name Purpose
  AddedToContext (IDataAdminModel)
  BeforeDelete (rowid)
  ContextDeleted ()
  ContextRefreshed (ITableResponse)
  KeyChanged (IRowChange)
  RowCreated ()
  RowDeleted ()
  SearchQuery (character, IDataAdminContext)
  SearchRequest (IRequestInfo, character, character[], IDataAdminContext)

Property Summary
  Options Name Purpose
  CHARACTER BaseQuery
  LOGICAL CanEditKey
  LOGICAL CanGenerateCode
  OpenEdge.DataAdmin.Binding.ModelList ChildList
  CHARACTER ContentId
  OpenEdge.DataAdmin.Binding.Factory.IContextScope ContextScope
  INTEGER Count
  HANDLE DatasetHandle
  CHARACTER EntityFieldName
  LOGICAL ExportWithRoot
  CHARACTER Id
  LOGICAL IsDatasetLoaded
  LOGICAL IsLocal
  LOGICAL IsLocalShared
  HANDLE IteratorHandle
  OpenEdge.DataAdmin.Binding.DataAdminJsonUtil JsonUtil
  LOGICAL KeepInstances
  CHARACTER KeyFields
  LOGICAL LastImportNoTopArray
  HANDLE LastSavedDataset
  LOGICAL Lazy
  LOGICAL Loaded
  CHARACTER Name
  CHARACTER NextPosition
  LOGICAL PageRequested
  CHARACTER PrevPosition
  LOGICAL ReadOnly
  CHARACTER ReadOnlyFieldNames
  ROWID RootId
  CHARACTER SerializeName
  OpenEdge.DataAdmin.IDataAdminService Service
  OpenEdge.DataAdmin.Binding.ServiceAdapter ServiceAdapter
  CHARACTER SkipList
  CHARACTER Table
  HANDLE TableHandle
  OpenEdge.DataAdmin.Binding.ServiceAdapter TargetAdapter
  OpenEdge.DataAdmin.IDataAdminService TargetService
  INT64 Total


Method Detail
Top

AddChild (IDataAdminModel)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

AddChildrenTo (IContextTree, character, IRequestInfo)

/* final - control elsewhere
- child management needs cleanup , it is currently (mainly) managed by SkipList and by AddTreeTo
overrides, allowing it to be controlled by overrides here in this state will make it worse
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pcCollections CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddChildrenTo (IContextTree, IRequestInfo)

/* final - control elsewhere
- child management needs cleanup , it is currently (mainly) managed by SkipList and by AddTreeTo
overrides, allowing it to be controlled by overrides here in this state will make it worse
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

LOGICAL AddEntity (IDataAdminElement)

/* add entity is Idataadmincontext wrapper for attach called from collection sub classes :add
logical for future general add support (contains check? context check?)
currently collection add is not really in synch with attach that also support just context setting
- see attach
Parameters:
pentity OpenEdge.DataAdmin.IDataAdminElement
 
Returns LOGICAL
 
Top

AddJoinTo (IContextTree, IDataAdminContext, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
parent OpenEdge.DataAdmin.Binding.IDataAdminContext
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddRowTo (IContextTree, rowid)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
prid ROWID
 
Top

AddTableTo (IContextTree)

/* final - keep final -
if there is a need to override obverride AddTableTo(tree,requestinfo)
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
Top

AddTableTo (IContextTree, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddTreeTo (IContextTree)

/* final - override AddTreeTo(tree,preq) if necessary
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
Top

AddTreeTo (IContextTree, character)

/* final - override AddTreeTo(tree,pollections,requestinfo) if necessary
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pcCollections CHARACTER
 
Top

AddTreeTo (IContextTree, character, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pcCollections CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddTreeTo (IContextTree, IDataAdminContext, character, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
parent OpenEdge.DataAdmin.Binding.IDataAdminContext
 
pcCollections CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddTreeTo (IContextTree, IDataAdminContext, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
parent OpenEdge.DataAdmin.Binding.IDataAdminContext
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AddTreeTo (IContextTree, IRequestInfo)

Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

AfterTableRefreshed ()

Top

AssertNotNull (Object, character)

Parameters:
o Progress.Lang.Object
 
arg CHARACTER
 
Top

LOGICAL CanCopy (IDataAdminContext)

Purpose: returns true if the context can be passed to Copy() - see comments about Copy below.
NOTE: Should not validate data, only ensure that the physical TT mmatches and that the
new context is in a transferable state (currently isLocal only)
The purpose of this is to avoid the need to override IDataAdminCollecton:Add and/or AddAll to handle variations
and call CreateRow
@todo - fix existing overrides...
- The assumption is that will be extended with future improvement to collections eliminating the
Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Returns LOGICAL
 
Top

LOGICAL CanFind (character)

Parameters:
c CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL CanFind (integer)

Parameters:
i INTEGER
 
Returns LOGICAL
 
Top

HANDLE CloneTable ()

Returns HANDLE
 
Top

CHARACTER ColumnExpression (character, character, character)

Purpose: convert expression for QueryString - unknown = keep as is
override in subclasses to handle advanced cases
Parameters:
pcColumn CHARACTER
 
pcOperator CHARACTER
 
pcValue CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER ColumnSortSource (character)

Parameters:
pcColumn CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER ColumnSource (character)

Purpose: qualify columns for QueryString parsing
subclasses should override to handle advanced cases like
qualified collection filters
Parameters:
pcColumn CHARACTER
 
Returns CHARACTER
 
Top

LOGICAL CompareValues (character[], character[], character)

Parameters:
pcValues1 CHARACTER
 
pcValues2 CHARACTER
 
pcStrength CHARACTER
 
Returns LOGICAL
 
Top

Copy (IDataAdminContext)

Purpose: This is not intended for general copy, but used specifically to move new objects/records from local
context to this context (including children). This could be both a local or service context.
A new entity with its own context can be copied/added to a new collection with its own local context.
A new entity with a local context can also be copied directly to the service context.
A new collection is only copied to a service context.
(A new entity without context uses createrow to achieve this)
- The passed context is no longer in use after this operation
refactoring notes- Dec 2013 (also applies to CopyforParent)
AbstractFiltercontext MoveQueries (call back to newcontext now removed and only defined in model -
may change name without fixing this comments) would throw unsupported error (and had no overrides)
so apparently this is only called with model, and the move of unsupported up here does not change behavior
- @todo - keep (in IDataAdmincontext?) with current signature and extend to support query context?
warning - need to understand the publish to query from movequeries ?? probably not needed and unproblematic
Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Top

CopyChildren (IDataAdminModel)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CopyForParent (IRow, IDataAdminContext)

Purpose: add foreign key for parent (called from filteredContext:copy with parentvalue)
NOTE: the copy wil copy all records from the passed context assuming all records
belongs to the passed parent value (only local context should be passed)
See refactoring notes Dec 2013 for Copy()
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Top

CopyNewTableForParent (IRow, handle)

/* override (usually with static for each) if importnew need to add foreign value
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
hTbl HANDLE
 
Top

CopyTable (IDataAdminModel)

Purpose: subclasses must implement CopyTable that throws DataError if
any of the records exists and that works also when the
source (or target) has changes
(temp-table-copy does not handle any of these requirements)
@TODO - protected ?
Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CopyTableForParent (IRow, IDataAdminModel)

Purpose: @TODO Make abstract -
currently calls default when 1 key since many collections handle parent
with settable <Entity> property. This does not mean that ths is handled.
it's only to ensure old code works and should really throw an error to force
override or actually resolve the key assigment ( .
- override to set from FilteredContext:ParentValue
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CreateChildRow (character, character[], character, character[])

Parameters:
pcParentJoin CHARACTER
 
pcParentValues CHARACTER
 
pcKeyFields CHARACTER
 
pcKeyValues CHARACTER
 
Top

OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (character, FilteredContext)

Purpose: create default collection - override for dedicated child collections
Parameters:
parent CHARACTER
 
cntxt OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminCollection CreateCollection (IDataAdminContext)

Purpose: subclasses must implement factory method for classes
Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

HANDLE CreateDataset ()

Returns HANDLE
 
Top

HANDLE CreateDataset (character)

Parameters:
pcCollections CHARACTER
 
Returns HANDLE
 
Top

HANDLE CreateDataset (character, log)

Parameters:
pcCollections CHARACTER
 
plServer LOGICAL
 
Returns HANDLE
 
Top

HANDLE CreateDataset (log)

Parameters:
plserver LOGICAL
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateEntity (IRequestInfo)

Parameters:
req OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (character)

Purpose: create default filteredcontext that also handles parent/keyvalue as filter.
Parameters:
filter CHARACTER
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRequestInfo)

Purpose: create default filteredcontext with requestinfo
Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

OpenEdge.DataAdmin.Binding.Query.FilteredContext CreateFilteredContext (IRow, IRequestInfo)

Purpose: Create filtered context for parent row
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

OpenEdge.DataAdmin.Error.IllegalArgumentError CreateFindError (character, integer, IRequestInfo)

Parameters:
pmsg CHARACTER
 
pnum INTEGER
 
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Error.IllegalArgumentError
 
Top

LOGICAL CreateFromJson (character, character[], character, JSONObject)

Parameters:
pcParentJoin CHARACTER
 
pcParentValues CHARACTER
 
pcKeyFields CHARACTER
 
pjson Progress.Json.ObjectModel.JsonObject
 
Returns LOGICAL
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity ()

Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (character)

Parameters:
c CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (integer)

Parameters:
i INTEGER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement CreateRootEntity (IRequestInfo)

Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRootRow ()

Top

CreateRootRow (character)

Purpose: Create row with key - used by CreateRootEntity
Parameters:
pName CHARACTER
 
Top

CreateRootRow (integer)

Purpose: Create row with key - used by CreateRootEntity
Parameters:
pId INTEGER
 
Top

CreateRootRow (IRequestInfo)

Purpose: Create row with IRequestInfo - used by CreateRootEntity
Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

CreateRow (IDataAdminElement)

Parameters:
pEntity OpenEdge.DataAdmin.IDataAdminElement
 
Top

CreateRowForParent (IRow, IDataAdminElement)

/* override to handle parent data - currently calles regu
@todo- make abstract and force every subclass to deal with it OR make it generic
Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pEntity OpenEdge.DataAdmin.IDataAdminElement
 
Top

HANDLE CreateSaveDataset ()

/* override to save child context not in default child list mChildContextList
Returns HANDLE
 
Top

HANDLE CreateServerDataset ()

/* final - not in use in any default case currently so no point overriding
- see and use GetRequestDataset
Returns HANDLE
 
Top

HANDLE CreateServerDataset (character)

Parameters:
pcCollections CHARACTER
 
Returns HANDLE
 
Top

DataRefreshed (IFetchResponse)

Parameters:
pResponse OpenEdge.DataAdmin.Message.IFetchResponse
 
Top

LOGICAL Delete (character)

Parameters:
name CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Delete (character[])

Purpose: Delete
Parameters:
name CHARACTER
  extent for multi-component keys
Returns LOGICAL
 
Top

LOGICAL Delete (integer)

Purpose: Delete
Parameters:
pNum INTEGER
 
Returns LOGICAL
 
Top

INTEGER Deserialize (handle, integer, character)

Parameters:
phStream HANDLE
 
piMax INTEGER
 
pcmode CHARACTER
 
Returns INTEGER
 
Top

LOGICAL DeserializeRow (handle)

Parameters:
phStream HANDLE
 
Returns LOGICAL
 
Top

LOGICAL DeserializeRow (handle, log)

Parameters:
phStream HANDLE
 
plUpdate LOGICAL
 
Returns LOGICAL
 
Top

Destroy ()

Top

LOGICAL Detach (IDataAdminElement)

Parameters:
entity OpenEdge.DataAdmin.IDataAdminElement
 
Returns LOGICAL
 
Top

Export (character, character)

/* exportlist is the opposite of export in the sense that the second paramter is displayed fields
method public void ExportList(pcfile as char,pcDispfields as char):
define variable cHiddenList as character no-undo.
cHiddenList = HiddenColumns(pcDispFields).
this-object:Export(pcfile,cHiddenList). Export(pcfile,cHiddenList).
end method.
Parameters:
pcfile CHARACTER
 
pcHidefields CHARACTER
 
Top

ExportLastSaved (character)

Parameters:
pcfile CHARACTER
 
Top

ExportLastSavedTree (character)

Parameters:
pcfile CHARACTER
 
Top

ExportNormalized (character)

Parameters:
pcfile CHARACTER
 
Top

FetchData (IFetchRequest)

/* end method.
Parameters:
pmsg OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

FetchData (IFetchRequest, ServiceAdapter, IDataAdminService)

Parameters:
pmsg OpenEdge.DataAdmin.Message.IFetchRequest
 
pAdapter OpenEdge.DataAdmin.Binding.ServiceAdapter
 
pService OpenEdge.DataAdmin.IDataAdminService
 
Top

FetchFilteredData (FilteredContext)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.Query.FilteredContext
 
Top

FetchRow (handle, character, character, logical)

Parameters:
pDataset HANDLE
 
pField CHARACTER
 
pValue CHARACTER
 
pLazy LOGICAL
 
Top

FillData (IFetchRequest)

Parameters:
pmsg OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

LOGICAL Find (character)

Parameters:
c CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Find (character[])

Parameters:
c CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL Find (integer)

Parameters:
i INTEGER
 
Returns LOGICAL
 
Top

LOGICAL Find (IRequestInfo)

Parameters:
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns LOGICAL
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (character)

Parameters:
c CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (character, IRequestInfo)

Parameters:
c CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (character[])

Parameters:
c CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (character[], IRequestInfo)

Parameters:
c CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (handle)

Purpose: find the entity (factory method - data already avail )
Is considered internal.
Parameters:
phdl HANDLE
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (handle, IRequestInfo)

Purpose: find the entity (factory method - data already avail )
Is considered internal.
Parameters:
phdl HANDLE
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (integer)

Parameters:
i INTEGER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (integer, IRequestInfo)

Parameters:
i INTEGER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement FindEntity (IRequestInfo)

Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

CHARACTER FindExpression (character)

Purpose: default find expression assumes there is a name field
override in context with different key name or more complex logic
Parameters:
c CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER FindExpression (integer)

Purpose: override GetIntegerKey in context with integer key
There are also many overrides of FindExpression since GetIntegerKey is
new (11.7.3)
Parameters:
i INTEGER
 
Returns CHARACTER
 
Top

LOGICAL FindOrCreateFromJson (character, character[], character, JSONObject)

Parameters:
pcParentJoin CHARACTER
 
pcParentValues CHARACTER
 
pcKeyFields CHARACTER
 
pjson Progress.Json.ObjectModel.JsonObject
 
Returns LOGICAL
 
Top

LOGICAL FindOrCreateFromJson (character, character[], character, JSONObject, log)

Parameters:
pcParentJoin CHARACTER
 
pcParentValues CHARACTER
 
pcKeyFields CHARACTER
 
pjson Progress.Json.ObjectModel.JsonObject
 
plcreateonly LOGICAL
 
Returns LOGICAL
 
Top

LOGICAL FindOrCreateFromJson (character, JSONObject)

Parameters:
pcKeyFields CHARACTER
 
json Progress.Json.ObjectModel.JsonObject
 
Returns LOGICAL
 
Top

LOGICAL FindOrigin (rowid)

Purpose: FindOrigin - find row from origin rowid in row extracted with getchanges
Parameters:
rOriginid ROWID
  rowid from row in change dataset */
Returns LOGICAL
 
Top

ROWID FindRidAndRemoveOtherAfterBuffers (handle, character)

Parameters:
phTopNavQuery HANDLE
 
pKey CHARACTER
 
Returns ROWID
 
Top

ROWID FindRidAndRemoveOtherAfterBuffers (handle, IRow)

Parameters:
phTopNavQuery HANDLE
 
pRow OpenEdge.DataAdmin.Binding.IRow
 
Returns ROWID
 
Top

ROWID FindRidAndRemoveOtherAfterBuffers (handle, rowid)

Parameters:
phTopNavQuery HANDLE
 
porigrid ROWID
 
Returns ROWID
 
Top

FireContextRefreshed ()

Top

FireContextRefreshed (ITableResponse)

Parameters:
pTbl OpenEdge.DataAdmin.Message.ITableResponse
 
Top

ForeignKeyChanged (IRowChange)

Parameters:
pparentChange OpenEdge.DataAdmin.Binding.IRowChange
 
Top

HANDLE GetChanges (handle)

/*
method protected handle CreateUpdateQuery(phBuffer as handle):
define variable hQuery as handle no-undo.
define variable hBuffer as handle no-undo.
define variable cQuery as char no-undo.
define variable hBuffers as handle extent no-undo.
define variable i as integer no-undo.
create Query hQuery.
hBuffers = GetQueryHandles(phBuffer:serialize-name).
do i = 1 to extent(hBuffers):
if phbuffer:table-handle:origin-handle = hBuffers[i]:table-handle then
do:
hBuffer = phBuffer.
/* if i > 1 then /* there should not be any, but there is currently nothing that prevents this
/* undo, throw new UnsupportedOperationError("Save of query where update table is not first.").
/* create buffer hBuffer for table phbuffer.
end.
else
create buffer hBuffer for table hbuffers[i].
hQuery:add-buffer(phbuffer). add-buffer(phbuffer).
end.
return hQuery.
end method.
Parameters:
phdataset HANDLE
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.Binding.IDataAdminModel GetChild (character)

Purpose: final overridw with getNamedChild
Parameters:
pname CHARACTER
 
Returns OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetChildCollection (IRow, character)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pchild CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetChildCollection (IRow, IRequestInfo)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

CHARACTER GetChildFieldsFromJoin (character)

Parameters:
pcJoinfields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetChildJoinExpression (IRow, character)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pcJoinFields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetChildJoinFields (character)

Parameters:
parentid CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetChildQuery (IRow)

Purpose: returns the query with the values inserted according to GetJoinFields
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.Message.IFetchRequest GetChildRequest (IRow)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
Returns OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

OpenEdge.DataAdmin.Binding.IDataAdminModel GetChildWithRequestInfo (character, IRequestInfo)

Purpose: get a child by name - Will add or append to request info if the passed name is supported in GetNamedQuery
Parameters:
pname CHARACTER
 
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CHARACTER GetClientJoinFields (character)

/* override for external join - for example json import
Parameters:
parenturl CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetClientKeyFields ()

/* Client key - external key - for import
now this should really be a property...
method is used since it is rarely overridden
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetCollection ()

Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetCollection (character)

Parameters:
filter CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetCollection (IRequestInfo)

Parameters:
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

OpenEdge.DataAdmin.IDataAdminCollection GetCollection (IRow, IRequestInfo)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

CHARACTER GetCreateError (character)

Parameters:
fldvalue CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetCreateError (IDataAdminElement, character)

Parameters:
entity OpenEdge.DataAdmin.IDataAdminElement
 
fldvalue CHARACTER
 
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetCreateRowRequest ()

Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetCreateRowRequest (IRow)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

CHARACTER GetCurrentKeyValues ()

Returns CHARACTER
 
Top

HANDLE GetDeleteRowChanges (IRow, IRequestInfo)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetDeleteRowRequest (IRow, IRequestInfo)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

OpenEdge.DataAdmin.IDataAdminElement GetEntity (character)

/* Note that there is no GetCharKey to deal with temp-tables with no name field
the way it is for integer key with GetIntegerKey
The reason is that all tables that supports Get with char should have an indexed
name field.
The ones that don't should override this method to pass
correct field to SetTableKeyValue
Parameters:
pKey CHARACTER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement GetEntity (integer)

Parameters:
pKey INTEGER
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement GetEntity (IRequestInfo)

Parameters:
preq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

CHARACTER GetFieldExpression (character, character)

Parameters:
pcjoinFields CHARACTER
 
pcKeyValue CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetFieldExpression (character, character[])

Parameters:
pcjoinFields CHARACTER
 
pcKeyValues CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetFieldsFromJoin (character, log)

/* public to be used from AbstractFilteredContext - @todo - move to some utility
Parameters:
pcJoinfields CHARACTER
 
plChild LOGICAL
 
Returns CHARACTER
 
Top

CHARACTER GetIntegerKey ()

/* Override for more efficient GetEntity and to not overide FindExpression(int)
This exists bcause we do not have a consistent naming of integer keys
(mostly Number or Id)
Returns CHARACTER
 
Top

CHARACTER GetJoinExpression (character, character)

Parameters:
pcJoinTable CHARACTER
 
pcJoinfields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetJoinExpression (IRow, character)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pcJoinfields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetJoinFields (character)

Parameters:
parenturl CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetJoinQuery (character)

Purpose: returns a query with a join expression based on GetJoinFields
Parameters:
parentname CHARACTER
 
Returns CHARACTER
 
Top

Progress.Json.ObjectModel.JsonObject GetJSONExport (IContextTree)

/* optional call back from context tree.
called when parse is complete
override to return json to export instead of dataset
returns unknown to use standard dataset. write-json
Parameters:
tree OpenEdge.DataAdmin.Binding.IContextTree
 
Returns Progress.Json.ObjectModel.JsonObject
 
Top

CHARACTER GetKeyValues (handle)

Parameters:
pBuffer HANDLE
 
Returns CHARACTER
 
Top

CHARACTER GetKeyWhere (character[])

Parameters:
pcValues CHARACTER
 
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.Binding.IDataAdminModel GetNamedChild (character)

Purpose: Override to return a child context that is not included in the default getchildren ,
but can be requested by getChild and GetChildCollection and AddChildrenTo overloads that
support a list of collections
Parameters:
pqname CHARACTER
 
Returns OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

CHARACTER GetNamedQuery (character)

Purpose: Override to return a query for a subset of the context
Parameters:
pqname CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetNamedQueryName (character)

Purpose: Override to return correct cased name for a named query
Parameters:
pqname CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetParentFieldsFromJoin (character)

Parameters:
pcJoinfields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetParentJoinFields (character)

Parameters:
parentid CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetParentKey (handle)

Parameters:
phRelation HANDLE
 
Returns CHARACTER
 
Top

HANDLE GetQueryHandles (character)

Purpose: Get default buffer handles
to use in child query for parent
- must match order of GetChildQuery
Parameters:
parentid CHARACTER
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.Message.IFetchRequest GetRequest ()

Returns OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

HANDLE GetRequestDataset ()

/* Dataset used by getRequest -
Some programs overrides this to call CreateServerDataset,
This was recommended at some point, but since then DatasetHandle has been
fixed to have only a single table to support lazy load in most classes.
This is accomplished by overriding initDataset to have the default
dataset with a single table.
initDataset is called from datasetHandle getter.
@todo - this is all very convoluted and could be cleaned up ...
but with care
Returns HANDLE
 
Top

CHARACTER GetRowState (handle)

/*
method private void LoopRelation(phRel as handle):
define variable hParent as handle no-undo.
define variable hBuffer as handle no-undo.
define variable hBefore as handle no-undo.
define variable cRelFields as character no-undo.
define variable cValues as character extent no-undo.
define variable cField as character no-undo.
define variable cFields as character no-undo.
define variable hField as handle no-undo.
define variable i as integer no-undo.
define variable hBefQuery as handle no-undo.
define variable beforeQuery as BeforeQuery no-undo.
define variable cBefQuery as character no-undo.
hParent = phRel:parent-buffer.
hBuffer = phRel:child-buffer.
cRelFields = phRel:relation-fields.
extent(cValues) = int(num-entries(cRelFields) / 2).
do i = 1 to extent(cValues):
cField = entry((i * 2) - 1,cRelFields).
cFields = cFields + (if i = 1 then "" else ",")
+ hParent:name + "." + cField.
hField = hParent:buffer-field(cfield).
cValues[i] = hField:buffer-value.
end.
hBefore = hbuffer:before-buffer.
hBefQuery = CreateUpdateQuery(hBefore).
beforeQuery = new BeforeQuery(phRel:query:prepare-string,cfields,cValues).
cBefQuery = beforeQuery:GetQueryString().
hBefQuery:query-prepare query-prepare (cBefQuery).
/* LoopBeforeQuery(hBefQuery).
LoopQuery(phRel:Query). Query).
end method.
Parameters:
phbuffer HANDLE
 
Returns CHARACTER
 
Top

HANDLE GetSaveChanges (character)

Parameters:
pid CHARACTER
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRequest ()

Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRequest (character)

Parameters:
pid CHARACTER
 
Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

HANDLE GetSaveRowChanges (character, IRequestInfo)

Parameters:
pcKey CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns HANDLE
 
Top

HANDLE GetSaveRowChanges (IRow, IRequestInfo, integer)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
pstate INTEGER
 
Returns HANDLE
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRowRequest (character, IRequestInfo)

Parameters:
pcKey CHARACTER
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

OpenEdge.DataAdmin.Message.ISaveRequest GetSaveRowRequest (IRow, IRequestInfo)

Parameters:
pRow OpenEdge.DataAdmin.Binding.IRow
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

CHARACTER GetServerChildQuery (IRow)

Purpose: returns the server query with the values inserted according to GetServerJoinFields
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
Returns CHARACTER
 
Top

CHARACTER GetServerJoinFields (character)

/* override if server side join is different -
Parameters:
parenturl CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetServerJoinQuery (character)

Purpose: returns a query with a join expression based on GetServerJoinFields
Parameters:
parentname CHARACTER
 
Returns CHARACTER
 
Top

HANDLE GetUrlColumns (logical)

Parameters:
plHide LOGICAL
 
Returns HANDLE
 
Top

CHARACTER GetUrlFieldNames ()

/*
Returns CHARACTER
 
Top

CHARACTER GetValues (handle, character)

Parameters:
pBuffer HANDLE
 
pcFields CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER GetWhere (character, character[])

/* Use for find expressions.
Final - Override ColumnExpression hook called from here (which is ignored
if it returns the default ?)
Parameters:
pcKeyFields CHARACTER
 
pcValues CHARACTER
 
Returns CHARACTER
 
Top

HandleParseError (Error, character)

Parameters:
e Progress.Lang.Error
 
filter CHARACTER
 
Top

LOGICAL HasChanges ()

Returns LOGICAL
 
Top

HANDLE HideColumns (character)

Parameters:
cList CHARACTER
 
Returns HANDLE
 
Top

HANDLE HideUrlColumns ()

Returns HANDLE
 
Top

Import (character, character)

/* single table import of the entity (flat - no tree)
Parameters:
pcfile CHARACTER
 
pcMode CHARACTER
 
Top

Import (JsonObject, character)

/* single table import of the entity (flat - no tree)
Parameters:
pJson Progress.Json.ObjectModel.JsonObject
 
pcMode CHARACTER
 
Top

ImportDelete (character)

/* single table import of delete (flat - no tree)
Parameters:
pcfile CHARACTER
 
Top

ImportForParent (IRow, character)

/* single table import of the entity from query/filtered context
(flat - no tree ?? will probably work with tree if no root )
replace mode
Adds forein value to all records from the passed parameters.
pcParent - parent serializename
pcValue - parent key - foreign value
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pcfile CHARACTER
 
Top

ImportForParent (IRow, JsonObject)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pJson Progress.Json.ObjectModel.JsonObject
 
Top

ImportNewForParent (IRow, character)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pcfile CHARACTER
 
Top

ImportNewForParent (IRow, JsonObject)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pJson Progress.Json.ObjectModel.JsonObject
 
Top

ImportRow (character, character)

/* single row import of the entity (flat no tree)
Parameters:
pcfile CHARACTER
 
c CHARACTER
 
Top

ImportRow (character, character[])

/* single row import of the entity (flat no tree)
Parameters:
pcfile CHARACTER
 
cKeys CHARACTER
 
Top

ImportRow (character, integer)

/* single row import of the entity (flat no tree)
Parameters:
pcfile CHARACTER
 
i INTEGER
 
Top

ImportRowTree (character, character)

Parameters:
pcfile CHARACTER
 
c CHARACTER
 
Top

ImportRowTree (character, character[])

Parameters:
pcfile CHARACTER
 
c CHARACTER
 
Top

ImportRowTree (character, integer)

Parameters:
pcfile CHARACTER
 
i INTEGER
 
Top

ImportTree (character, character)

/* import of JSON tree with root
Parameters:
pcfile CHARACTER
 
pcMode CHARACTER
 
Top

ImportTree (JsonObject, character)

/* import of JSON tree
Parameters:
pJson Progress.Json.ObjectModel.JsonObject
 
pcMode CHARACTER
 
Top

initChildren ()

/* override to initialize child context for local context
Top

initChildren (IContextScope)

/* override to initialize child context for scope
Parameters:
pscope OpenEdge.DataAdmin.Binding.Factory.IContextScope
 
Top

HANDLE InitDataset ()

/* Called from DatasetHandle getter temporary until all sub classes are using this
This is now overidden by almost all classes .. se comment in getRequestDataset
Returns HANDLE
 
Top

InitNewError (Error, character)

Parameters:
e Progress.Lang.Error
 
pckey CHARACTER
 
Top

InitRow ()

Purpose: Create row - used by CreateRootRow - override if needed
Top

InitRow (character)

Purpose: Create row with key - used by CreateRootRow
Parameters:
pName CHARACTER
 
Top

InitRow (integer)

Purpose: Create row with key - used by CreateRootRow
Parameters:
pId INTEGER
 
Top

InitRow (IRequestInfo)

Purpose: Create row with key - used by CreateRootRow
Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

CHARACTER IntegerExpression (character, character, character)

/* call from ColumnExpression override for columns that only can have some values and we want to validate the query
Parameters:
pcColumn CHARACTER
 
pcOperator CHARACTER
 
pcValue CHARACTER
 
Returns CHARACTER
 
Top

LOGICAL IsModeAppend (character)

Parameters:
pcmode CHARACTER
 
Returns LOGICAL
 
Top

MergeChanges (handle)

/* @Deprecated
Parameters:
phChangeDataset HANDLE
 
Top

MergeChanges (handle, handle)

/* @TODO merge data in child context properly - not just set LastSaved
Parameters:
phOlddataSet HANDLE
 
phChangedDataset HANDLE
 
Top

MergeChanges (ISaveRequest)

/* @TODO merge data in child context
Parameters:
pResponse OpenEdge.DataAdmin.Message.ISaveRequest
 
Top

CHARACTER MetaData ()

Returns CHARACTER
 
Top

MoveQueries (IDataAdminModel)

Parameters:
cntxt OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

OpenEdge.DataAdmin.IDataAdminCollection NewCollection ()

Returns OpenEdge.DataAdmin.IDataAdminCollection
 
Top

Progress.Lang.Error NullError (character, character)

Parameters:
caller CHARACTER
 
arg CHARACTER
 
Returns Progress.Lang.Error
 
Top

OnBeforeDelete ()

Top

OnRowCreated ()

Top

OnRowDeleted ()

Top

PrepareLastSavedTree (IDataTree, handle)

Parameters:
tree OpenEdge.DataAdmin.Binding.IDataTree
 
phBuffer HANDLE
 
Top

ReadChild (IRow, JSONObject)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pjson Progress.Json.ObjectModel.JsonObject
 
Top

ReadChild (IRow, JSONObject, character)

Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
pjson Progress.Json.ObjectModel.JsonObject
 
pcmode CHARACTER
 
Top

ReadChildren (JSONObject)

Parameters:
json Progress.Json.ObjectModel.JsonObject
 
Top

ReadField (JSONObject, handle)

Purpose: read a buffer field from json
Parameters:
pjson Progress.Json.ObjectModel.JsonObject
 
phfld HANDLE
 
Top

Progress.Json.ObjectModel.JsonArray ReadJsonArray (JsonObject)

Purpose: supports single row in cases that also must handle table
Parameters:
pjsonRoot Progress.Json.ObjectModel.JsonObject
 
Returns Progress.Json.ObjectModel.JsonArray
 
Top

CHARACTER ReadJsonCharValue (character, JSONObject)

/* @todo throw errr when not found - needs testing
Parameters:
pname CHARACTER
 
json Progress.Json.ObjectModel.JsonObject
 
Returns CHARACTER
 
Top

Progress.Json.ObjectModel.JsonObject ReadJsonFile (character)

Parameters:
pcFile CHARACTER
 
Returns Progress.Json.ObjectModel.JsonObject
 
Top

Progress.Json.ObjectModel.JsonObject ReadJsonRoot (character)

/* public - to be used as utility by collection
Parameters:
pcFile CHARACTER
 
Returns Progress.Json.ObjectModel.JsonObject
 
Top

Progress.Json.ObjectModel.JsonObject ReadJsonRow (character, log)

Purpose: ReadJsonRow returns the single object from the JSON file.
The object can be in an array (prodataset style) or be a true
object in the file.
Throws an error if there is an array with more than one element
Parameters:
pcFile CHARACTER
 
plCheckRoot LOGICAL
 
Returns Progress.Json.ObjectModel.JsonObject
 
Top

ReadKey (JsonObject, character)

Purpose: Read key will check if the key in json matches current row
The action for a non matching key depends on the CanEditKey property
- Throws error if CanEditKey = false
- Change key and publish to children if CanEditKey = true
Parameters:
pjson Progress.Json.ObjectModel.JsonObject
 
pcKeyFields CHARACTER
 
Top

ReadRow (character)

/* import single row
Parameters:
pcFile CHARACTER
 
Top

ReadRow (JSONObject)

Parameters:
json Progress.Json.ObjectModel.JsonObject
 
Top

ReadRow (JSONObject, character)

Parameters:
pjson Progress.Json.ObjectModel.JsonObject
 
pcExceptColumns CHARACTER
 
Top

ReadRowForParent (IRow, JSONObject)

/* override to add foreign value
Parameters:
pParentRow OpenEdge.DataAdmin.Binding.IRow
 
json Progress.Json.ObjectModel.JsonObject
 
Top

ReadRowTree (character)

Purpose: read current row from json file with children
Parameters:
pcfile CHARACTER
 
Top

ReadTable (JsonObject, character, log)

Parameters:
pjsonRoot Progress.Json.ObjectModel.JsonObject
 
pcMode CHARACTER
 
plTree LOGICAL
 
Top

CHARACTER ReadValuesFromJson (JsonObject, character)

Parameters:
pjson Progress.Json.ObjectModel.JsonObject
 
pcFields CHARACTER
 
Returns CHARACTER
 
Top

OpenEdge.DataAdmin.IDataAdminElement RealizeEntity ()

Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

OpenEdge.DataAdmin.IDataAdminElement RealizeEntity (IRequestInfo)

Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
Returns OpenEdge.DataAdmin.IDataAdminElement
 
Top

ReceiveBuffer (handle)

/* keep client changes - remove corresponding records in received new table
Parameters:
phNewBuffer HANDLE
 
Top

RefreshRow (character, character[])

Parameters:
pFields CHARACTER
 
pValues CHARACTER
 
Top

RegisterRow (rowid)

Parameters:
pr ROWID
 
Top

LOGICAL Remove ()

Purpose: remove row
Returns LOGICAL
 
Top

LOGICAL Remove (handle)

Parameters:
phdl HANDLE
 
Returns LOGICAL
 
Top

RemoveAfterBuffers (handle)

Parameters:
phTopNavQuery HANDLE
 
Top

RemoveBeforeChanges (handle)

Purpose: keep client changes - remove corresponding records in received new table
Parameters:
hNewBuffer HANDLE
 
Top

RemoveDatasetChildren (handle)

Purpose: currently used to delete non applicable data for change and
regular cascade when deleting row from service
(the latter need to be replaced/improved - see comment in Remove)
Parameters:
phBuffer HANDLE
 
Top

RemoveDatasetRow (handle)

Purpose: remove row
Parameters:
phBuffer HANDLE
 
Top

RemoveDeletes (handle, IRow)

Parameters:
phBefore HANDLE
 
pExceptRow OpenEdge.DataAdmin.Binding.IRow
 
Top

INTEGER Serialize (handle)

Parameters:
phStream HANDLE
 
Returns INTEGER
 
Top

SerializeRow (handle)

Parameters:
phStream HANDLE
 
Top

SerializeRow (handle, handle)

Parameters:
phBuffer HANDLE
 
phStream HANDLE
 
Top

LOGICAL SetProperty (rowid, character, character)

Purpose: set a property
Parameters:
prid ROWID
 
pname CHARACTER
 
pvalue CHARACTER
 
Returns LOGICAL
 
Top

SetTreeOptions (IDataTree)

/* hook for tree
Parameters:
tree OpenEdge.DataAdmin.Binding.IDataTree
 
Top

SetValues (handle, character, character[])

Parameters:
pBuffer HANDLE
 
pcFields CHARACTER
 
pcValues CHARACTER
 
Top

CHARACTER ShowValues (character[])

Parameters:
pcValues CHARACTER
 
Returns CHARACTER
 
Top

LOGICAL SynchWithHandle (handle)

Parameters:
phdl HANDLE
 
Returns LOGICAL
 
Top

HANDLE TrackDataset (handle, log)

/* Note returns an array for each table - with unknown if tracking was not changed
Parameters:
phdataset HANDLE
 
pltrack LOGICAL
 
Returns HANDLE
 
Top

TrackTables (handle[], log)

Parameters:
phtables HANDLE
 
plTrack LOGICAL
 
Top

TransferMatchingRequests (IRequestInfo, IFetchRequest)

Parameters:
pReq OpenEdge.DataAdmin.IRequestInfo
 
pmsg OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

TransferMatchingRequests (IRequestInfo[], IFetchRequest)

Parameters:
pReqs OpenEdge.DataAdmin.IRequestInfo
 
pmsg OpenEdge.DataAdmin.Message.IFetchRequest
 
Top

CHARACTER TransformQuery (character)

Parameters:
pKeyWhere CHARACTER
 
Returns CHARACTER
 
Top

CHARACTER TransformQuery (character, character, IQueryMAp)

Parameters:
pcTables CHARACTER
 
pWhere CHARACTER
 
mapcontxt OpenEdge.DataAdmin.Lang.IQueryMap
 
Returns CHARACTER
 
Top

CHARACTER TrimQuery (character)

/* remove for or preselect from query - duplicated in FilteredContext
Parameters:
pcQuery CHARACTER
 
Returns CHARACTER
 
Top

ValidateBuffer (handle)

Parameters:
hBuffer HANDLE
 
Top

ValidateChanges (handle)

Parameters:
phDs HANDLE
 
Top

ValidateChildren (handle)

/* hook to validate children of current buffer
Parameters:
hBuffer HANDLE
 
Top

ValidateProperty (character, character, character)

Purpose: override to validate other fields - make sure to call super
Parameters:
pcfield CHARACTER
 
poldvalue CHARACTER
 
pnewvalue CHARACTER
 
Top

ValidateQueryChanges (handle)

Parameters:
phQuery HANDLE
 
Top

ValidateRelationChanges (handle, IRequestInfo)

Parameters:
hRelation HANDLE
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

ValidateRowChanges (handle, IRequestInfo)

Parameters:
hBuffer HANDLE
 
pReq OpenEdge.DataAdmin.IRequestInfo
 
Top

LOGICAL ValidValue (character, character)

Purpose: currently used by integerExpression only
override in subclasses if validation needed in query
Parameters:
pcColumn CHARACTER
 
pcValue CHARACTER
 
Returns LOGICAL
 
Top

LOGICAL ValidValue (character, int64)

Purpose: currently used by integerExpression only
override in subclasses if validation needed in query
Parameters:
pcColumn CHARACTER
 
piValue INT64
 
Returns LOGICAL
 
Top

LOGICAL ValidValue (character, integer)

Purpose: currently used by integerExpression only
override in subclasses if validation needed in query
Parameters:
pcColumn CHARACTER
 
piValue INTEGER
 
Returns LOGICAL
 
Top

LOGICAL ValidValue (character, logical)

Parameters:
pcColumn CHARACTER
 
plLog LOGICAL
 
Returns LOGICAL
 
Top

CHARACTER ValidValueList (character)

Purpose: currently used by integerExpression only
override in subclasses if validation needed in query
Parameters:
pcColumn CHARACTER
 
Returns CHARACTER
 
Top

ValueChanged (character, character, character)

Purpose: override to manage change - not intended fro validation - validation should have been done
Parameters:
pcfield CHARACTER
 
poldvalue CHARACTER
 
pnewvalue CHARACTER
 
Top

ViewHiddenColumns (handle[])

Parameters:
phdls HANDLE
 


Constructor Detail
Top

DataAdminContext (character)

Purpose:
Notes:
Parameters:
pname CHARACTER
 
Top

DataAdminContext (character, IContextScope)

Parameters:
pname CHARACTER
 
pscope OpenEdge.DataAdmin.Binding.Factory.IContextScope
 
Top

DataAdminContext (character, IContextScope, logical)

Parameters:
pname CHARACTER
 
pscope OpenEdge.DataAdmin.Binding.Factory.IContextScope
 
plLocal LOGICAL
 


Event Detail
Top

AddedToContext (IDataAdminModel)

Parameters:
newContext OpenEdge.DataAdmin.Binding.IDataAdminModel
 
Top

BeforeDelete (rowid)

Parameters:
rid ROWID
 
Top

ContextDeleted ()

Top

ContextRefreshed (ITableResponse)

Parameters:
tblResponse OpenEdge.DataAdmin.Message.ITableResponse
 
Top

KeyChanged (IRowChange)

Parameters:
keyChange OpenEdge.DataAdmin.Binding.IRowChange
 
Top

RowCreated ()

Top

RowDeleted ()

Top

SearchQuery (character, IDataAdminContext)

Parameters:
id CHARACTER
 
queryContext OpenEdge.DataAdmin.Binding.IDataAdminContext
 
Top

SearchRequest (IRequestInfo, character, character[], IDataAdminContext)

Parameters:
Req OpenEdge.DataAdmin.IRequestInfo
 
pcParent CHARACTER
 
pcKeys CHARACTER
 
queryContext OpenEdge.DataAdmin.Binding.IDataAdminContext
 


Property Detail
Top

CHARACTER BaseQuery

Returns CHARACTER
 
Top

LOGICAL CanEditKey

Returns LOGICAL
 
Top

LOGICAL CanGenerateCode

Returns LOGICAL
 
Top

OpenEdge.DataAdmin.Binding.ModelList ChildList

Returns OpenEdge.DataAdmin.Binding.ModelList
 
Top

CHARACTER ContentId

Returns CHARACTER
 
Top

OpenEdge.DataAdmin.Binding.Factory.IContextScope ContextScope

Returns OpenEdge.DataAdmin.Binding.Factory.IContextScope
 
Top

INTEGER Count

Returns INTEGER
 
Top

HANDLE DatasetHandle

Returns HANDLE
 
Top

CHARACTER EntityFieldName

Returns CHARACTER
 
Top

LOGICAL ExportWithRoot

Returns LOGICAL
 
Top

CHARACTER Id

Returns CHARACTER
 
Top

LOGICAL IsDatasetLoaded

Returns LOGICAL
 
Top

LOGICAL IsLocal

Returns LOGICAL
 
Top

LOGICAL IsLocalShared

Returns LOGICAL
 
Top

HANDLE IteratorHandle

Returns HANDLE
 
Top

OpenEdge.DataAdmin.Binding.DataAdminJsonUtil JsonUtil

Returns OpenEdge.DataAdmin.Binding.DataAdminJsonUtil
 
Top

LOGICAL KeepInstances

Returns LOGICAL
 
Top

CHARACTER KeyFields

Returns CHARACTER
 
Top

LOGICAL LastImportNoTopArray

Returns LOGICAL
 
Top

HANDLE LastSavedDataset

Returns HANDLE
 
Top

LOGICAL Lazy

Returns LOGICAL
 
Top

LOGICAL Loaded

Returns LOGICAL
 
Top

CHARACTER Name

Returns CHARACTER
 
Top

CHARACTER NextPosition

Returns CHARACTER
 
Top

LOGICAL PageRequested

Returns LOGICAL
 
Top

CHARACTER PrevPosition

Returns CHARACTER
 
Top

LOGICAL ReadOnly

Returns LOGICAL
 
Top

CHARACTER ReadOnlyFieldNames

Returns CHARACTER
 
Top

ROWID RootId

Returns ROWID
 
Top

CHARACTER SerializeName

Returns CHARACTER
 
Top

OpenEdge.DataAdmin.IDataAdminService Service

Returns OpenEdge.DataAdmin.IDataAdminService
 
Top

OpenEdge.DataAdmin.Binding.ServiceAdapter ServiceAdapter

Returns OpenEdge.DataAdmin.Binding.ServiceAdapter
 
Top

CHARACTER SkipList

Returns CHARACTER
 
Top

CHARACTER Table

Returns CHARACTER
 
Top

HANDLE TableHandle

Returns HANDLE
 
Top

OpenEdge.DataAdmin.Binding.ServiceAdapter TargetAdapter

Returns OpenEdge.DataAdmin.Binding.ServiceAdapter
 
Top

OpenEdge.DataAdmin.IDataAdminService TargetService

Returns OpenEdge.DataAdmin.IDataAdminService
 
Top

INT64 Total

Returns INT64