ALERT will display a message even if PROC NOECHO is active.
CD with the -N parameter to change or display drives will no longer display any output
to the screen. Output may be redirected to a file. CD without the -N and drive parameter
will continue to display the current drive. This could affect current programs.
Overview of enhancements:
The CLEAR command has been enhanced to handle the following library-related tasks:
Syntax:
The following diagram represents the entire syntax of the CLEAR command:
Defaults:
Parameters:
The "RESIDENT" parameter indicates that the CLEAR operation is to be performed on all libraries currently loaded resident. When this parameter is specified alone (not followed by the STATUS parameter) Business Rules! clears all resident libraries from memory. Note that if any linkages are active for any of the libraries, an error message will be issued when this operation is attempted.
The "file-ref" parameter represents the name of a resident library. It indicates that the CLEAR operation is to be performed on the specified library. When this parameter is specified alone (not followed by the STATUS parameter) Business Rules! clears the specified resident library from memory. Note that if any linkages are active for the libraries, an error message will be issued when this operation is attempted.
The "STATUS" parameter indicates that the resident status of the specified
libraries should be removed. If a main program is not active when this command is
executed, the library is immediately removed from memory (just as a present library would
be). If a main program is active, the library is changed to a present library. Note that
if a function call is made to resident-turned-present library and that library has been
referenced with a LIBRARY RELEASE statement, the library will be removed from memory upon
completion of the function call and treated as an as-needed library from that point on.
Technical Considerations:
Operation CLEAR CLEAR
ALLCLEAR
PROCCLEAR
PROC
ONLYEnds main program yes yes yes no Clears main program yes yes no no Clears resident libraries no yes no no Clears present libraries yes yes yes no Closes active procedures no yes yes yes Clears variables in memory yes yes no no
Release 3.30
Error 1060 now results if any CONFIG command exceeds 128 characters.
You can now redirect the Ctrl-P (print screen) output to a file/printer of your choice
with the CONFIG SUBSTITUTE PRN:/10 command. See "SUBSTITUTE" in the Wbconfig.sys
Specification section for more information.
The COM parameter may now be used with the CONFIG command. See "COM" in the
Wbconfig.sys Specification section in this document and your Business Rules! manual for
additional information.
Release 3.70
The following enhancements have been made to the CONFIG command:
The CONFIG command now supports the ATTRIBUTE spec, which can be used to substitute
screen attribute combinations in exchange for square-bracketed letters called
subattributes. While employing the following example, the attribute combination u/rgb:b
could be replaced with an [X] in FIELD atttribute strings at the time of program
execution.
CONFIG ATTRIBUTE [X]U/RGB:B
Wherever attribute processing occurs (such as in PRINT and INPUT FIELDS statements),
Business Rules! will accept subattributes as long as they have been defined in previous
CONFIG commands or in the wbconfig.sys file with the ATTRIBUTE spec.
10 EXECUTE "CONFIG ATTRIBUTE [D]U/RGB:B [A]R/HRGB:R"
20 INPUT FIELDS "1,1,C 10,[D];2,1,C 10,[D]", ATTR "[A]":X$,Y$
The ATTRIBUTE specification includes the ability to specify the colors that are to be
used in the Business Rules! help files. Help files need not be edited or modified in any
way to take advantage of this feature. See the ATTRIBUTE" specification, in the
Wbconfig.sys Specification section, for more information.
The CONFIG command now supports the BASEYEAR spec, which specifies the starting year of
a 100 year window that Business Rules! will treat as the default century for the DAYS
function when the century is not otherwise specified. BASEYEAR may also be executed from
within a program with the CONFIG BASEYEAR command. The format is as follows, where
"number" must be a value from 1900 to 2399. The default is 1900.
CONFIG BASEYEAR number
For additional information, see the "BASEYEAR" specification in the
Wbconfig.sys Specification section.
The CONFIG command now supports the BREAK spec, which can be used to specify the frequency with which Business Rules! checks keyboard input for Ctrl-C or function key (ON FNKEY) operations. This will improve execution speed of programs, particularly under Unix or Xenix. See the "BREAK" specification, in the Wbconfig.sys Specification section, for more information.
The CONFIG command now supports the DECIMAL spec, which can be used to require
operators to enter a decimal point for numeric values which are formatted to include a
fraction. See the "DECIMAL" specification, in the Wbconfig.sys Specification
section, for more information.
All CONFIG commands now will accept an environment variable specified in the format
%env-var%, where "env-var" is the name of an environment variable that has
already been set up at the operating system level. Whenever an environment variable
specified in this format is encountered, Business Rules! will substitute the contents of
the environment variable in the wbconfig.sys specification. If the specified environment
variable is not defined at the operating system level, no substitution will occur. (In
some cases an error will result, but in others the environment variable format will be
accepted as a literal specification.) -- Access to environment variables will probably be
most useful for specifying user-specific information.
The CONFIG command now supports the SPOOLCMD spec, which enables any system spooler to work with Business Rules!. See the "SPOOLCMD" specification in the Wbconfig.sys Specification section for additional information.
On DOS and IBM Network versions, OPENs to PRN: will return error 6298 when the
following two conditions are true: 1) SPOOLCMD is not specified, and 2) the printer is not
ready.
CONFIG STATUSLINE Release 3.61
The CONFIG command's STATUSLINE spec now supports the ROWCOL parameter to specify
whether or not the current row and column of the cursor is displayed on the right side of
the status line. If ROWCOL is on, the information will be displayed in row:column format.
If ROWCOL is off, the Business Rules! release number will be displayed in the same area.
The format of the specification is as follows:
CONFIG STATUSLINE ROWCOL [ON/OFF]
On DOS, the default for STATUSLINE ROWCOL is ON and on Unix the default is OFF.
Business Rules! now differentiates between CONFIG STYLE INDENT 0 and CONFIG STYLE
INDENT CLEAR. Both specifications previously maintained existing indentation. Now,CONFIG
STYLE INDENT 0 does just the opposite: it strips all indentation out of a program when it
is saved as source.
CONFIG STYLE INDENT CLEAR, which remains
as the default, does nothing to alter indentation. It is preserved when saved as source
and reloaded.
The -S option has been added to allow copying of a file which is currently open. The file to be copied must be opened for sharing (SHR or SHRI); if it is opened NOSHR, error 4148 (file sharing violation) will occur when COPY with the -S is attempted.
DIR -o will now sort the directory output in alphabetical order.
GO With Breakpoint Release 3.70
Overview of enhancements:
Two enhancements have been made to enable more useful GO STEP processing:
For example, a program is stopped with Ctrl-C and the following command is issued:
GO .5280
The program will continue from where it left off until statement 5280 is about to be executed. Then a STEP interrupt is issued. If the following command is then issued, the program will continue until statement 5280 is encountered again and stop as before:
GO .
If a GO command is issued with no period, breakpoint processing is canceled and
processing continues normally.
Release 3.30
When the starting key position and key length parameters are both specified as 0, INDEX
will now use the key parameters as they exist in the key file. The REPLACE parameter is
assumed.
Also, the INDEX command may now include a SHR parameter. This allows another workstation
to open the master file. For example:
INDEX master.fil index.fil 1 4 REPLACE SHR
Note: This parameter should be used only for making temporary indexes.
Release 3.50
Case insensitive key file access is now supported. Placing a U after the key length or
key starting position parameters causes the program to keep that key field as uppercase.
Whenever a record is written, the key field is converted to uppercase before it is written
to the key file (master record is unchanged) and whenever the file is read with KEY=, the
parts of the key that need to be converted to uppercase are converted before the key look
up.
This is useful for looking up names, where the capitalization of the data on file and the
key entered by the operator may be inconsistent. This also permits sequential processing
of a keyed file in alpha order, without regard to the case of the data. (Note that even
though Business Rules! stores the key as uppercase, the resulting processing occurs as if
the case is ignored. In other words, 'A' and 'a' are considered equal.)
The following code writes data as is to the master file, but writes all uppercase
characters to the key file.
00010 OPEN #1:"name=xxx,kfname=xxx.key,replace
,recl=63,kps=1, kln=4u",INTERNAL,OUTIN,KEYED
00020 WRITE #1,USING 30: "aaAA"
00030 FORM C 4
00040 READ #1,USING 30,KEY="AAaa": X$
00050 PRINT X$
INDEX MASTER.FIL KEY.FIL 1/3 2/2U REPLACE ! key parts supported
Release 3.53
When INDEX is used with the SHR parameter, all records in a master file can now be
accessed, even if a record is locked in that master file.
Release 3.61
The INDEX command now defaults to B-tree indexing unless OPTION 5 is used in the wbconfig.sys file to set the universal default to ISAM or the ISAM parameter is used within the syntax of the INDEX command to override the B-tree default on an individual basis. (If OPTION 5 is specified in wbconfig.sys, the INDEX command's BTREE parameter can be used to override the ISAM default on an individual basis.)
INDEX will completely rebuild the B-tree index when any of the following three conditions is true: 1) When the REPLACE parameter is specified in the INDEX command, 2) When INDEX REORG is specified and the key starting positions and/or lengths in the existing index file are different than those specified on the INDEX command, or 3) When INDEX REORG is specified and the key file does not exist.
The syntax of the INDEX command now allows the BTREE or ISAM parameters, as follows:
INDEX file.dat,file.idx,1,2,REPLACE,ISAM
INDEX file.dat,file.idx,1,2,REPLACE,BTREE
Release 3.53
LIST now supports two additional parameters: SKIP and -p. When used with LIST PRINT,
SKIP will prevent the form feed from occurring at the end of printing. The -p parameter
will output one line at a time when LIST is used to search for or replace a program
string.
Release 3.70
Overview of enhancements:
Three enhancements have been made to the LIST command:
LIST <TEMP -P
Overview of enhancements:
The LOAD command has been enhanced to load a specified library as resident.
Syntax:
The following diagram represents the entire syntax of the LOAD command:
Default:
Parameter:
"RESIDENT" indicates that the specified program should be loaded as a
resident library.
MERGE with a program name and a line number now causes only the specified line to be
merged. Previously all lines from the line specified to the end of the program were
merged. This change could affect existing applications.
PROCERR now supports the REM parameter. When PROCERR REM is used with PROCERR RETURN, Business Rules! will not stop a load source if an error occurs. Instead, Business Rules! inserts the text "REM ERROR number" (where "number" represents the error number) at the beginning of the line. This takes up the first 15 characters in a line; thus, any line longer than 785 characters will lose the last few characters. Example:
PROCERR RETURN
PROCERR REM
LOAD programname,so
SAVE
If no file name is specified for a REPLACE command, Business Rules! now uses the file's
complete original name (including the extension) for the file name. Previously, it would
replace any existing extension with an extension of .WB.
Caution: The REPLACE command only saves a file in source format when one of two conditions is true:
For example, if the file ABC.XX were loaded from source (LOAD ABC.XX,SO), specifying
REPLACE without a file name and without the SOURCE parameter would cause the file to be
replaced as a program file rather than as a source file.
When RUN is used to redirect printer output to a file or screen (RUN> filename) the
redirection is now stopped only when the system returns to READY mode (when no programs or
procedures remain active). This allows redirection to work with a procedure file that
contains multiple RUN commands. Previously, the redirection remained active only until the
next RUN command was issued.
This command now counts blank lines in procedure files. This may affect your programs.
The number of RECORD specifications that may be used in sort control files is increased to 20.
A sort output file type (3) may be used with the sort control file's FILE specification. This has been added for System/36 compatibility. The sort output file options are now R for full record output, A for PD 3 address-out, B for B 4 address-out, and 3 for B 3 (System/36 style) address-out. The 3 option differs from the others in that the record output to the address-out file is the master file record number less 1. We discourage the use of this option except for maintaining S/36 compatibility.
A user-defined collating sequence may now be accessed through the FILE specification's
collating sequence parameter. See "COLLATE ALTERNATE" in the Wbconfig.sys
Specification section in this for more information.
Release 3.50
STATUS FILES will now print the coordinates of a window file if a window is open. The
starting and ending rows and columns are displayed.
Release 3.53
On DOS and network versions of Business Rules!, the STATUS command has been enhanced to show the Overlay Cache state. Overlay Cache ON indicates that Business Rules! was able to find extended or expanded memory on the computer. Overlay Cache OFF indicates memory was not found or that all the extended or expanded memory is in use by other programs such as RAM disks and TSRs.
For more information about Business Rules!'s handling of expanded or extended memory,
see "Overlay driver for DOS" in the Other Changes/Enhancements section.
Release 3.70
Overview of enhancements:
Four enhancements have been made to the Business Rules! STATUS command:
Syntax:
The complete syntax of the STATUS command is as follows:
"LIBRARY" parameter:
The STATUS command with the "LIBRARY" parameter instructs Business Rules! to display complete information about all library linkages and all libraries that are currently loaded resident, present or as-needed. When this parameter is used, Business Rules! displays a screen such as the following:

In the above display, the top "Program ID" line identifies the lowest level
program which is currently active, and the "Current Line" line identifies which
line of the program is active. In this example, three programs are actually active (MAIN,
RESLIB and ASNLIB), but because ASNLIB is the lowest level (MAIN has called a library
function in RESLIB, which has in turn called a function in ASNLIB), it is the name that is
displayed.
The remaining lines of the display list all programs that are currently active or that are currently identified as resident, present or as-needed libraries. Note that each program listing consists of two parts: 1) The Program Name line, which is the main line that identifies the program, and 2) The Library Linkage table, which is a list of linked library functions. Each of these portions of the display are described in greater detail below:
Program Name line- The STATUS LIBRARY display's Program Name lines are displayed in "library precedence" order, which is that the most recently loaded libraries are displayed first. This is in accordance with Business Rules!'s search order for library functions when an unnamed LIBRARY statement is executed. (Note, however, that although as-needed libraries are also listedin last loaded/first displayed order, they are not searched when an unnamed LIBRARY statement is executed.)
Program Name lines consist of information that is presented in five columns.
The first column is the program name.
The second column identifies how the program is loaded. The entries that may appear in this column and their meanings are shown in the following table:
Entry in column 2 is: Meaning: Main Specified program is the main program. RESIDENT Specified program is a library program that is loaded resident. LIBRARY Specified program is a library program that is loaded presently or as needed.
The third column identifies the current status of the program. The entries that may appear in this column and their meanings are shown in the following table:
Entry in column 3 is: Meaning: ACTIVE The specified program is active. NOT LOADED A LIBRARY statement naming the specified program has been executed, but the library will not be loaded until the first function call to that library. LOADED The resident or present library is currently loaded into memory, but not currently active. RELEASED The as-needed library is not currently loaded.
The fourth column identifies when global variables will be cleared for the specified library. The entries that may appear in this column and their meanings are shown in the following table:
Entry in column 4 is: Meaning: RUN Global variables will be cleared when a main program is started or re-started. END Global variables will be cleared when the main program ends. EXIT Global variables will be cleared each time the library is exited (after each function call to the library). This entry will appear for as-needed libraries, and for resident libraries that have been identified with the LIBRARY statement's RELEASE keyword. RETAIN Global variables will be retained regardless of main program status. This entry will appear for resident libraries that include an OPTION RETAIN statement.
The fifth and last column identifies the total number of active library links to this program. The number displayed here will always coincide with the number of times that the specified library appears in all of the library link tables that STATUS LIBRARY displays. For example, in the sample display shown above, MAIN is shown to have a total of three library links. One of these links is from the MAIN program itself (as demonstrated by the first entry in the linkage table under the MAIN listing). The remaining two links are from the RESLIB program (note that the first two entries in RESLIB's linkage table refer to the MAIN program).
Library Linkage table- The STATUS LIBRARY display's Library Linkage
table lists each library function link that has been established by the topic program. The
first column in this table names the function, and the second column names the library
program where the function is defined.
"STACKS" parameter:
The STATUS command with the "STACKS" parameter instructs Business Rules! to
display complete information about how each of Business Rules!'s memory stacks are being
used. It is very useful for monitoring an application's memory usage. When this parameter
is used, Business Rules! displays a screen such as the following:
STACKS: Maximum Used Available Flow 50 2 48 For 20 0 20 RPN (bytes) 150 24 126 Work (bytes) 9000 16 8984
The first column in the STATUS STACKS listing identifies each of the stack areas that Business Rules! uses. The Flow stack keeps track of GOSUBs and user-defined function calls. The For stack tracks FOR/NEXT loop processing. The RPN and Work stacks are temporary storage areas which are reduced for each function call level.
The second column identifies the maximum amount of memory area configured for use by the specified stack. See the FLOWSTACK, FORSTACK, RPNSTACK and WORKSTACK specifications in the wbconfig.sys chapter of the WB manual for information on how to change the maximum configured area for a particular stack.
The third column identifies the amount of memory area currently being used by the
specified stack. The fourth column identifies the amount of memory area still available
for use by the specified stack.
The STATUS FILES command now shows nonzero values of the VERSION setting for open
internal files. (VERSION= can be used in OPEN statements for existing files to trap
situations where the data files are not current for the program being run.) See "OPEN" in the Statements section and "VERSION" in the Functions section for
additional information about this feature.
Release 3.30
You can now make shell calls in DOS without using the -M option on the wb start-up command. See the "wb START-UP command" in the Commands section for more information.
Release 3.53
When you use the shell call to change the current drive or path, Business Rules! will now return to the original drive and path after exiting from the shell. However, any changes to the default for a drive path other than the current drive will be retained. For example, consider the following sequence of steps:
VERIFY is now set to ON when Business Rules! is started on DOS.
WB START-UP COMMAND Release 3.70
Overview of enhancements:
On Unix and OS/2 systems, the wb start-up command now accepts the -wsidCLEAR parameter.
This option clears the shared memory occupied by the specified workstation ID (if in use)
and assigns the ID to the current session. While it should be used with caution, this
capability is useful for situations where a terminal hangs (thus memory is not cleared
properly) and must be restarted with the same ID.
Syntax:
The complete syntax of the wb command is as follows:
Defaults:
Parameters:
Note that there are two entry points to the syntax for the wb command. The top path
represents Unix versions of Business Rules!. wb, in lowercase letters, must be used to
start up Business Rules! on these versions.
The -sh parameter may optionally be used on Unix systems to load Business Rules! as a memory-resident task so that whenever future users start up, the system will already be in memory. The exact characters "-sh" (excluding the quotes) must be included in the start-up command. Note that the -sh parameter is ignored if Business Rules! is already loaded as a memory-resident task.
The lower entry point in the diagram represents DOS, OS/2 and Network versions of Business Rules!. WB, in either uppercase or lowercase letters, may be used to start up Business Rules! on these versions.
As of release 3.30 the -M parameter may optionally be used on DOS, OS/2 and Network systems to reserve a specific amount of memory for use with system shell calls. It may be followed immediately (no spaces) by the integer parameter, which must be a number from 25 to 320 that identifies the amount of memory in kilobytes to be reserved. When -M is used without an integer parameter, the system by default reserves 25 KB for use with system shell calls.
The "statement" and "command" parameters represent a Business Rules! statement or command that is to be executed at start-up. The use of quotation marks around the statement or command is not required, but is recommended. The -wsidCLEAR parameter is designed to be used on Unix and OS/2 systems in situations where memory from a previous Business Rules! session was not cleared properly (usually due to an improper exit or hung session) and it is necessary to restart using the same workstation ID. The actual specification must consist of a dash (-) followed immediately by a workstation ID of up to three digits and the word "CLEAR". Note that this option should be used with great caution, as Business Rules! cannot determine whether or not the ID represents a valid session. Whenever this option is executed and the specified ID is in use, the following message is displayed (xxx represents the requested ID):
W A R N I N G: Workstation ID xxx is already in use.
To clear it at your own risk enter 'Y' or Press Enter to abort.
The -wsid parameter identifies the workstation ID that is to be assigned to this session. The actual specification must consist of a dash (-) followed by a workstation ID of up to three digits. If no -wsid parameter is specified, Business Rules! automatically tries to assign a workstation ID of 1 to the session.
A plus symbol (+) may optionally follow the -wsid parameter to indicate that when the specified wsid is already in use, Business Rules! should increment accordingly to create a new ID. If the plus symbol is followed by the increment parameter, the increment specified will be used when it is necessary to increment. If the plus symbol is used but increment is not specified, 1 is used as the incremental default. If no plus symbol is specified and the requested ID is already in use, an error results.
The increment parameter may be any whole number from 0 to 999. If the requested -wsid is not available to assign, Business Rules! adds this specified increment to the ID requested and attempts to assign the resulting sum as the ID. If the result is also already in use, Business Rules! continues to increment in the same fashion until an unused ID is found.
The -file-ref parameter identifies the name of an alternate Business Rules!
configuration (wbconfig.sys) file. This configuration file can contain important
information that helps customize a number of configurable Business Rules! and application
options for the user. The actual specification must consist of a dash (-) followed by a
path (optional) and file name. If -file-ref is not specified, Business Rules!
automatically looks for a file named wbconfig.sys and uses its contents as the
configuration file.