Execution Environment Variables
This section explains the configuration of execution environment variables, which are used for runtime execution .
|
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. |
|
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 |
|
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 |
|
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 |
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.
|
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,
- Tape to J4 files .
- Set the following environment variable using jrestore.
- Export JEDI_PREFILEOP=TYPE=J4 (UNIX).
- Use quotes to surround multiple parameters.
- Set JEDI_PREFILEOP=TYPE=J4 (NT).
Don’t use quotes
|
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 |
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
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
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
|
SET PATH=%PATH%;D:\apps\bin
|
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
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 |
SET TERM=vt220 |
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 |
SET TERMINFO=c:\term |
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 |
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. 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. |
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 |
SET JBCLOGNAME=HARRY |
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 |
This is set in the registry when jBASE is installed. See HKEY_LOCAL_MACHINE/SOFTWARE/JAC/jJBASE/3.0/CURRENT_CONFIG |
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
|
SET JBCRELEASEDIR = c:\jbase5\5.2
|
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 |
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
|
SET JBCDEFDICTS=c:\mydicts
|
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
|
SET JBCEMULATE=Value
|
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
|
SET JDIAG=profile=on:trace=on
|
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
|
SET JEDIFILEPATH=F:\apps\WB1;F:\apps\WB2;F:\apps\WB3
|
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
|
SET JEDIFILENAME_MD=D:\GLOBAL\VOC |
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
|
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 |
SET JEDIENABLEQ2Q=1 |
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
|
SET JEDI_DISTRIB_DEFOPEN=1 |
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 |
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
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)
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).
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)
Setting
|
UNIX |
Windows |
|---|---|
|
Set in the .profile before execution of the initial jBASE Program. JBCOBJECTLIST=$HOME/lib:/home/TESTJBASE/lib |
Set before the jSHELL is invoked. SET JBCOBJECTLIST=%HOME%\lib;C:\dev\TESTJBASE\lib |
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
|
SET JBC_BLOCK_SYSTEM14=1 |
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.
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 |
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.
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 |
SET JBASE_ERRMSG_NON_NUMERIC=3 |
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 |
SET JBASE_ERRMSG_TRACE=1 |
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
|
|
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 |
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 |
SET JBASE_SVR_SESSION=1 |
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 |
SET JBC_INVERT_ALPHA_CHARS=1 |
In this topic