Home > Class Reference > ENSLIB namespace > %SYS.Journal.Record

%SYS.Journal.Record

persistent class %SYS.Journal.Record extends %Library.Persistent

SQL Table Name: %SYS_Journal.Record

Journal record related API

To retrieve a record, first open the journal file containing the record if it is not already open:

  Set jrnforef = ##class(%SYS.Journal.File).%OpenId(FilePath)
  
where FilePath is the path of the journal file. Then get the record by specifying its location (Address) in the journal file
  Set jrecoref = jrnforef.GetRecordAt(Address)
  
or
  Set jrecoref = ##class(%SYS.Journal.Record).%OpenId(Address)
  
Records are polymorphic -- for example, the reference returned above would be one to a SetKillRecord object if the record is a SET or KILL.

Property Inventory (Including Private)

Method Inventory (Including Private)

Parameters

parameter DOMAIN = %Utility;
Default Localization Domain
parameter READONLY = 1;
Inherited description: READONLY = 1 means that objects can be created, opened but not saved or deleted. Tables are projected to SQL as READONLY.

Properties (Including Private)

property Address as %String [ ReadOnly ];
Location of the record in the journal file
Property methods: AddressDisplayToLogical(), AddressGet(), AddressIsValid(), AddressLogicalToDisplay(), AddressLogicalToOdbc(), AddressNormalize()
property ECPSystemID as %Integer [ Calculated ];
ECPSystemID is RemoteSystemID with the top bits masked off.
Use ECPSystemID if the only thing of interest is whether it came from an ECP client, etc.
Property methods: ECPSystemIDDisplayToLogical(), ECPSystemIDGet(), ECPSystemIDIsValid(), ECPSystemIDLogicalToDisplay(), ECPSystemIDNormalize()
property InTransaction as %Integer [ Calculated ];
Whether the record is part of a transaction
Property methods: InTransactionDisplayToLogical(), InTransactionGet(), InTransactionIsValid(), InTransactionLogicalToDisplay(), InTransactionNormalize()
property JobID as %Integer [ Calculated ];
Internal jobid stored with each journal record in the journal file
Property methods: JobIDDisplayToLogical(), JobIDGet(), JobIDIsValid(), JobIDLogicalToDisplay(), JobIDNormalize()
Reference to next record or NULLOREF if this is the last record in the file
Property methods: NextAddressDisplayToLogical(), NextAddressGet(), NextAddressIsValid(), NextAddressLogicalToDisplay(), NextAddressNormalize(), NextGet()
property NextAddress as %Integer [ Calculated ];
Location of next record or 0 if this is the last record in the file
Property methods: NextAddressDisplayToLogical(), NextAddressGet(), NextAddressIsValid(), NextAddressLogicalToDisplay(), NextAddressNormalize()
Reference to previous record or NULLOREF if this is the first record in the file
Property methods: PrevAddressDisplayToLogical(), PrevAddressGet(), PrevAddressIsValid(), PrevAddressLogicalToDisplay(), PrevAddressNormalize(), PrevGet()
property PrevAddress as %Integer [ Calculated ];
Location of previous record or 0 if this is the first record in the file
Property methods: PrevAddressDisplayToLogical(), PrevAddressGet(), PrevAddressIsValid(), PrevAddressLogicalToDisplay(), PrevAddressNormalize()
property ProcessID as %Integer [ Calculated ];
Operating system process id for the process which created the journal record. This is calculated by taking the jobid stored in the journal record and looking up the corresponding process id in a translation table maintained by the system. If the process id cannot be calculated, the jobid with the string "(jid") appended is returned.
Property methods: ProcessIDDisplayToLogical(), ProcessIDGet(), ProcessIDIsValid(), ProcessIDLogicalToDisplay(), ProcessIDNormalize()
property RemoteSystemID as %Integer [ Calculated ];
Use RemoteSystemID if you're comparing records to ensure that two identical process IDs refer to the same real process/transaction.
Property methods: RemoteSystemIDDisplayToLogical(), RemoteSystemIDGet(), RemoteSystemIDIsValid(), RemoteSystemIDLogicalToDisplay(), RemoteSystemIDNormalize()
property TimeStamp as %TimeStamp [ Calculated ];
Time stamp of the record (not necessarily the creation time of the record)
Property methods: TimeStampDisplayToLogical(), TimeStampGet(), TimeStampIsValid(), TimeStampLogicalToDisplay(), TimeStampNormalize(), TimeStampOdbcToLogical()
property Type as %Library.JournalRecordType [ ReadOnly ];
Type of the record in numeric form
Property methods: TypeDisplayToLogical(), TypeGet(), TypeIsValid(), TypeLogicalToDisplay(), TypeNameDisplayToLogical(), TypeNameGet(), TypeNameIsValid(), TypeNameLogicalToDisplay(), TypeNameLogicalToOdbc(), TypeNameNormalize(), TypeNormalize()
property TypeName as %String [ Calculated ];
Type of the record in string form
Property methods: TypeNameDisplayToLogical(), TypeNameGet(), TypeNameIsValid(), TypeNameLogicalToDisplay(), TypeNameLogicalToOdbc(), TypeNameNormalize()

Methods (Including Private)

private method %LoadData(Offset As %String, flag As %Boolean) as %Status
Inherited description: %LoadData() - loads an object from storage. This method is implemented by the storage class.
classmethod %OnDetermineClass(OID As %ObjectIdentity, ByRef Class As %String) as