JGILL@UTMEM1.BITNET.UUCP (02/10/87)
If you have VMS 4.4 or later, you should use the $GETUAI system service. If you have VMS 4.3 or earlier, you can access it from PASCAL with the following: var sysuaf_file : file of varying [1500] of char; sysuaf_rec = record case integer of 1 : (s:varying [1500] of char); 2 : (r:record rlen : [word] $byte; { this has the actual length of the record } { fill in the rest of the record layout here} end) end; begin open(file_variable := sysuaf_file, file_name := 'sys$system:sysuaf.dat', history := old, sharing := readwrite, access_method := keyed, error := continue); { rest of program } end. Reading from the file is no problem, but to write a true variable length record, you must use the WRITEV statement to write all the fields into a variable (in the above example, this would be writev(sysuaf_rec.s,field1, field2, ...); sysuaf_file^ := sysuaf_rec.s; update(sysuaf_file); John Gill JGILL@UTMEM1 University of Tennessee, Memphis