CurrentRecord (Record function)

From m204wiki
Revision as of 20:23, 30 November 2011 by JALWiccan (talk | contribs) (1 revision)
Jump to navigation Jump to search

Create a Record object from current record in For loop or Recordset (Record class)


CurrentRecord is a shared function that acts as a constructor.

Syntax

%record = [%(Record In filOrGrp name):]CurrentRecord[( [lockStrength], - [LoopLockStrength= lockStrength])] Throws RecordLockingConflict

Syntax terms

[%(Record In filOrGrp name):] This optional specification of the class in parentheses denotes a virtual constructor. See "Usage notes", below, for more information about invoking a Record virtual constructor.
lockstr The value of a Lockstrength enumeration: None, Share, or Exclusive. These correspond to standard Model 204 record-locking levels, as described below. The default lock strength of the new Record object is Share.
None
Record is not locked.
No locks are held on the object, so there is no conflict with others holding Share or Exclusive locks (readers and updaters may proceed).
Share
Record is share locked.
This level allows other users to hold a Share lock, but not an Exclusive lock (allows readers but not updaters to proceed).
Exclusive
Record is exclusively locked.
This level prohibits others from holding either an Exclusive lock or a Share lock. It is generally used for update.
LoopLockStrength The lock strength to be used for loops on the Record. This is an optional, name required, parameter, and it defaults to None. See "LoopLockStrength for Records". This parameter is available in Sirius Mods 7.0 and later.

Usage notes

  • As described in "Using CurrentRecord to instantiate a Record object", CurrentRecord must be invoked from a record context that has the same file or group context as declared for the Record object variable.
  • As described in "Virtual Constructor methods", CurrentRecord can be invoked with no method object, with an explicit class specification, or with a Record object variable, even if that object is Null:

    %rec = CurrentRecord %rec = %(Record in file Myfile):CurrentRecord %rec = %rec:CurrentRecord

    Note: As shown in the second of these above, if you explicitly specify the class name, you must include the file or group context, which must be the same as that declared for %rec.

See also