Execution Environment Variables

This section explains the configuration of execution environment variables, which are used for runtime execution .

EXECUTION - Environment Variables

Variable

Task

JBCBACKGROUND

Set to 1 to run “PORT” as background task

JBCRUNDIR

Set to executable directory for RUN command

JEDIENABLEQ2Q

Set to 1 to force detection of Qptr to Qptr

JEDI_DISTRIB_DEFOPEN

Set to 1 to defer OPENs of distributed file parts

JEDI_SECURE_LEVEL

Set security level for flushable files (such as J3s or jPLUS files)

Level 1. No, flush

Level 2. Flush on link modification

Level 3. Flush after update, default.

(Network failure)

JEDI_INDEX_MMAP_ON

Set to force use of memory mapping on indexes when updating memory mapped files

JEDI_AIX_FILE_MMAP_ON

Set to force use of memory mapping of j4 files on AIX multi-processor machines

JEDI_AIX_OBJECT_MMAP_ON

Set to force use of memory mapping of .el files on AIX multi-processor machines

JEDI_OBJECT_MMAP_OFF

Turn off memory mapping of .el files

JBC_TCLRESTART

Set to command to execute instead of shell

JBC_ENDRESTART

Set to command to execute after end from debugger

JBCRESTARTPROG

Set to command to execute after off

JBCOBJECTLIST

Set to alternate path(s) for user subroutine libraries

Windows - %home%\lib

UNIX - $HOME/lib

JBC_BLOCK_SYSTEM14

Set to 1 to force a 100-millisecond delay on SYSTEM (14) calls.

JBASE_ERRMSG_NON_NUMERIC

Controls behaviour when a numeric operation on a non-numeric value is encountered

JBASE_ERRMSG_ZERO_USED

Controls behaviour when a zero used condition is encountered

JBASE_WIN_TERM_SVR

This should be set on servers running Windows Terminal Server before starting the License Server, and for all sessions wishing to access jBASE licences.

DEVELOPMENT - Environment Variables

Variable

Task

JBCDEV_BIN

Set to alternate path to catalog executables.

Windows - %home%\bin

UNIX - $HOME/bin

JBCDEV_LIB

Set to alternate path to catalog libraries.

Windows - %home%\lib

UNIX - $HOME/bin

 

 

JBCDEBUGGER

Set to 1 to force entry into debugger.

JBCTTYNAME

Specify alternate tty name for output. (UNIX only)

LIB

Specify additional paths for linking with libraries. (NT only)

INCLUDE

Specify additional paths for header files

JPQDEBUG

Set to 1 for PROC to enter “DEBUG” at IP input

MISCELLANEOUS - Environment Variables

Variable

Task

JBCERRFILE

Specify alternate error message file

JBCSPOOLERDIR

Specify alternate spooler directory

JBC_DESPOOLSLEEP

Specify the interval for despoolers to check for queued jobs

JBC_CRREQ

Controls linefeeds, formfeed and carriage returns in print jobs

JBC_OLD_SP_EDIT

Specifies the alternative SP-EDIT format

JBCLISTFILE

Specify alternate select list file

TERMINAL - Environment Variables

Variable

Task

JBCSCREEN_DEPTH

Specify alternate terminal depth

JBCSCREEN_WIDTH

Specify alternate terminal width

JBCPRINTER_DEPTH

Specify alternate printer depth

JBCPRINTER_WIDTH

Specify alternate printer width

JBCPRISM

Set hard coded prism sequences (NT only)

JBC_STDERR

Set to 1 to redirect standard error to standard out. Useful for Capturing output that would normally be sent to the screen.

JBCCREATEFLAGS

Set to 0, 1, and 2 for output redirection. (NT only)

0 Direct to current console (default)

1 Direct to new console

2 Detached for no console

EMBEDDED SQL - Environment Variables

Setting these environment variables overrides the jcompile built-ins when processing files containing Embedded SQL using the -Jq<flavour> option.

Variable

Task

JBC_SQLLIBS

Set alternate SQL libraries for embedded SQL

JBC_SQLPREPROC

Set alternate SQL pre-compiler command

JBC_SQLCOPTS

Set alternate SQL options for C compiler (also passed via nsqlprep for MSSQL)

Example

For Oracle Pro*C Embedded SQL pre-compiler, on Windows the following environment variables can be set (assuming e.g. ORACLE_HOME=C:\Oracle\product\9.2.0.1.0\Client_1):

JBC_SQLLIBS=%ORACLE_HOME%\oci\lib\msvc\oci.lib /libpath:%ORACLE_HOME%\precomp\lib /libpath:%ORACLE_HOME%\precomp\lib\msvc orasql9.LIB
JBC_SQLPREPROC=proc mode=oracle ltype=none ireclen=255 oreclen=255 iname=

Assuming that the PATH environment is also configured for Embedded SQL, the command jcompile -Jqo SqlDemo.b compiles the jBASE BASIC program, including passing it through the Oracle Pro*C pre-processor.

CREATE-FILE - Environment Variables

Variable

Task

JEDI_PREFILEOP

Parameters take precedence before command line

JEDI_POSTFILEOP

Parameters take precedence after command line

Example

To convert all files on jbackup,

  1. Tape to J4 files .
  2. Set the following environment variable using jrestore.
  3. Export JEDI_PREFILEOP=TYPE=J4 (UNIX).
  4. Use quotes to surround multiple parameters.
  5. Set JEDI_PREFILEOP=TYPE=J4 (NT).

    Don’t use quotes

jRFS – Environment Variables

Variable

Task

JBCNETACCESS

Specify the location of the jRFS security access file

JBCNETDIR

Specify the location of the jRFS configuration files

JRFS_SERVERNAME

Allows the jRFS client to override the service port

JRFS_HOSTNAME

Allows the jRFS client to override the target host

PUTENV - Command

It is used to set environment variables for the current process

Command Syntax

PUTENV (expression)

Syntax Elements

Expression should evaluate to a string of the form:

EnvVarName=value

Where EnvVarName is the name of a valid environment variable and value is any string that makes sense to variable being set.

If PUTENV function succeeds, it returns a Boolean TRUE value; if it fails, it returns a Boolean FALSE value.

Notes

PUTENV only sets environment variables for the current process and processes spawned (say by EXECUTE) by this process. These variables are known as export only variables.

See also GETENV.

Example

IF PUTENV (“JBCLOGNAME=”:UserName) THEN
    CRT “Environment configured”
END
GETENV - Command

All processes have an environment associated with them that contains a number of variables indicating the state of various parameters. The GETENV function allows a jBASE BASIC program to determine the value of any of the environment variables associated with it.

Command Syntax

GETENV (expression, variable)

Syntax Elements

The expression should evaluate to the name of the environment variable whose value is to be returned. The function will then assign the value of the environment variable to variable. The function itself returns a Boolean TRUE or FALSE value indicating the success or failure of the function.

Notes

See the UNIX documentation for the Bourne shell (sh) or the Windows on-line help for information on environment variables.  Click here for information regarding environment variables unique to the jBASE system.

See also PUTENV

Example

IF GETENV (“PATH”, ExecPath) THEN
    CRT “Execution path is “:ExecPath
END ELSE
    CRT “Execution path is not set up”
END
PATH

Description

The PATH variable contains a list of all directories that contain executable programs. As a minimum, this should contain the shell default value plus the path /the shell sees usr/jbc/bin so that j JBASE commands. You will also wish to add the path of your application executable directory (such as ${HOME}/bin).

Values

You have privileges for any directory.

Default

The default depends entirely upon your UNIX system and how it has been set up.

Settings

Normal UNIX environment variable, so it can be set at any time by the commands:

UNIX

Windows

PATH=$PATH:/apps/bin
export PATH

 

SET PATH=%PATH%;D:\apps\bin

 

LD_LIBRARY_PATH

Description

This is a SVR4 UNIX only variable and should be set to /usr/jbc/lib.

Values

Colon separated library file paths.

Default

None

Settings

Normal UNIX environment variable, so it can be set at any time by the commands:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/jbc/lib
export LD_LIBRARY_PATH

TERM

Description

On UNIX, this variable should be set to your terminal type as defined by the UNIX terminfo database

On Windows, it should be set to a value in any of the directories under %JBCRELEASEDIR%\misc.

Values

On UNIX, any valid terminfo database entry

On Windows, any file name (up to the underscore) in the directories under %JBCRELEASEDIR%\misc. Additional terminal definitions can be created using the jtic command.

Default

On UNIX, the default depends upon your system and how it has been set up.

Setting

Normal environment variable, so it can be set at any time by the commands:

UNIX

Windows

TERM=vt220
export TERM

SET TERM=vt220

TERMINFO

Description

The TERMINFO environment variable is used for terminal handling. The environment variable is supported only on platforms that provide full support for the terminfo libraries that System V and Solaris UNIX systems provide.

Values

The TERMINFO environment variable defines a directory where the terminal settings are read from.

Default

On UNIX, the default depends upon your system and how it has been set up.

Setting

Normal environment variable, so it can be set at any time by the commands:

UNIX

Windows

TERMINFO=/usr/term
export TERMINFO

SET TERMINFO=c:\term

JBCPORTNO

Description

This defines your current port number and is useful when a particular user wishes to keep the same port number whenever they log on. On UNIX, it takes a sensible default, but this default may change if the UNIX configuration is changed. On Windows, port numbers are allocated sequentially from zero.

Values

Decimal port number

On UNIX, lists and ranges of port numbers can be specified.

Default

None

Setting

UNIX

WINDOWS

Set in the .profile prior to execution of initial jBASE program

set before invoking the jSHELL

Notes

UNIX

Windows

JBCPORTNO=300,304,310,350,360-390
export JBCPORTNO

SET JBCPORTNO=300

On UNIX platforms, jBASE will assign the lowest available port number from the list or range specified. If all port numbers specified by JBCPORTNO are already in use then the user is denied access.
Port number is already logged on and in use

From Port 45, tty /dev/pts/1, JBASE pid 16754

On Windows, if the specified port number is in use then the connecting process is given the next highest port number available. jBASE OBjEX processes are automatically assigned port numbers from 5,000. Processes run in the background (see jstart -b) are assigned port numbers from 10,000 but a GETENV () on JBCPORTNO will always return -1.

JBCLOGNAME

Description

The account name as perceived by commands such as “WHO” or conversions such as U50BB will normally be returned as the login name of the UNIX user (LOGNAME variable). However if you wish your users to login with personal ids but execute as if they were all on the same account you may set this variable to override the default. The account name will be returned to whatever this environment variable is set.

Values

any character string

Default

None

Setting

As per normal environment variable

UNIX

WINDOWS

Setup in the . profile

Set before running any jBASE program

Notes

UNIX

Windows

JBCLOGNAME=PAYROLL
export JBCLOGNAME

SET JBCLOGNAME=HARRY

JBCGLOBALDIR

Description

Defines the directory for jBASE global files

Values

Valid file path

Default

The default value is the same as JBCRELEASEDIR

UNIX

Windows

/usr/jbc

C:\JBASE5\5.2

Setting

UNIX

Windows

As per normal environment variable, should be setup in the *.profile
JBCGLOBALDIR=/usr/jbc
export JBCGLOBALDIR

This is set in the registry when jBASE is installed. See

HKEY_LOCAL_MACHINE/SOFTWARE/JAC/jJBASE/3.0/CURRENT_CONFIG
This value can be overridden by setting JBCGLOBALDIR as an environment variable.

JBCRELEASEDIR

Description

Defines the release directory for the jBASE system executables and libraries

Values

Valid file path is given below.

UNIX

Windows

/usr/jbc (default)

 

C:\JBASE5\5.2 (default)

Setting

UNIX

Windows

On UNIX, as per normal environment variable, should be Set in the .profile prior to execution of initial jBASE program

JBCRELEASEDIR=/usr/jbc3.1
export JBCRELEASEDIR

 

SET JBCRELEASEDIR = c:\jbase5\5.2

 

JBCDATADIR

Description

Defines the location for jBASE to determine any configured databases. Overrides the default setting for the spooler directory.

Notes

When the JBCSPOOLERDIR is not defined, the default setting for the jBASE spooler directory is $JBCDATADIR/jbase_data. When JBCDATADIR is not set, the default setting is $JBCGLOBALDIR/jbase_data.

If the JBCGLOBALDIR is not set, it defaults to $JBCRELEASEDIR. If the JBCRELEASEDIR is not set, the default settings are /opt/jbase5/5.2 (Unix) or c:\jbase5\5.2 (Windows).

Values

Valid file path

UNIX

Windows

/opt/jbase4/4/1/jbase_data

 

C:\JBASE5\5.2\jbase_data

Setting

UNIX

Windows

On UNIX, as per normal environment variable, should be Set in the .profile prior to execution of initial jBASE program

JBCDATADIR=/usr/jbc/data 

SET JBCDATADIR = c:\mydata 

JBCDEFDICTS

Description

Specifies one or more files that are used to hold dictionary items for use by jQL. When JBCDEFDICTS is set, jQL will scan each specified file for dictionary items that cannot be located in the dictionary of the queried file. When JBCDEFDICTS is not set, jQL will scan just the dictionary of the queried file and then the MD / VOC.

Values

Colon separated file paths (Unix)

Semicolon separated file paths (Windows)

Default

None

Setting

UNIX

Windows

JBCDEFDICTS=/mydicts
export JBCDEFDICTS

 

SET JBCDEFDICTS=c:\mydicts

 

JBCEMULATE

Description

When importing legacy applications, this variable tells the jBASE what system it originally ran on. NOTE: that programs and subroutines imported from different systems may be freely mixed.

Values

jBASE, adds, ape, fuj, prime, ros, r83, r91, ultimate, universe.

The values reference labels in the Config_EMULATE file.

Default

The default is jBASE, which will suit most imported applications.

Setting

Normal environment variable, so it can be set at any time by the commands:

UNIX

Windows

JBCEMULATE=Value
export JBCEMULATE

 

SET JBCEMULATE=Value

 

JDIAG

Description

This environment variable provides a variable amount of jBASE trace information depending on which options are specified.

Values

Colon separated name and value pairs from the following options;

profile={off|short|long|user|jcover|all}
filename={stdout|stderr|tmp|pathname,refresh_mins} %p can be used for process ID
memory={off|on|verify}
branch={off|on|verbose}
trace=env_name{,env_name …}

Default

Not set.

Setting

UNIX

Windows

JDIAG=profile=on:branch=on
export JDIAG

 

SET JDIAG=profile=on:trace=on

 

JEDIFILEPATH

Description

This environment variable provides a list of directories in which to search for jBASE data files. If an MD or VOC file is configured with F / Q pointers, these take precedence over the directories in the JEDIFILEPATH.

Values

Colon separated file paths (UNIX)

Semicolon separated file paths (Windows).

Default

The current directory

Setting

As per normal environment variable, so it can be set at any time. The use of relative file paths (such as “.”) should be avoided as it can result in unintended file access.

UNIX

Windows

JEDIFILEPATH=/appvol/WB1:/appvol/WB2:/appvol/WB3
export JEDIFILEPATH

 

SET JEDIFILEPATH=F:\apps\WB1;F:\apps\WB2;F:\apps\WB3

 

JEDIFILENAME_MD

Description

This variable should be used if you require the use of the MD/VOC file to hold Q pointers, jCL programs, paragraphs or entries for the jQL language. If you have loaded an account-save into your home directory then you might wish to set this variable. This will then allow you to:

Execute jCL programs and paragraphs directly from the MD/VOC (using jsh or EXECUTE/CHAIN etc.) On systems with 14 char filename limits, create cross-reference items for executables from the original name to the new name. F pointers and Q pointers in an MD / VOC take precedence over paths in the JEDIFILEPATH.

Values

Valid file path; while it is not required, it is strongly advised that this value be set to the complete path of the MD and not a relative path (as an example, “/home/bob/MD]D” should be used instead of “./MD]D”).

Default

None

Setting

As per normal environment variable, so it can be set at any time by the commands:

UNIX

Windows

JEDIFILENAME_MD=/usr/GLOBAL/MD
export JEDIFILENAME_MD

 

SET JEDIFILENAME_MD=D:\GLOBAL\VOC

JEDIFILENAME_SYSTEM

Description

If you are using Q pointers in a defined MD/VOC file then you may well need to create a SYSTEM file to define the home directories of other accounts. By default Q-pointers are resolved by using the $JBCRELEASEDIR/src/SYSTEM file. Setting the JEDIFILENAME_SYSTEM variable to an alternative hash file or directory can change this.

While it is not required, it is strongly advised that this value be set to the complete path of the system file and not a relative path (as an example, “/home/islandjim/SYSTEM]D” should be used instead of “./SYSTEM]D”).

Values

Valid file path

Default

None

Setting

As per normal environment variable, so it can be set at any time by the commands:

UNIX

Windows

export JEDIFILENAME_SYSTEM=/home/alternative/SYSTEM

 

SET JEDIFILENAME_SYSTEM=D:\home\alternative\SYSTEM

 

JEDIENABLEQ2Q

Description

Resolve this environment variable by setting to Q-pointer-to-Q-pointer chains. The maximum chain length allowed is 11. NOTE:: that this environment variable enables Q-pointer-to-Q-pointer resolution. Q-pointer to F-pointer resolution is not supported.

Values

1

Default

Not set

Setting

As per normal environment variable, the configuration is given below.

UNIX

Windows

JEDIENABLEQ2Q=1
export JEDIENABLEQ2Q 

SET JEDIENABLEQ2Q=1

JEDI_DISTRIB_DEFOPEN

Description

Setting this environment variable will defer the OPENing of component or part files in a distributed file set until the component file is required to be opened by the application program.

Values

1

Default

Not set.

Setting

As per normal environment variable

It should be setup before the main file is accessed.

UNIX

Windows

JEDI_DISTRIB_DEFOPEN=1
export JEDI_DISTRIB_DEFOPEN

 

SET JEDI_DISTRIB_DEFOPEN=1

JEDI_SECURE_LEVEL

Description

Defines the security level for files which support configurable flushing.

Values

S.No

Task

1

Switches off secure mode.

2

When certain changes occur that could corrupt the file in the event of a failure, the file data is flushed from memory to disk. Normal updates will not be flushed.

3

All file updates will cause the file data to be flushed from memory to the disk.

Default

3

Setting

As per normal environment variable

UNIX

Windows

JEDI_SECURE_LEVEL=2
export JEDI_SECURE_LEVEL

SET JEDI_SECURE_LEVEL=2

 

Performance Implications

There is a performance penalty to pay for running in secure mode levels 2 and 3.

Level 2 will protect against file corruption by flushing the file from memory to disk when certain operations occur. However, it will not protect against loss of data. Most operating systems will periodically flush this data, usually a tuneable system and often with a default of every 60 seconds. Therefore, if you can withstand a loss of up to 60 seconds of data, and your primary concern is that the files are not corrupted in the event of a system failure, then this is the level for you. Minimal impact on performance is seen so long as your files are properly sized. Even if they go out of the main group, performance is only impacted if the extended group size keeps varying considerably.

Level 3 will protect against almost everything including loss of data. This impacts most  on the system. The actual level of performance impact depends greatly on your application. For example, most of your updates may be to very large files in a pseudo-random manner (e.g. updating stock records, customer details etc.). In this situation, all this does is move the overhead from the operating system flush daemon that runs about every 60 seconds (see Level 2 above) to the process doing the update. Therefore, it may be a case of “What you lose on the roundabouts you gain on the swings!” On the other hand, you may have a small file regularly being updated with things like current days orders. In this case the impact will be substantial as you will be causing a disk update for each application WRITE, whereas without this you might do many of these WRITEs before the operating system daemon does a single write.

Another way to control your flushing of data to disk is to use transaction boundaries. For example, the following jBASE BASIC code will cause all data to be flushed to disk for all files regardless of the file type or file status

TRANSTART ELSE PRINT “Error” ; STOP
WRITE record1 TO filevar1
WRITE record2 TO filevar2
TRANSEND SYNC ELSE PRINT “Error” ; STOP

This mechanism guards against data loss but is less effective in protecting against file corruption should the server fail while the TRANSEND is actually in progress.

You should set JEDI_SECURE_LEVEL=1 when doing batch updates on a secure mode file. For example, when copying a number of records from a temporary file to a secure mode file called CUSTOMERS:

jsh -->export JEDI_SECURE_LEVEL=1
jsh -->COPY TEMPFILE * (O
TO: (CUSTOMERS
1217 Record(s) copied
jsh -->unset JEDI_SECURE_LEVEL

In the above example the secure mode is disabled during the COPY, command and so will perform much quicker. When the COPY is completed, it is normal operating system practice to flush all modified file data to disk anyway.

Refer also: CREATE-FILE, Transaction Boundaries, Transaction Journaling

JBC_TCLRESTART

Description

Enables the Command Level Restart feature

Values

Restart Program

Default

Command Level Restart feature disabled

Setting

UNIX

Windows

Create the JBC_TCLRESTART environment variable in the .profile prior to execution of initial jBASE program

Set before any jBASE program is invoked. The environment variable should contain the command string to execute when the user would otherwise go to a shell Prompt.

To later enable the feature, use the BITSET(-2); to later disable the feature, use the BITRESET(-2)

JBC_ENDRESTART

Description

Enables the Break/End Restart feature

Values

Restart program name

Default

Break/End Restart feature disabled

Setting

UNIX

Windows

Create the JBC_ENDRESTART environment in the .profile prior to execution of the initial jBASE program

Set before any jBASE program is run. The environment variable should contain the command string to execute when the debugger is entered/exited.

 

To later enable the feature, use the BITSET (-3); to later disable the feature, use the BITRESET (-3).

JBCOBJECTLIST

Description

Defines the directories to find user shared object libraries where user subroutines are located.

Values

File paths Colon separated on UNIX. Semi-colon separated on Windows.

Default

%HOME%\lib (Windows)
$HOME/lib (UNIX)
NOTE: It is good practice to set JBCOBJECTLIST explicitly rather than relying on the default setting. This is because the value of the HOME environment variable may change (for example after a LOGTO).

Setting

UNIX

Windows

Set in the .profile before execution of the initial jBASE Program.

JBCOBJECTLIST=$HOME/lib:/home/TESTJBASE/lib
export JBCOBJECTLIST

Set before the jSHELL is invoked.

SET JBCOBJECTLIST=%HOME%\lib;C:\dev\TESTJBASE\lib

JBC_BLOCK_SYSTEM14

Description

When this environment variable is set, it calls SYSTEM(14) which results in a 100-millisecond delay.

Values

1

Default

Not set

Setting

As per normal environment variable, the environment variable can be set dynamically with PUTENV

UNIX

Windows

 

JBC_BLOCK_SYSTEM14=1
export JBC_BLOCK_SYSTEM14

 

SET JBC_BLOCK_SYSTEM14=1

NOTE: Looking for type ahead data using SYSTEM(14) in a tight loop can have a detrimental impact on system performance because left unchecked, such loops can consume all available system resources. With JBC_BLOCK_SYSTEM14 set, each call to SYSTEM(14) incurs a 100-millisecond delay, so a loop with SYSTEM(14) doesn’t waste system resources by looping too quickly.

It should be noted that the accuracy of the pause is dependent on the granularity of the system clock and the load on the system. Most operating systems and hardware will provide a granularity of 10 milliseconds.

JBASEUNIQUE

Description

When this environment variable is set to a directory, jBASE dynamically creates and deletes workfiles jBASEWORK_nn where nn is the port number. This can be used in place of JBASETMP.

Values

Any valid directory.

Default

Not set

Setting

UNIX

Windows

JBASEUNIQUE=$HOME/jBASEWORK
export JBASEUNIQUE

SET JBASEUNIQUE=%HOME%\jBASEWORK

Setting this environment variable is recommended in a high user environment as a single workfile for all ports can result in a bottleneck.

JBASE_ERRMSG_NON_NUMERIC

Description

Defines behaviour when a BASIC program encounters a numeric operation being attempted on a non-numeric value. The default behaviour is to raise an error and drop into the debugger.

Values

S.No

Task

1

Don’t display an error message

2

Don’t enter the debugger

16

Caller to place “0” in the target variable after operation

32

Caller to place “” in the target variable after operation

64

Caller to leave target variable alone after operation

128

Caller to place source variable in the target variable after operation

Default

0 - Raise an error and drop into the debugger.

Setting

The value stored in a bit mask so different behaviours can be combined by adding them together. For example, to suppress the error message and avoid going into the debugger – set the variable to 3. As per normal environment variable, the environment variable can be set dynamically with PUTENV

UNIX

Windows

JBASE_ERRMSG_NON_NUMERIC=3
export JBASE_ERRMSG_NON_NUMERIC

SET JBASE_ERRMSG_NON_NUMERIC=3

NOTE: Supersedes JBASE_WARNLEVEL from previous versions of jBASE..
JBASE_ERRMSG_TRACE

Description

Defines behaviour when a BASIC program encounters an error

Values

1 – Log an error message to $JBCRELEASEDIR/tmp/jbase_error_trace

Default

0 – Do not log the error.

Setting

The only valid values for this variable are 1 or 0. Setting this variable will not interfere with the behaviour set by other JBASE_ERMSG environment variables. As per normal environment variables, it can be set dynamically using PUTENV

UNIX

Windows

JBASE_ERRMSG_TRACE=1
export JBASE_ERRMSG_TRACE

SET JBASE_ERRMSG_TRACE=1

NOTE: Supersedes JBASE_WARNLEVEL from previous versions of jBASE.
JBASE_ERRMSG_ZERO_USED

Description

Defines behaviour when a BASIC program encounters a null variable. The default behaviour is to raise an error and drop into the debugger.

Values

S.No

Task

1

Don’t display an error message

2

Don’t enter the debugger

16

Caller to place “0” in the target variable after operation

32

Caller to place “” in the target variable after operation

64

Caller to leave target variable alone after operation

128

Caller to place source variable in the target variable after operation

Default

0 - Raise an error and drop into the debugger.

Setting

The value stored in a bit mask so different behaviours can be combined by adding them together. For example, to suppress the error message and avoid going into the debugger – set the variable to 3. As per normal environment variable, the environment variable can be set dynamically with PUTENV

UNIX

Windows

 

JBASE_ERRMSG_ZERO_USED=3
export JBASE_ERRMSG_ZERO_USED

 


SET JBASE_ERRMSG_ZERO_USED=3

NOTE: Supersedes JBASE_WARNLEVEL from previous versions of jBASE.
JBASE_WIN_TERM_SVR

Description

This should be set on servers running Windows Terminal Server before starting the License Server, and for all sessions wishing to access jBASE licences. It enables global access to shared memory to enable MTS sessions to obtain a jBASE licence.

Values

Set or unset.

Default

Unset.

Setting

UNIX

Windows

N/A

SET JBASE_WIN_TERM_SVR=1

JBASE_SVR_SESSION

Description

On a machine with mixed enterprise and server licenses available, indicates that a server license is required.

Values

Set or unset.

Default

Unset.

Setting

On sites with both server and enterprise licenses installed, an enterprise license will be assumed unless JBASE_SVR_SESSION is set to 1. With server only licenses installed, JBASE_SVR_SESSION must be set in order to obtain a license. Failure to do so will result in a licensing error. With enterprise only licenses installed, setting this environment variable will not allow a license to be allocated and a license error will be produced.

UNIX

Windows

JBASE_SVR_SESSION=1
export JBASE_SVR_SESSION

SET JBASE_SVR_SESSION=1

JBC_INVERT_ALPHA_CHARS

Description

It is provided to emulate input on UniVerse systems. If this environment variable is set, all INPUT, KEYIN() and IN statements receive input values in the opposite case. In other words, lower case characters become upper case and vice-versa. Characters within cursor control sequences are also inverted, consequently up, down, left and right arrows will no longer work as required with this variable set.

Values

Set or unset.

Default

Unset.

UNIX

Windows

JBC_INVERT_ALPHA_CHARS=1
export JBC_INVERT_ALPHA_CHARS

SET JBC_INVERT_ALPHA_CHARS=1

Copyright © 2020- Temenos Headquarters SA

Published on :
Wednesday, October 12, 2022 6:56:56 PM IST

Feedback
x