HP Business BASIC/XL Reference Manual - HP 3000 MPE/iX Computer Systems - Edition 1 (32715-90001)

4- 6
An error occurs if a report is active when BEGIN REPORT executes. This
statement searches for a REPORT HEADER statement starting with the line
indicated. Only comments can occur between the given line and the REPORT
HEADER statement.
Once the REPORT HEADER is found, the Report Writer scans the report
description. The report scan uses two passes. The first pass determines
what sections are valid, and then the second pass evaluates necessary
expressions. The following actions take place during the scanning
process:
First Pass:
* Section statements are made busy. In addition, the TOTALS, GRAND
TOTALS, PRINT DETAIL IF, BREAK IF, and BREAK WHEN statements are made
busy. Busy lines cannot be deleted or modified (See "Busy Lines and
Subunits" in chapter 2).
* All level expressions are evaluated. This affects HEADER, TRAILER,
BREAK IF, and BREAK WHEN statements. TOTALS statements are
indirectly affected, as they are ignored if the last HEADER or
TRAILER section has a level expression equal to zero.
Second Pass:
* The PAGE LENGTH, LEFT MARGIN, PAUSE EVERY, SUPPRESS AT, and SUPPRESS
FOR statements are evaluated.
* The TOTALS and GRAND TOTALS are set to zero.
* BREAK IF and BREAK WHEN statements are evaluated. This includes
evaluation of the control expressions and the BY clause values. The
OLDCV and OLDCV$ values are initialized. For BREAK WHEN statements
with a BY clause, the initial limit and multiple values are set up.
* The WITH clauses of the PAGE HEADER and PAGE TRAILER sections are
evaluated if present. This determines the usable page size. A check
is made to ensure that there are lines left on the page after the
PAGE sections are counted.
If any error occurs during BEGIN REPORT, the report is not activated.
BEGIN TRANSACTION
The BEGIN TRANSACTION statement defines the beginning of a sequence of
TurboIMAGE procedure calls that are to be regarded as a single logical
transaction for the purposes of logging and recovery. The MSG parameter
allows you to log additional information in the log file. TurboIMAGE
logs database transactions on the transaction log file if any of the
following are true:
* The database is open in one of the following modes:
* Modify with enforced locking.
* Update.
* Exclusive modify.
* Modify.
* The database is enabled for logging by the database administrator.
* The system console has enabled a logging process.
The transaction log file is explained in the
TurboIMAGE/XL Database
Management System
.
Syntax
BEGIN TRANSACTION
dbname
$, MSG[=]
str_expr
, [, STATUS[=]
status_array
(*)]
Parameters
dbname
$ A string variable, whose value is a TurboIMAGE database
name. This must be the
dbname
$ returned by a successful
DBOPEN statement.