SETOPTS Verb - BBj

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

This page describes SETOPTS settings that are specific to BBj or have different behavior in BBj than in PRO/5. Settings that are ignored in BBj have no effect in BBj environments, and settings that are ignored in PRO/5 have no effect in PRO/5 environments.

BBj-Specific Information

Byte/Bit

BBj Meaning

PRO/5 Meaning

1 $04$

Ignored in BBj.

Use old SAVEP algorithm.

1 $02$

Ignored in BBj.

Display variable names in lower case.

1 $01$

Ignored in BBj.

Display commands and keywords in lower case.

2 $02$

Ignored in BBj.

Use math coprocessor.

2 $01$

Ignored in BBj.

Update MSDOS file length after each write.
2 $40$

Ignored in BBj.

BBj always outputs a linefeed on a PRINT statement that has no IOLIST.

Causes PRO/5 to output a linefeed on a PRINT statement that has no IOLIST.

3 $80$

Ignored in BBj.

BBj automatically loads and runs programs from the program cache, also known as the public program space or the ADDR area.

In PRO/5, this bit enables LOADing and RUNning from the public program space.

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.

Note:

  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.

Allows PRO/5 to use advisory locking in data files.

Special conditions exist for advisory locking on Novell systems. See the Installation and Configuration Guide for additional information.

PRO/5 Note:

When advisory locks are specified, an EXTRACT may or may not block a WRITE, depending on operating system rules.

3 $20$

Ignored in BBj.

Allows multiple read processes.

3 $10$

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

Provides the capability to WRITE through an EXTRACT when used in conjunction with SETOPTS 3 $40$.

This capability is only possible if the operating system supports advisory locking.

3 $04$

Ignored in BBj.

Prevents access to files with nonzero count in the header.

3 $01$

Ignored in BBj.

This bit is set by PRO/5 while running under MS-DOS on a Novell network. It may be reset by the application.

4 $10$

Ignored in BBj. BBj does not support C-ISAM files.

Enable C-ISAM files.

4 $08$

Ignored in BBj. Business math fields always use 16-digit precision.

Use 14-digit business math precision.

7 $20$

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

Formats MKEYED files for corruption recovery.

8 $40$

Causes the MKEYED verb to create XKEYED files.

Ignored in PRO/5.

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.

Ignored in PRO/5.

8 $10$

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

Ignored in PRO/5.

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.

Ignored in PRO/5.

8 $04$

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

Ignored in 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.

Ignored in PRO/5.

See Also

Verbs - Alphabetical Listing