/sys$common/syshlp/helplib.hlb RMS, XABRDT *Conan The Librarian (sorry for the slow response - running on an old VAX) |
The revision date and time XAB (XABRDT) complements the date and time XAB (XABDAT) by providing revision time and date input to the Close service when RMS closes a file that has been modified. Like the XABDAT, the XABRDT can be used as input to the Create Service or can be used to store revision data returned by the Open service or the Display service. The distinction is that XABDAT cannot be used to modify the revision data. Only the XABRDT can be used to update revision data when a file is closed after being modified. Typically, a process would use the two data structures when it wants to sense and set revision data within a single file operation. To change the revision data, the process must have Control access to the file and must have opened the file for modification using the Put, Update, Truncate, or Delete service. The two XABRDT fields that specify revision values are the XABQ_ RDT (revision date and time) field and the XAB$W_RVN (revision number) field. o The 64-bit XAB$Q_RDT binary field indicates the date and time when the file was last opened for modifications. o The XAB$W_RVN field indicates how many times the file is opened for modifications. The following table indicates how RMS uses the XABRDT fields for various file-processing services. Service Input/Output Close Input Create Input Display Output Erase Not used Extend Not used Open Output The Open service overwrites the XAB$Q_RDT and XAB$W_RVN fields with the file's existing revision values. If you do not change these values, the existing values are subsequently input to the Close service and the file's revision data is not updated. To change the revision data, you must set the fields between the time you open the file and the time you close the file. If you specify a revision date and time of 0 or if you do not include a XABRDT as input to the Close service, RMS uses the current date and time for the revision date and time and increments the revision number. To sense the contents of the XAB$Q_RDT and XAB$W_RVN fields before you specify new values with the XABRDT, examine the XAB$Q_ RDT field and the XAB$W_RVN field in the XABDAT block. The following table lists the symbolic offset, the size in bytes, FDL equivalent, and a brief description of each field. FDL Offset Size Equivalent Description XAB$B_BLN 1 None Block length XAB$B_COD 1 None Type code XAB$L_NXT 4 None Next XAB address XAB$Q_RDT 8 DATE Revision date and time REVISION XAB$W_RVN 2 FILE Revision number REVISION
|