HP 3000 Manuals

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