========================================================================
M I C R O F O C U S
O P E R A T I N G S Y S T E M E X T E N S I O N S
V4.1.10
Running Under The DG/UX
Operating System Version R4.11MU03
On The AViiON
========================================================================
RUN-TIME CONFIGURATION
======================
This document describes the Run-time Configuration facility supplied with
Micro Focus OSX to enable you to port files between Micro Focus COBOL
systems for UNIX and Micro Focus COBOL systems for DOS, Windows, Windows
NT, Windows 95 and OS/2; and to maintain these files after porting.
TABLE OF CONTENTS
=================
OVERVIEW
OPERATION
Run-time Configuration File
Setting Environment Variables
Setting Run-time Tunables
Run-time Tunables
OVERVIEW
========
You can configure certain run-time behavior by setting environment
variables and run-time tunables in the cobconfig run-time configuration
file.
This chapter is divided into two parts: the first part explains what a
configuration file is and describes in detail the two types of
configuration you can perform on this configuration file. The second part
lists and describes the environment variables and run-time tunables you
can use.
OPERATION
=========
When your RTS or statically linked executable file starts up, as part of
its initialization of the COBOL run-time environment it tries to read
your run-time configuration sidefile. It is shared by all users of the
Micro Focus COBOL system.
Run-time Configuration File
===========================
The run-time configuration file is a text file that you can edit with
your standard text editor. It is an optional file (no error is issued if
it does not exist) pointed to by the COBCONFIG environment variable, or
called $COBDIR/cobconfig if COBCONFIG is undefined (see the appendix
Micro Focus Environment Variables for more information on the COBCONFIG
environment variable). Each different configuration item appears on a new
line. Blank lines are ignored. A comment line is one starting with a #
(although because this file is processed at run time, we advise that you
limit your comments, to keep to a minimum the time it takes to process
it). The maximum number of characters permitted in a comment line is 80,
including any new-line or carriage return characters that can be put at
the end of the line by some editors.
You can perform two types of configuration in the configuration file:
o setting environment variables, such as dd_ filename mappings, or
other environment variables significant to Micro Focus COBOL.
o setting run-time tunables. These control the behavior of certain
aspects of the run-time system.
Setting Environment Variables
=============================
The keyword "setenv" must begin the line, followed by:
1. one or more tabs and/or spaces, followed by:
2. the name of the environment variable, followed by:
3. one or more tabs and/or spaces, followed by:
4. the value to assign to the environment variable (the value must be a
single word, or multiple words in quotation marks). Environment
variables set in this way override values already set in the
environment.
For example:
setenv dd_MYFILE /usr/lib/mydir/myfile
setenv SOMESHORTNAMES "JOE FRED JACK MARY"
See the chapter External Filename Mapping for full details on dd_
filename mapping.
Setting Run-time Tunables
=========================
The keyword "set" must begin the line, followed by:
1. one or more tabs and/or spaces, followed by:
2. the name of the run-time tunable, followed by:
3. "=", followed by:
4. the value to which you set the run-time tunable. This is validated
according to the type and values allowed for that run-time tunable
and the value of cobconfig_error_report. The following section
details the names of the run-time tunables and the values to which
you can set them.
Run-time Tunables
=================
The following sections describe the run-time tunables available.
animator_interrupt_char
Syntax:
set animator_interrupt_char=integer
Value:
integer
Where integer specifies the decimal value, in the range 0 - 255, of the
key to be used as the interrupt in Animator.
When you are executing your program using Animator's Zoom command, your
application cannot recognize the function or cursor keys. This is
because on some keyboards the function and cursor keys send sequences
beginning with the Escape character, which, by default, the Zoom command
takes as the interrupt character.
To prevent this, you can set animator_interrupt_char to a more suitable
value. The value represents the code generated by the keyboard for the
key to use to interrupt Animator's Zoom and Go operations. You should use
a value that is not already being used on your system, perhaps 2, that
corresponds to Ctrl/B. The key must generate a single character.
The range allowed for integer means that you can assign a normal text key
as the interrupt character; however, if you do, you can no longer use
that key to enter its normal character.
Default:
27. This represents the Escape key.
cobconfig_error_report
Syntax:
set cobconfig_error_report={TRUE|FALSE}
Value:
TRUE or FALSE
If FALSE, do not report any errors during processing of the configuration
file.
Default:
TRUE. Any errors detected are reported and the RTS terminates.
command_line_accept
Syntax:
set command_line_accept={TRUE|FALSE}
Value:
TRUE or FALSE
If TRUE, the first ACCEPT takes the input from the command line.
Default:
FALSE. The first ACCEPT takes the input from the user. This provides
direct ANSI conformance. You should set this if you want to execute a
program that has been generated from convert3 or convert5.
command_line_linkage
Syntax:
set command_line_linkage={TRUE|FALSE}
Value:
TRUE or FALSE.
If TRUE, enables you to call a program and pass the command line to the
main program as a parameter to be accessed via the Linkage Section. See
the chapter Writing Programs in your COBOL User Guide for information on
passing the command line to a main program.
Default:
TRUE
detect_alt_ctrl
Syntax:
set detect_alt_ctrl={TRUE|FALSE}
Value:
TRUE or FALSE.
Most UNIX environments do not detect input when either the Ctrl or Alt
keys are available on a keyboard and are pressed by themselves. In these
cases, detect_alt_ctrl must be set to FALSE. The operating system SCO
Open Desktop from version 2 onwards does detect these keys individually
and detect_alt_ctrl can be set to TRUE.
If detect_alt_ctrl is set to TRUE, then the RTS detects the Ctrl and Alt
keys. These keys can then be used for COBOL utilities that would
otherwise use the alternate key sequences of /c or /a respectively. For
example, the add-on product Toolbox is easier to use if detect_alt_ctrl
can be set to TRUE.
Default:
FALSE
dynamic_dictionary_limit
Syntax:
set dynamic_dictionary_limit=integer
Value:
integer
where integer is the maximum size of memory to be allocated dynamically
at run time for use by virtual heaps.
The Compiler and Generator use virtual heaps when processing your
programs, and this size is operating system dependent. If the memory
limit is exceeded, the memory allocated to virtual heaps is paged by the
Micro Focus COBOL system onto disk. If the amount of memory allocated to
virtual heaps is not large enough to process your programs, then the
compilation and generation times can be increased due to the overhead of
paging the virtual heap accesses to disk.
This run-time tunable is equivalent to the -d run-time switch. The value
of -d is used if the values are different.
Default:
30 buffers of 8K.
dynamic_memory_limit
Syntax:
set dynamic_memory_limit=integer
Value:
integer
where integer is the maximum size of memory to be allocated dynamically
at run time, and is operating system dependent. Any CANCELs performed
before this memory limit is reached do not release the memory occupied by
the program being CANCELed. The program is available to be reused and
hence CALL/CANCEL performance is greatly increased. This mode of working
is called "logical Cancels".
As far as your program is concerned, the behavior of logical and real
CANCELs is identical. If the dynamically allocated memory requirements
exceed the size you set for dynamic_memory_limit, then all the memory
that should have been freed by any CANCELs is freed. If you set this
limit to zero, logical CANCELs are disabled.
This run-time tunable is equivalent to the -l run-time switch. The value
of -l is used if the values are different.
Default:
Logical cancels are used. Memory is never freed back to the operating
system.
isam_block_size
Syntax:
set isam_block_size={512|1024|2048|4096}
Value:
512 bytes, 1024 bytes, 2048 bytes or 4096 bytes
Selects the block size to use when creating indexed files as follows:
o uses 512 to create files with a block size of 1/2 Kbyte
o uses 1024 to create files with a block size of 1K
o uses 2048 to create files with a block size of 2K
o uses 4096 to create files with a block size of 4K
This tunable replaces the cobcf utility that was available on some
earlier products.
Default:
1024.
isam_open_key_check
Syntax:
set isam_open_key_check={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether or not the key descriptions specified in the program
should be verified with those in an existing file during open processing.
Default:
FALSE.
lock_mode
Syntax:
set lock_mode={0|1|2}
Value:
0, 1 or 2
Selects the locking implementation to be used, as follows:
-------------------------------------------------------------------------
Lock Mode Description
-------------------------------------------------------------------------
0 Uses the locking mechanism provided by v3.1 and
earlier versions.
1 Provides compatibility with DOS and OS/2 locking
mechanisms.
2 Provides interlanguage locking. This method causes
record locks to lock the physical record.
Default:
2
long_filenames
Syntax:
set long_filenames={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether filenames longer than 14 characters are to be allowed.
If you create a file on a device that does not support long filenames
you must set long_filenames to FALSE when accessing that file on a device
that does support long filenames.
Default:
TRUE
noretry_on_decl
Syntax:
set noretry_on_decl={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether or not locked records are retried when declaratives
exist for the file, and the program has been compiled with RETRYLOCK
NORM.
Note: This must be set to provide compatibility with COBOL v1.3.
Default:
FALSE
program_search_order
Syntax:
set program_search_order={1|2|3}
Value:
1, 2 or 3
Selects the program search order to be used as shown on the following
page.
-------------------------------------------------------------------------
Search Description
Order
-------------------------------------------------------------------------
1 Uses the following search sequence:
The run-time system is checked to see if the program is
statically linked.
If the COBPATH environment variable is set, the paths specified
are searched in order. Otherwise, the current directory is
searched.
The path in which the calling program was loaded is searched.
If COBDIR is set, the path specified is searched. Otherwise,
/opt/lib/cobol is searched.
2 Uses the following search sequence:
The run-time system is checked to see if the program is
statically linked.
The path in which the calling program was loaded is searched.
If the COBPATH environment variable is set, the paths specified
are searched in order. Otherwise, the current directory is
searched.
If COBDIR is set, the path specified is searched. Otherwise,
/opt/lib/cobol is searched.
3 Uses the following search sequence:
The run-time system is checked to see if the program is
statically linked.
The current directory is searched.
If the COBPATH environment variable is set, the paths specified
are searched in order.
If COBDIR is set, the path specified is searched. Otherwise,
/opt/lib/cobol is searched.
Set program_search_order to 2 for compatibility with previous UNIX
versions of Micro Focus COBOL, or to 3 for compatibility with previous
DOS versions.
Note: If a program is called with a specific path the search sequence is
not affected by the program_search_order cobconfig variable and
instead:
The run-time system is checked to see if the program is statically
linked.
The path specified in the call is searched.
Default:
1
same_proc_excl_detection
Syntax:
set same_proc_excl_detection={TRUE|FALSE}
Value:
TRUE or FALSE
Detects if you have tried to open a file multiple times in one run unit.
If TRUE, any OPEN request has conditions applied to determine whether or
not it is already open, and if so, whether it was opened exclusively; if
it was, a file error is generated. Currently, if the same file is opened
twice by the same run unit, no file error is generated. This flag should
be set to TRUE for RMCOBOL compatibility.
Default:
FALSE.
shared_memory_segment_size
Syntax:
set shared_memory_segment_size=integer
Value:
integer
where integer specifies, in bytes, the initial size of the shared memory
block allocated by the RTS. The minimum value you can specify for integer
is 8192 (8K).
Default:
65536 (64 K)
signal_interface
Syntax:
set signal_interface={TRUE|FALSE}
Value:
TRUE or FALSE
TRUE causes the RTS to use the signal() signal handling interface used
before COBOL version 3.2. FALSE causes the RTS to use the more robust
sigaction() signal handling interface, if it is available on your system.
If it is not available the signal() interface is used.
The default value should not need to be changed unless you are using
signal handlers in non-COBOL programs. See the chapter Mixed-Language
Programming for more information on using signal handling in the COBOL
environment. See your operating system documentation for more information
on signal() and sigaction().
Default:
FALSE
skip_on_lock
Syntax:
set skip_on_lock={TRUE|FALSE}
Value:
TRUE or FALSE
Specifies whether or not a READ WITH LOCK of a locked record in a program
compiled with the directive NODETECTLOCK causes a subsequent READ
NEXT/PREVIOUS to reread the logical NEXT/PREVIOUS record or the currently
locked record.
Default:
FALSE
=========================================================================
Micro Focus is a registered trademark of Micro Focus Limited.
Micro Focus COBOL and OSX are trademarks of Micro Focus Limited.
Windows is a trademark of Microsoft Corporation.
OS/2 is a registered trademark of International Business Machines
Corporation.
UNIX is a registered trademark of X/Open Company Limited.
=========================================================================
@(#)Vrn/config.1/4.0.00/30Oct95/nrV
Copyright (C) 1993-95 Micro Focus Limited