S-File Size Limits [ HP ALLBASE/4GL Developer Reference Manual Vol. 2 ] MPE/iX 5.0 Documentation
HP ALLBASE/4GL Developer Reference Manual Vol. 2
S-File Size Limits
The source and generated code for all HP ALLBASE/4GL applications is
stored in the S-files. As you create further applications or increase
the size of an application, there is a greater demand for storage space
in the S-files.
The MPE/iX operating system uses files of a predetermined maximum size.
The HP ALLBASE/4GL installation procedure establishes an arbitrary limit
of 2 000 000 records for each S-file. Under normal circumstances, this
limit is far in excess of the required file size.
NOTE Under the MPE/iX operating system, the amount of disk space used by
a file depends on the number of records in the file, and not the
file limit. Reducing the file limit for the HP ALLBASE/4GL S-files
will not have any effect on disk space usage.
If the file limits for any S-files have been reduced, it is possible to
reach a situation where the S-files cannot accommodate new records. At
the start of each session, and whenever you attempt to write a record to
the S-files, HP ALLBASE/4GL checks the amount of space available in the
S-files. HP ALLBASE/4GL issues a warning message, and then aborts if you
attempt to write a record to the S-files, and there is insufficient space
available in the files.
If the S-file size limits have been reduced, the available space can
become exhausted for the following reasons:
* The files contain a large number of logically deleted records.
* The number of active records in the file is close to the file
limit.
When HP ALLBASE/4GL deletes a record from the S-files, the record is
marked as logically deleted, but it is not deleted physically. Records
are logically deleted from the S-files when an application component is
deleted using the Deletions screen in the developer utilities menu, or an
entire application is deleted using the administrator deletions utility.
The HP4REMK and HP4REOD utility programs allow you to remake the S-file
indexes, and rebuild the S-file data files. This process purges
logically deleted records.
If removing logically deleted records does not provide sufficient space
in the S-files, you must increase the file limits.
Using Remake and Reorder
The HP4REMK[R] and HP4REOD[R] utility program have the following purpose:
* HP4REMK[R] This program is known as "remake". It remakes the
index portion of an S-file. It reorganizes the "I" suffix file by
balancing the index tree, reclaiming any dead space, and checking
for invalid indexes.
* HP4REOD[R] This program is known as "reorder". It reorders the
data portion of an S-file. It reorganizes the "D" suffix file by
recreating it in index sequence and purging any logically deleted
records.
CAUTION Always run HP4REMK on an S-file set before running HP4REOD. Make
sure that all users have signed off from HP ALLBASE/4GL before
you run these programs.
Before you run these programs you must set the MPE/iX variable HP4SPATH
to indicate the group and account in which the S-files reside. For
example, if the S-files are in the HP4S.HP4GL group and account, you must
set the HP4SPATH variable as follows:
SETVAR HP4SPATH "HP4S.HP4GL"
To run the programs, exit from HP ALLBASE/4GL, and enter the following
commands at the MPE/iX prompt:
HP4REMK '[n[-m]]'
HP4REOD '[n[-m]]'
where n and m are numbers between 1 and 11 indicating the S-file, or
range of S-files that you wish to remake or reorder. If you do not
specify a value on the command line, the program will ask you which file
to remake or reorder.
Increasing the S-File Limits.
If running HP4REMK and HP4REOD does not reclaim sufficient free space in
the S-files, the files concerned must be enlarged.
You can enlarge the files with the HP4REMK and HP4REOD utilities, or you
can use MPE/iX commands directly.
To enlarge the S-files using HP4REMK and HP4REOD, the commands are:
HP4REMK '-lddddd [n[-m]]'
HP4REOD '-lddddd [n[-m]]'
In these commands, ddddd is the file limit for the enlarged files, and n
and m are values between 1 and 11 to indicate the file to be enlarged.
Note that you must set the MPE/iX variable HP4SPATH before you execute
these commands.
Alternatively, you can use the following MPE/iX commands to enlarge the
files:
FILE *TEMPFILE;DISC=nnnnn
FCOPY FROM=Snn?;TO=*TEMPFILE;NEW
PURGE Snn?
RENAME TEMPFILE,Snn?
In these commands, nnnnn is the file limit for the enlarged file, and
Snn? is the S-file that you want to enlarge.
MPE/iX 5.0 Documentation