XKV.FILE = V.BPV.DOC.IDS
XR.FILE = ""
CALL @MIO.READ.RECORD(MIO.READU.EXIT.ON.LOCKED,XFV.FILE,XKV.FILE,XR.FILE)
IF MIO.STATUS = MIO.STAT.LOCKED THEN ;* file is locked
X.ERROR = 1
* Output your message, set the status, or do some other process
END ELSE ;* record is not lock, proceed like normal
* normal record read/write
END
The following give you different statuses of the lock check:
To read a record from a previously opened file.
@MIO.READ.RECORD(read_option, FV.FILE, KV.FILE, R.FILE)
Where FV.FILE is the previously opened file, KV.FILE is the key of the
record to be read, and R.FILE is the array into which the record will be
read.
Read_option is one of the following. These are equates so they should not
be surrounded by quotes.
MIO.READ - Reads the record without locking
MIO.READU - Reads the record and locks. If the record is already locked by
someone else, the user will get a message and will have the opportunity to
cancel the command.
MIO.READU.NO.CANCEL - Same as READU but without the option to cancel if the
record is locked.
MIO.READ.VERIFY - Checks to see if the record exists. R.FILE will be set to
1 if the record exists and 0 if the record does not exist. The entire
record is not read into the R.FILE variable if this option is used.
MIO.READ.ORIG - Will read the record from disk instead of from the MIO
memory buffers.
Hey man, where do you even find this information?
ReplyDeletehi, I found these while researching issues I encountered. Most of the info on here can be found buried in Ellucian's manuals, such as Unidata or Envison command references. Some of them I found on forums that other people have posted. There's not a central location where I collect these, just pieces here and there :)
DeleteThank you for sharing!
ReplyDeleteYou're very welcome!
Delete