ArcObjects Library Reference (GeoDatabase)  

IArchivableObject.EnableArchiving Method

Enable historical archiving for this object.

[Visual Basic .NET]
Public Sub EnableArchiving ( _
    ByVal archiveRegistrationInfos As ISet, _
    ByVal SeedTimeStamp As Object, _
    ByVal traverseRelationships As Boolean _
public void EnableArchiving (
    ISet archiveRegistrationInfos,
    object SeedTimeStamp,
    bool traverseRelationships
HRESULT EnableArchiving(
  ISet* archiveRegistrationInfos,
  VARIANT SeedTimeStamp,
  VARIANT_BOOL traverseRelationships


archiveRegistrationInfos [in]

  archiveRegistrationInfos is a parameter of type ISet

SeedTimeStamp [in]   SeedTimeStamp is a parameter of type VARIANT traverseRelationships   traverseRelationships is a parameter of type VARIANT_BOOL

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Errors Returned

FDO_E_SCHEMA_LOCK_CONFLICT: Lock request conflicts with an established lock.


This method can be used to enable archiving on a versioned object. To enable archiving on a object it has to be registered as versioned and not moving edits to the base table enabled.

If the moveEditsToBase property is enabled on the object class call IVersionedObject3::UnRegisterAsVersioned3(False) to unregister the class as versioned, disabling the moving of edits to the base table, and then call IVersionedObject3::RegisterAsVersioned3(False) to register the object as versioned with the moveEditsToBase property disabled.

When archiving is enabled on a feature dataset the same initial from_date will be used when creating each historical archive class. For instance, all initial dates in the GDB_FROM_DATE attribute will posses the same attribute time at the point of enabling archiving. The seedTimeStamp property can be used to specify a specific timestamp to use when creating a historical archive class. The seedTimeStamp value must be less than the current date and time of the database. If nothing is passed in as an argument the current database moment (timestamp) will be used. If the traverseRelationships argument is set to true the enable archiving call will traverse any relationships the object participates in, enabling archiving on other associated objects. Set this argument to false when it is desired for only this IArchivableObject to be archive enabled.

When creating the archive table, ArcSDE will use the origin table's configuration <keyword>_ARCHIVE as the input keyword for the object's creation. If the <keyword>_ARCHIVE keyword is not present in the DBTUNE, then ArcSDE will default back to the origin table's <keyword>. For additional information on creating and maintaining ArcSDE DBTUNE keywords see the ArcSDE Administrators documentation.

See Also

IArchivableObject Interface