BPRECORD prints the contents of the user’s database.
The following information can be obtained from the printout:
from the realm information page (Act-Key-0 page) the date of the last realm update and system break information
from the FPA entries the location and size of unused space in the realms (important for reorganizing a realm)
from the DBTTs the available record sequence numbers (important for LOCATION MODE IS DIRECT or DIRECT-LONG)
from the printout of the hash areas the distribution of records over the hash area (basis for improving hash routines)
from the printout of data records and tables the connection of records to tables (useful for debugging DB applications)
With BPRECORD the DB administrator can print the contents of the user realms, of the database directory (DBDIR) or of the database compiler realm (DBCOM).
The DB administrator can select individual sections of a realm according to two aspects:
Logical
The administrator selects a particular record type, certain records of a record type, a table, etc.
Physical
The administrator selects the realm, certain page types certain page numbers, etc.
The two options may also be combined. When printing out CALC and data pages, the administrator may also specify whether BPRECORD is to include the page header (PAGE INFO), the page index entries (PAGE INDEX) or the set connection data (SCD) of the records in the BPRECORD printout (see "Determine scope of output (PRINT)").
To prevent unauthorized access, BPRECORD can only be invoked under the DB administrator identification.
In addition to outputting the data to SYSLST, you can also output it to a file in CSV format. The use of CSV format facilitates the further processing of the data in other system environments (e.g. in spreadsheet applications). The output in CSV format is described in the manual “Database Operation“, section “Outputting database information in a neutral format“.
When you run BPRECORD online, you must assume that the data output is not current since the DBH has not copied all the data from the buffer to the database yet. In order to obtain as much current data as possible, you should force a database update just before the BPRECORD run using the DAL command CHECKPOINT or NEW RLOG. However, the BPRECORD output may still differ from the actual contents of the database if an update is running parallel to this task.