%SYNC.SyncSetObject models a record in a %SYNC.SyncSet. SyncSets are globals containing records corresponding to filing events. A filing event is an insert of a new object, update of an existing object or delete of an existing object. Each time a filing event occurs in a class that is OBJJOURNALENABLED, the event is recorded in the %ObjectJournalTransaction class. SyncSets are created from the %ObjectJournalTransaction class and each record in the SyncSet corresponds to a %ObjectJournalRecord. %ObjectJournalRecords are individual filing events that occur with a transaction, the transaction being an instance of %ObjectJournalTransaction. The SyncSetObject contains information that identifies the SyncSet as well as specific information about the filing event described by a record in the SyncSet.
BackwardLink is a link to the SyncSet instance that caused this SyncSet instance to be created. Creating a new SyncSet instance is triggered by the Requeue mechanism. Requeue is the operation triggered by a failure to successfully synchronize an object, usually because of an unresolvable reference. When a SyncSet instance is requeued the system is basically saying to 'try this operation again later'. The idea being that the cause of the sync failure will have been resolved by the time we process the requeued instance. property Class as %String;
The name of the Class of which this object in the SyncSet is an instance. property Error as %List;
This is a list of errors that are recorded for this SyncSet instance. property FileOperation as %Integer;
The type of filing event that produced this SyncSet object. Values are: 0 - UPDATE 1 - INSERT 2 - DELETE property ForwardLink as %Integer;
ForwardLink is a link to another SyncSet instance in the same SyncSet. ForwardLinks are created when an object cannot be synchronized due to some error. Errors that produce forward links are typically unresolvable references to other objects. The most common unresolvable reference in a properly constructed SyncSet will be a reference to an object that has not yet been created because it occurs later in the SyncSet. property GUID as %String;
The GUID of this object in the SyncSet. property Namespace as %String;
The Namespace in which the SyncSet was created. property Ptr as %Integer;
The Sync Set pointer. This property references the SyncSet object on disk. property SSObject as %RegisteredObject;
OREF referencing the object identified by GUID as it exists in the target database. If the object does not yet exist in the target database then this oref will be null. property SysGUID as %String;
The GUID of the system where the SyncSet was created.
Sync this SyncSet instance with the current database. This method returns a %Status value. method SSObjectGet() as %RegisteredObject
Overridden SSObject Get method. This method looks up the object in the local GUID index. If the GUID is found then attempt to open the object associated with the GUID and return the result. If the GUID is not found in the GUID index then return NULLOREF. method sIdGet() as %String