For this topic's original documentation, see the SETOPTS Verb.

BBj-Specific Information



1 $20$

Places the character-based EDIT window and character-based INPUTE/INPUTN fields in insert mode. When insert mode is toggled with CTL-T in the EDIT window or INPUTE/INPUTN, this bit is also toggled.

1 $04$

Not used. (Use old SAVEP algorithm.)

1 $02$

Not used. (Display variable names in lower case.)

1 $01$

Not used. (Display commands and keywords in lower case.)

2 $02$

Not used. (Use math coprocessor.)

2 $01$

Not used. (Update MSDOS file length after each write.)

3 $80$

In PRO/5, this bit enables LOADing and RUNning from the public program space. BBj automatically loads and runs programs from the program cache (also known as the public program space or the ADDR area), so this bit is no longer needed.

3 $40$

Allows BBj to use advisory locking in data files. When advisory locking is being used, an EXTRACT blocks another EXTRACT or REMOVE, and a READ operation will be allowed to access data extracted by another user. A READ operation also accesses data extracted on another channel by the same user. After enabling this bit on all terminals, test this capability by attempting to read and write a record extracted by another process.


  1. When advisory locks are specified, an EXTRACT will still block a WRITE unless bit 3 $10$ is set.

  2. BBj does not allow opening the same file simultaneously with both advisory and mandatory locking. If a file is opened with mandatory locking, all subsequent opens must also be mandatory locking. If a file is opened with advisory locking, all subsequent opens must also be advisory locking. Attempting to open a file on two channels using both mandatory and advisory locking will generate an !ERROR=13.

  3. BBj sets the advisory locking state on the file OPEN. For any changes to the SETOPTS advisory locking settings to take effect, any open files must be closed and then reopened.

3 $20$

Not used. (Allows multiple read processes).

3 $10$

See bit 3 $40$ above. If advisory locking is enabled then setting this bit will allow WRITE on an extracted record.

3 $04$

Not used. (Prevents access to files with nonzero count in the header.)

3 $01$

Not used. (Running under MSDOS on a Novell network.)

4 $10$

Not used. (Enable C-ISAM files.) BBj does not support C-ISAM files.

4 $08$

Not used. (Use 14-digit business math precision.) Business math fields always use 16-digit precision.

7 $20$

Formats XKEYED files, in addition to MKEYED files, for corruption recovery which allows the files to be easily recovered if corrupted.

8 $40$

When this flag is set the MKEYED verb will create an XKEYED file.

8 $20$

PRO/5 FID() backward compatibility flag. Causes the FID() function to return the filename based on the name specified in the OPEN Verb. BBj default behavior is to return the fully-qualified filename from the operating system.

8 $10$

Grid backwards compatibility flag. Causes all grids to run with Visual PRO/5 behavior. BBj grid behavior is the default setting.

8 $08$

In BBj 4.00 and higher, ENV(), INFO(4,*), and SCALL (except SCALL("bbj")) refer to the CLIENT.  

In BBj 12.00 and higher, TIM, JUL(0,0,0), and DATE(0,...) use the client-side date and time when this bit is set.

8 $04$

In BBj 4.01 and higher, allow duplicate field names in templates for compatibility with PRO/5.

9 $20$

By default, READ RECORD from a STRING file must specify SIZ=. In BBj 15.00 and higher, this bit enables READ RECORD to read from string files without specifying SIZ=, returning everything up to the next $0a$ (or the end of the file if no $0a$ is found). This bit also causes READ from string files to treat the two byte sequence $0D0A$ as a single separator.

See Also

Verbs - Alphabetical Listing