Changing Record Size

The -augment option makes it possible to increase the maximum record size of a Vision file. This is useful for adding fields to a record without having to rebuild the entire data file. The new maximum record size and the file name is specified as shown in the examples below. This command format is:

vutil -augment [ -q ] new_max_rec_size filename

For example:

vutil -augment -q 50 myfile.dat


cat vision_filelist | vutil -augment -q 100

If the Vision file originally had a fixed-length record size, and if the new maximum record size is larger than the old maximum record size, the file effectively has a variable-length record size after running this command.

You may specify a new maximum record size that is smaller than the current maximum record size, but not smaller than the current minimum record size. This enables you to correct for the case that the maximum was too large. Be careful, however, because if any records were added while the maximum was at the higher level, the file is marked as broken when those records are next read. Vision detects that a record exists that is larger than the current (reduced) maximum record size and raises an error. When you use vutil -augment to reduce the maximum record size, vutil issues a warning.

Anytime you change the file record size with the -augment option, you should consider the need to modify existing FDs to reflect the new maximum record size. Changing the characteristics of a file without making changes to existing FDs will cause a mismatch to be detected at runtime when the file is opened, resulting in a file-status error 39 (Existing file conflicts with the COBOL description of the file).

Because this operation changes the logical structure of the file, exclusive file access is required. vutil reports File locked if any other process has the file open.

The -q option causes vutil to exit (with status 99) if user interaction is required.