Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

   ========================================================================
                           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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026