VMS Help  —  RMS  XABRDT
    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
Close Help