---+ Environment Variables List <p align="left">This document describes Environment Variables recognized by APPX 4.1. Most are also recognized by earlier APPX releases, as noted. This document is divided into three sections:</p> <p align="left">%TOC%</p> Information on setting Environment Variables can be found at [[SettingEnvironmentVariables][Setting Environment Variables]]. General Environment Variable information can be found at [[APPXEnvironmentVariables][APPX Environment Variables]]. <hr size="2"></hr> ---++ General Environment Variables Categories included in this section are: <ul type="disc"> <li> <ul type="circle"> <li><span style="font-size: x-small;">AppxNET Client (also !AppxODBC) </span></li> <li><span style="font-size: x-small;">Backward Compatibility </span></li> <li><span style="font-size: x-small;">General </span></li> <li><span style="font-size: x-small;">Import/Export </span></li> <li><span style="font-size: x-small;">KEAterm Configuration </span></li> <li><span style="font-size: x-small;">Presentation Server </span></li> <li><span style="font-size: x-small;">Printing and Job Submission </span></li> <li><span style="font-size: x-small;">Scripting and Regression Testing </span></li> <li><span style="font-size: x-small;">UNIX-based APPX client </span></li> <li><span style="font-size: x-small;">Windows </span></li> </ul></li> </ul> <span style="font-size: x-small;">In general, when looking for relevant environment variables, look in the category you think makes the most sense. We attempted to categorize these variables in a logical fashion, however, some judgment calls were made, and the "internal" viewpoint toward the use of these variables might be different than yours, so if you don't see what you need in the category you visit first, keep looking in related categories and the "General" category. </span> | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">AppxNET Client (also !AppxODBC)</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DATA_SERVER</span></strong> || | | <p><span style="font-size: x-small;">Specifies the hostname:port to which your client will connect, to retrieve APPX data. It should be set to your APPX server's machine name, followed by a colon ":" character, followed by a port number, such as 8060. The hostname and port specified must correspond to a running !WinAppxD or appxd (you can test this by trying to login to the desired hostname and port with "appx -c" or the Java client). Almost always required when using !AppxODBC on a PC, to access UNIX data. </span></p> <p><span style="font-size: x-small;">Valid values: hostname:port <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_UID</span></strong> || | | <p><span style="font-size: x-small;">The server user ID and password to be used for authentication of your !AppxNET connection. The user ID and password must exist, and be non-expired, for login to be successful. Almost always required when using !AppxODBC on a PC, to access UNIX data. </span></p> <p><span style="font-size: x-small;">Valid values: server_userid:server_password <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Backward Compatibility</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ACCESS_ALL_FILES</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to revert to pre-3.2 file opening behavior, if set to 1. In APPX 3.2, a performance optimization was made, to cause APPX to only open a file if it believes there is a chance of I/O actually being performed with that file. Prior to release 3.2, APPX would open any file, which was referred to by a process. </span></p> <p><span style="font-size: x-small;">For example, in APPX 3.1, the statement: </span></p> <p><span style="font-size: x-small;">SET TAR CUSTOMER BALANCE = 0 </span></p> <p><span style="font-size: x-small;">Would cause APPX to open the CUSTOMER file even though no IO would take place. </span></p> <p><span style="font-size: x-small;">Also, referring to a file in a child constraint would cause APPX to open the file when the parent is executed. </span></p> <p><span style="font-size: x-small;">Now, in 3.2, we only open a file if we detect one or more of the following reference types: </span></p> <ul type="disc"> <li><span style="font-size: x-small;">The file is the PCF for the process </span></li> <li><span style="font-size: x-small;">READ, READNEXT, BEG/END READ statement </span></li> <li><span style="font-size: x-small;">WRITE< REWRITE, DELETE statement </span></li> <li><span style="font-size: x-small;">SCAN statement </span></li> <li><span style="font-size: x-small;">The file is the target of a data lookup </span></li> </ul><p><span style="font-size: x-small;">If you are experiencing problems with a process under 3.2 or later, and you know that process ran fine on a version of APPX prior to 3.2; try setting APPX_ACCESS_ALL_FILES=1 and see if the problem goes away. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_184_MASKS</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to revert to version 1.8.4 (and earlier) numeric mask interpretation, if set to 1. Otherwise, APPX uses the new default numeric mask interpretation in APPX 2.0 and later. (Hopefully no one still needs this, but it's here for completeness.) </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_200_ALIGNMENT</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to revert to version 2.0 (and earlier) alignment for numeric fields, if set to 1. Otherwise, APPX uses the new default numeric alignment in APPX 2.2 and later. (Hopefully no one still needs this, but it's here for completeness.) </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_184_IPC</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to revert to pre-2.0 IPC semantics for Related processes, if set to 1. (Hopefully no one still needs this, but it's here for completeness.) </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NO_NEG_INT</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to revert to pre-3.3 semantics when assigning a negative number to a signed binary. For some reason, assigning a negative number to a signed binary would cause an overflow in releases prior to 3.3. In case for some unknown reason you really do want the overflow to occur, you can turn the old behavior back on, by setting APPX_NO_NEG_INT to 1. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: <em>{appx engine location}</em>/data </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_VERIFY_IO</span></strong> || | | <p><span style="font-size: x-small;">If set to '0' (the digit zero, without quotes), I/O verification is turned off. If the environment variable is not defined at all, I/O verification is turned on for Windows, and off for UNIX. You might want to turn this off if you are confident of your Windows network file access, or if you are using Presentation Server on Windows, because there is a performance penalty associated with I/O verification, which will show up under heavy user load as an increase in I/O counts and CPU utilization. (Why use it at all? Because Microsoft Windows network file sharing code has some bugs that have been known to corrupt data in APPX and other database file environments.) </span></p> <p><span style="font-size: x-small;">Valid values: 0 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_OLD_PD_MUL</span></strong> || | | <p><span style="font-size: x-small;">This variable probably should not be used. It disables fixes to packed decimal multiplication that were made to APPX version 3.0. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DISABLE_DYNAKEYS</span></strong> || | | <p><span style="font-size: x-small;">If set to 1, disables the ability of end users to create Dynamic Keys to data files. Dynamic Keys were a new feature added in a recent 3.x release of APPX, and sometimes sites have huge files that would require lots of processing and disk space to create a dynamic key. For this reason, a site might choose to not implement this feature on their production system, or might choose to restrict certain users from using it, by setting this environment variable. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DYNA_LOG</span></strong> || | | <p><span style="font-size: x-small;">File name into which to log Dynamic Key generation debug information. If you've generated a Dynamic Key, and you get no records in the resulting key, or experience some other problem, set this variable to collect more information as to what is happening during dynamic key generation. If this variable is not set, no debug information is collected. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a writable log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SCAN_PROC</span></strong> || | | <p><span style="font-size: x-small;">This variable instructs APPX to use an alternate SCAN process. It is made obsolete by the use of 0SA 'Hook' records in APPX 4.0 and higher).</span></p> <p><span style="font-size: x-small;">Valid values: Name of alternate SCAN process <br />Default value: (in 4.0 and later, new SCAN process) </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">General</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPXPATH</span></strong> || | | <p><span style="font-size: x-small;">This variable denotes the default location of the APPX system administration files, applications and database files. You can override the location of the system administration files using the APPX_0SA_PATH variable, and override the location of any files via FMS groups. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to APPX data files directory on your system <br />Default value: <em>{appx engine location}</em>/data </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_0SA_PATH</span></strong> || | | <p><span style="font-size: x-small;">This variable tells a PC network node to look to a server's disk drive for its _APPX System Administration_ files. One situation in which you might want to do this is to run several copies of APPX on networked PC's, while sharing a single set of System Administration settings like the User list, Printer list, etc. </span></p> <p><span style="font-size: x-small;">Side note: To tell a PC network node to store its _Application Design_ files on a server's disk drive, but keep Em's on the local PC's drive (for performance), define an FMS group as follows: </span></p> <pre> FMS Path: R:\APPX\data</pre> <pre> FMS Controls: EM=C:\APPX\local_data</pre> <p><span style="font-size: x-small;">... where FMS Path is a path to the APPX applications stored on a server's disk, and the EM= value is a path to an existing directory on the local PC, into which Em's can be cached. Then assign the application design files to this FMS group, for any application whose Em's you would like cached in this fashion. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a server's disk drive, in which to find the 0SA directory, such as R:\APPX\data <br />Default value: APPX looks for them under the APPXPATH directory </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_KEYMAP</span></strong> || | | <p><span style="font-size: x-small;">This variable can be set to the name of the default keymap to load. This is the same as using the -m= command line option. </span></p> <p><span style="font-size: x-small;">Valid values: Any valid keymap name for your APPX installation <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SMART_ILF</span></strong> || | | <p><span style="font-size: x-small;">This variable controls the behavior of the ILF editor. Setting it to 'true' will activate automatic copying of T/F flags from line to line, and auto completion of BEG READ/END READ commands and BEG LOOP/END LOOP commands. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p>| | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SHOW_PROGRESS</span></strong> || | | <p><span style="font-size: x-small;">Activates a running status message during Query and related Output and Update processes. This message will keep you informed as to the progress of the batch process. Number of records processed, number of records selected, etc. The message is updated every record until it reaches 10, then it updates every 10 records until it reaches 100, then it is updated every 100 records, etc. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_MSG</span></strong> || | | <p><span style="font-size: x-small;">If defined, the value of this variable is centered on the bottom line of the screen. Setting this variable to `hostname` (UNIX only) and/or $APPXPATH is useful. (Warning: if you want to use `hostname`, it must be set at the shell level like in .profile, not in appx.env, as only the shell can interpret ``'s.) </span></p> <p><span style="font-size: x-small;">Valid values: Any text string, or `command` (where the output of command, is the text that will be displayed) <br />Default value: none </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DYNAKEY_PROMPT</span></strong> || | | <p><span style="font-size: x-small;">Sets a threshold of records processed during Dynamic Key creation, at which APPX will display a warning message and ask the user if they really want to continue building the Dynamic Key, or if they want to cancel the Dynamic Key creation process. The default is 1000 records. To change the default, set this variable to the number of records at which you want the warning to appear. Note that this is an absolute value, not an interval. That is, if you set this to 2000, you will not receive the warning every 2000 records. The warning and Cancel opportunity will be displayed just ONCE, after the 2000th record processed. </span></p> <p><span style="font-size: x-small;">Valid values: Integer <br />Default value: 1000 </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_STD_PGH_MASK</span></strong> || | | <p><span style="font-size: x-small;">Sets the date mask for dates displayed in page headings. For example, you could set APPX_STD_PGH_MASK to "06/05/0807 - 04:03 02.1", and your page heading dates would come out like "03/25/1999 - 00:18 13.82". </span></p> <p><span style="font-size: x-small;">Valid values: Valid APPX date mask <br />Default value: System or application date mask, if set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ZERO_MALLOC</span></strong> || | | <p><span style="font-size: x-small;">This variable should no longer be set for sites running APPX 3.0 or later, because it was a workaround for a bug which was fixed in version 3.0. Since there is a slight performance impact to the workaround, if you don't NEED this variable (i.e., if you are not running a pre-3.0 APPX), don't set it. </span></p> <p><span style="font-size: x-small;">Valid values: 1 (set this only if running a pre-3.0 version of APPX) <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Import/Export</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PORTABLE_DATE</span></strong> || | | <p><span style="font-size: x-small;">Set this to ignore the "Bad portable date" error, which sometimes appears very often (hundreds of times or more) when importing SPEED II files which contain dates. The reason it occurs is that SPEED II would allow you to store invalid dates in a date field via ILF code, whereas APPX will reject any invalid date during import. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">KEAterm Configuration</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_KEATERM</span></strong> || | | <p><span style="font-size: x-small;">If APPX_KEYMAP=keaterm, certain features are activated inside the engine to simulate GUI functionality. APPX_KEATERM allows you to select whether a set of "smart buttons" for APPX will be displayed by the terminal emulator. The use of the KEA terminal emulator to provide limited GUI functionality has been superseded by our true GUI clients. </span></p> <p><span style="font-size: x-small;">Valid values: Buttons, !NoButtons <br />Default value: not set </span></p> | | <span align="center"><span style="font-family: Arial;"> *Presentation Server (appxd and !WinAppxD)* </span></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SERVER</span></strong> || | | <p><span style="font-size: x-small;">This variable must be set to a valid filename of an appx engine. For example, if you had installed APPX in /usr/appx, you would set APPX_SERVER=/usr/appx/appx. On UNIX systems, in most cases, you would set this variable in the start-appxd.sh shell script On Windows systems, you would set it in the System environment variables dialog box. This variable must be set _before_ appxd or !WinAppxD is started. Changes made to it when appxd and !WinAppxD are already running will not be used until the appxd or !WinAppxD is killed and restarted. </span></p> <p><span style="font-size: x-small;">Valid values: Valid path to an appx engine <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DISABLE_TCP_NODELAY</span></strong> || | | <p><span style="font-size: x-small;">This disables the use of the TCP "NODELAY" option. The NODELAY option sends out characters without the buffering of multiple characters into a single packet that normally takes place. Disabling NODELAY may improve your APPX Presentation Client or !AppxNET performance. (It also may not. Results are dependent on your network configuration and exactly what you're doing across the network.) </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NET_FEATURE_MASK</span></strong> || | | <p><span style="font-size: x-small;">Allows you to hard code a list of supported client/server features, in case for some reason you want to override the client or server's default list. For example, if both your client and server support the new Data Palette feature, but you don't want to make this feature available, you could disable it by eliminating the bit representing that feature, from the feature mask on the client or server. This variable should be used only as directed by APPX Technical Support. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: APPX-version-dependent </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SRVR_TIMEOUT</span></strong> || | | <p><span style="font-size: x-small;">Specifies the interval in minutes between "is the other system alive?" pings, in an attempt to detect dead connections. The default is 10. If you set it to a number below 5, it will be reset to 5, so that the network is not filled with constant "are you there?" queries. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: 10 </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Printing and Job Submission</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PRT_SCRIPT</span></strong> || | | <p><span style="font-size: x-small;">Tell APPX to use a different script to process print jobs. Commonly set to "appx_print_asi" when users are running !PowerQ. If you don't specify a full path (starting with / or \), APPX will assume the script or .exe is in the APPXPATH directory. </span></p> <p><span style="font-size: x-small;">Valid values: Path to valid print script or .exe <br />Default value: %APPXPATH%\WINPRINT.EXE (Windows) or $APPXPATH/appx_print (UNIX) </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PRT_SCRIPT_HIDE</span></strong> || | | <p><span style="font-size: x-small;">If this variable is set, when APPX invokes the APPX_PRT_SCRIPT on Windows, it will do so without displaying a visible window on the screen. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_BG_SCRIPT</span></strong> || | | <p><span style="font-size: x-small;">Tell APPX to use a different script to submit batch jobs marked as Separate Task? Y. This is commonly used to interface APPX to batch job scheduling systems. </span></p> <p><span style="font-size: x-small;">Valid values: Path to valid batch job submission script or .exe <br />Default value: $APPXPATH/appx_submit (UNIX) </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PRT_FI_DIR</span></strong> || | | <p><span style="font-size: x-small;">Set the disk location where print files are created and stored on your system. __This variable must end with a forward slash / on UNIX, and a backslash \ on Windows.__ </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a writable directory <br />Default value: %APPXPATH%\print\{userID} (Windows) or /tmp/ (UNIX) </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SUPPRESS_UID_SWITCH</span></strong> || | | <p><span style="font-size: x-small;">UNIX-only. Normally, when APPX creates a print file, it will change the print file's ownership to the logged-in user. This provides a measure of security, so that multiple users don't go reading each others' print files. In some situations, though, you DO want all print files owned by 'appx' rather than individual users. Setting this variable tells APPX not to change print file ownership; all print files will remain owned by 'appx'. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PRT_FI_SIZE</span></strong> || | | <p><span style="font-size: x-small;">VMS-only. Specifies how much space to pre-allocate for a print file. This is a performance option required by a prior user. </span></p> <p><span style="font-size: x-small;">Valid values: Integer <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Scripting and Regression Testing</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SCRIPT_OUT</span></strong> || | | <p><span style="font-size: x-small;">APPX_SCRIPT_OUT will record all enduser keystrokes (and selected Processes executed in the program flow) into an output file. This file is quite readable, and is editable for the use of APPX_SCRIPT_IN (described below). It is initialized upon entering APPX. It is not populated until APPX is successfully exited. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a script recording file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SCRIPT_IN</span></strong> || | | <p><span style="font-size: x-small;">APPX_SCRIPT_IN will "play back" all keystrokes recorded in it, into the invocation of the APPX engine, as if the enduser had manually pressed these keys. It will also substitute any #$word sequences it finds, in the APPX_SCRIPT_IN file, with the current value of the environment variable "word". For example, #$USER would substitute in "michael" if the environment variable USER was set to "michael". </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to an existing script on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SCRIPT_STEP</span></strong> || | | <p><span style="font-size: x-small;">APPX_SCRIPT_STEP if set will cause APPX to pause before each APPX OPTION key is sent from the script. While paused, you can press certain keys to do special processing. Here is a list of the actions and keys that work while you are paused. </span></p> <ul type="disc"> <li><span style="font-size: x-small;">c = continue running remainder of script without stepping. </span></li> <li><span style="font-size: x-small;">p = pause and you take over the keyboard until you press ^r </span></li> <li><span style="font-size: x-small;">e = terminate script playback and take control of the session. </span></li> </ul><p><span style="font-size: x-small;">Any other key will step forward in the script until the next APPX OPTION key is encountered in the script and then it will pause again. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_TST_DIR</span></strong> || | | <p><span style="font-size: x-small;">APPX_TST_DIR points to a directory to capture screen images. If this is set, APPX will record every screen image it comes to into this location. If you are running with APPX_SCRIPT_OUT set, then it will store the images in a subdirectory of "expect" and if you are running with APPX_SCRIPT_IN set, then they will be stored in a subdirectory of "actual". The screens themselves will be saved with a file name starting with "screen000" and incrementing the last three digits. </span></p> <p><span style="font-size: x-small;">Valid values: Writable directory on your system, which contains writable subdirectories named "expect" and "actual" <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SCRIPT_STOP</span></strong> || | | <p><span style="font-size: x-small;">Specifies behavior of APPX when running with APPX_SCRIPT_IN set, performing regression testing. When set to "ALL", causes APPX to exit when a recorded screen differs from an actual screen generated during regression test playback. When set to "STATUS", causes APPX to exit when a recorded screen's status area differs from the status area of an actual screen generated during regression test playback. </span></p> <p><span style="font-size: x-small;">Valid values: "ALL" or "STATUS" <br />Default value: not set. </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">UNIX-based APPX client</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_USER</span></strong> || | | <p><span style="font-size: x-small;">Only when using a UNIX system as an APPX client. Specifies the user ID to be used to authenticate to the remote system APPX_HOST. Used in conjunction with APPX_PSWD, APPX_HOST and APPX_PORT variables. </span></p> <p><span style="font-size: x-small;">Valid values: User ID on the remote system specified by APPX_HOST <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PSWD</span></strong> || | | <p><span style="font-size: x-small;">Only when using a UNIX system as an APPX client. Specifies the password for APPX_USER, to be used to authenticate to the remote system APPX_HOST. Used in conjunction with APPX_USER, APPX_HOST and APPX_PORT variables. </span></p> <p><span style="font-size: x-small;">Valid values: Password for APPX_USER on the remote system specified by APPX_HOST <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_HOST</span></strong> || | | <p><span style="font-size: x-small;">Only when using a UNIX system as an APPX client. Specifies the APPX server hostname to connect to. This hostname must be running appxd (UNIX) or !WinAppxD (Windows). Used in conjunction with APPX_USER, APPX_PSWD and APPX_PORT variables. </span></p> <p><span style="font-size: x-small;">Valid values: Valid hostname running appxd or !WinAppxD <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PORT</span></strong> || | | <p><span style="font-size: x-small;">Only when using a UNIX system as an APPX client. Specifies the port to connect to on APPX_HOST, to begin an APPX Presentation Server client session. There must be an appxd (UNIX) or !WinAppxD (Windows) running on this port on APPX_HOST, for the connection to succeed. Used in conjunction with APPX_USER, APPX_PSWD and APPX_HOST variables. </span></p> <p><span style="font-size: x-small;">Valid values: Valid port number on APPX_HOST which an appxd or !WinAppxD is running <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_REMAP</span></strong> || | | <p><span style="font-size: x-small;">Only when using a UNIX system as an APPX client. Trigger keyboard remapping, if set to 1. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Windows</span></strong></span> || | | | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_BIG_BUTTONS</span></strong> || | | <p><span style="font-size: x-small;">For the APPX Win32 client ("appx -c"), specifies that the "big button" GUI style should be used. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NET_HASP</span></strong> || | | <p><span style="font-size: x-small;">Specifies a network security HASP to login to. This has been made obsolete by new HASP processing which is local and does not use a HASP server, but is documented here in case a site still uses it. </span></p> <p><span style="font-size: x-small;">Valid values: Network security HASP server <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Y2K Options</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PIVOT_ITEMS</span></strong> || | | <p><span style="font-size: x-small;">If you want masked date items to pivot, set this to the year around which you wish to pivot. Available as of 3.5.2. Applies to date-masks only. See the [[/assets/asp/dynamic_generator.asp?pageid=705][Y2K Implementation Guide]] for further information.</span></p> <p><span style="font-size: x-small;">Valid values: 1 to 99 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PIVOT_YEAR</span></strong> || | | <p><span style="font-size: x-small;">To pivot 2-digit years to 19__ or 20__ as appropriate, set this variable to the cutoff year. Applies to both ILF statements, and date-masks. See the [[/assets/asp/dynamic_generator.asp?pageid=705][Y2K Implementation Guide]] for further information.</span></p> <p><span style="font-size: x-small;">Valid values: 00 to 99 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_FAKE_TIME</span></strong> || | | <p><span style="font-size: x-small;">If you want to cause APPX to think the current date/time is something other than the current system clock's date and time, you can set this variable to "fake it out" for !Y2K testing. The date/time listed in this variable will be used at the start of the APPX session. Time will tick forward from that point, so that an hour later, the time reported by APPX will be an hour later than the time it started with. (IE, this will not "fix" a set date and time for the entire session, just a starting point for it.) Theoretically, APPX_FAKE_TIME is supposed to set the time as well as the date, but multiple users have reported that while the time is reset, it is reset to some random value rather than the one requested, so caveat emptor. This variable should be set to a hardcoded date in APPX format. For example, to get a date of 6/15/2001 8:00am, you might set APPX_FAKE_TIME=20010615100000. </span></p> <p><span style="font-size: x-small;">Valid values: date/time in ASCII format <br />Default value: not set </span></p> | <hr size="2"></hr> ---++ Database Interfaces <span style="font-size: x-small;">This section contains a list of external database interface environment variables recognized by APPX 4.1. Most are also recognized by earlier releases, as noted. </span> <span style="font-size: x-small;">Categories included in this section are: </span> <ul type="disc"> <li> <ul type="circle"> <li><span style="font-size: x-small;">ISAM Configuration </span></li> <li><span style="font-size: x-small;">ODBC </span></li> <li><span style="font-size: x-small;">ORACLE </span></li> <li><span style="font-size: x-small;">RDBMS Configuration </span></li> <li><span style="font-size: x-small;">SYBASE </span></li> <li><span style="font-size: x-small;">Vision </span></li> </ul></li> </ul> <span style="font-size: x-small;">In general, when looking for relevant environment variables, look in the category you think makes the most sense. We attempted to categorize these variables in a logical fashion, however, some judgment calls were made, and the "internal" viewpoint toward the use of these variables might be different than yours, so if you don't see what you need in the category you visit first, keep looking. </span> | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - ISAM Configuration (Vision/CISAM)</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PD_SIGNS</span></strong> || | | <p><span style="font-size: x-small;">APPX_PD_SIGNS will tell APPX what byte pattern to use for the sign bits of packed decimal numbers. The first hex digit signifies the bit pattern for positive numbers, and the second the bit pattern for negative numbers. The default is "CD" which is how APPX is normally distributed. Vision uses a default of "FD" which can be overridden when the vision programs are compiled. This setting also effects the APPX EMs which store some packed decimal information. This setting also effects files stored as native APPX files. So, to use this setting of "FD", you must install a special set of APPX internal EMs, and if you have and existing data in "CD" format, you must export the data, set the APPX_PD_SIGNS=FD, then import. Note that if you are accessing Vision/CISAM files over the network via !AppxODBC or !AppxNET, this variable must be set on both the client and the server system. </span></p> <p><span style="font-size: x-small;">Valid values: "CD", "FD" <br />Default value: "CD". </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - ODBC (SQL Server, Access, etc.)</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ODBC_AUTOCOMMIT</span></strong> || | | <p><span style="font-size: x-small;">Enables the auto-commit flag for SQL Server. If you are accessing SQL Server data from APPX, you should set this variable to enable auto-commit. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ODBC_ISOLATION</span></strong> || | | <p><span style="font-size: x-small;">Tells APPX to request transaction isolation level 0 from the ODBC database we are accessing (it may or may not be supported; this just tells us to ask for it, not that it's really there). Setting this allows APPX to read data which has not yet been committed, allowing APPX to avoid some potential deadlock situations. Do not set this variable unless requested by APPX Software. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ODBC_LIB</span></strong> || | | <p><span style="font-size: x-small;">This is used to specify the ODBC driver manager DLL location, for dynamic linking. The default, "odbc32.dll", should almost always be sufficient, but if it ever is not, you can override the default by setting this variable. (You might want to set this to a full path, if your ODBC driver manager DLL is not in your %WINDOWS_ROOT% directory, for example.) </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to ODBC driver manager DLL <br />Default value: "odbc32.dll" </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - ORACLE</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ORACLE_FIRST_ROWS</span></strong> || | | <p><span style="font-size: x-small;">"Hint" to Oracle that you want it to optimize its query processing so that the first few rows of a query are returned quickly. The alternative is to optimize the QUERYs so that _all_ rows are returned as quickly as possible. Since APPX generally displays a screenful of records and then stops, awaiting user interaction, rather than retrieving all records immediately, setting this variable can improve performance. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ORACLE_CONNECT</span></strong> || | | <p><span style="font-size: x-small;">This variable has been superseded by FMS control strings, but still exists in the system. Since it is more flexible to use FMS control strings, that is a better option. However, since some users may still have this variable set, it is worth documenting. </span></p> <p><span style="font-size: x-small;">APPX_ORACLE_CONNECT specifies what user ID and password to use to login, to Oracle. You can also specify which database to connect to. The format of the string depends on the version of the server, the network library being used, the OS and some other factors. You have to know how to login to Oracle from the command line before you can tell APPX how to do it. </span></p> <p><span style="font-size: x-small;">Valid values: installation-dependent connect string <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ORACLE_LIB</span></strong> || | | <p><span style="font-size: x-small;">This is used to specify the ORACLE library location, for dynamic linking. Normally, you would just use the ORACLE or ORAHOME environment variables, one of which is probably already set on your system (probably pointing to the home directory for the user 'oracle'), but in some cases, you might want APPX to dynamically link against a set of libraries which is not in ORACLE or ORAHOME (if testing a new version, for example). In that case, set APPX_ORACLE_LIB to that alternate location, and it will override the setting of ORACLE. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to ORACLE library <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ORIO_LIBS</span></strong> || | | <p><span style="font-size: x-small;">This is used to specify the names of the ORACLE libraries which APPX references when dynamically linking in ORACLE functionality. The default list should be sufficient, but might need to be altered for different versions of Oracle, or the same version on different OS platforms. A symptom of perhaps needing to change the list of libraries would be APPX complaining about a symbol not found, after you have installed a new version of ORACLE. </span></p> <p><span style="font-size: x-small;">Valid values: list of Oracle libraries containing functions used by the APPX ORACLE interface <br />Default value: "libnet.so,libclntsh.so" </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ORACLE_PARAM_INSERTS</span></strong> || | | <p><span style="font-size: x-small;">Specifies that parameterized INSERTs should be used when inserting data into Oracle tables. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - RDBMS Configuration</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NO_END_CONSTRAINTS</span></strong> || | | <p><span style="font-size: x-small;">This variable disables a performance optimization to use constraints on the upper range limit for record access. Do not set this variable unless requested by APPX Software, since the performance optimization is very useful. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_RDBMS_NDK</span></strong> || | | <p><span style="font-size: x-small;">Starting with release 3.5, you have a choice of how APPX creates RDBMS date key segments. A new environment variable, APPX_RDBMS_NDK, controls the treatment of date key segments as follow: </span></p> <p><strong><span style="font-size: x-small;">Not Defined</span></strong><span style="font-size: x-small;">- Date key fields are defined as 'char' and any NULL values are translated to/from blanks. This is a high-performance option and it is the default. </span></p> <p><strong><span style="font-size: x-small;">APPX_RDBMS_NDK=NULL</span></strong><span style="font-size: x-small;">- Date key fields are defined as 'date null'. This is a low performance option, many of the queries produced by APPX will ignore the defined indices. </span></p> <p><strong><span style="font-size: x-small;">APPX_RDBMS_NDK=MANDATORY</span></strong><span style="font-size: x-small;">- Date key fields are defined as 'date not null'. This is a high performance option, but you will not be allowed to store any records with a NULL value in the date key segment. </span></p> <p><strong><span style="font-size: x-small;">APPX_RDBMS_NDK=some_value</span></strong><span style="font-size: x-small;">- Date key fields are defined as 'date not null'. Instead of storing NULLs, we store the given value when writing to the RDBMS and translate from the given value into NULL when reading from the RDBMS. should be a date constant which is valid in the RDBMS. For example, could be defined as '00010101000000' to use midnight of January 1st, 0001 AD as your NULL date for Oracle. </span></p> <p><span style="font-size: x-small;">Valid values: NULL,MANDATORY, or some string to be used as the null value <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SQL_BUFFER</span></strong> || | | <p><span style="font-size: x-small;">Specifies the size of the SQL command buffer (in bytes) when communicating with an RDBMS. This is the area that will hold the actual SQL commands that are sent to your database server (an INSERT, complete with entire record contents to be INSERTED, for example) The default is 16384 bytes. This variable should never be set lower than 2048. You may need to increase it from its default of 16384 if you have a table containing many large fields. </span></p> <p><span style="font-size: x-small;">Valid values: Integer <br />Default value: 16384 </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - Sybase</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYBASE_SERVER</span></strong> || | | <p><span style="font-size: x-small;">Default SYBASE server name. Probably made obsolete by FMS group settings. If set, this variable overrides the value of DSQUERY (which also holds the name of the default SYBASE server). </span></p> <p><span style="font-size: x-small;">Valid values: Valid SYBASE server, such as 'sybase' <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYBASE_DATABASE</span></strong> || | | <p><span style="font-size: x-small;">Default SYBASE database name. Probably made obsolete by FMS group settings. This is the SYBASE repository into which we write metafiles describing file structures. IE, the SYBASE data dictionary. </span></p> <p><span style="font-size: x-small;">Valid values: Valid, existing SYBASE database name, such as 'master' <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYBASE_LIB</span></strong> || | | <p><span style="font-size: x-small;">This is used to specify the SYBASE library location, for dynamic linking. Normally, you would just use the SYBASE environment variable which is probably already set on your system (pointing to the home directory for the user 'sybase'), but in some cases, you might want APPX to dynamically link against a set of libraries which is not in SYBASE (if testing a new version, for example). In that case, set APPX_SYBASE_LIB to that alternate location, and it will override the setting of SYBASE. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to SYBASE library <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYBASE_PACK_SIZE</span></strong> || | | <p><span style="font-size: x-small;">Packet size for SYBASE database server communications. Setting this to 4096 may improve efficiency of communications. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYBASE_LEVEL0</span></strong> || | | <p><span style="font-size: x-small;">Enable Level0 table locking in SYBASE. This is probably still a development feature and should not be enabled unless requested by APPX Software. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Database - Vision</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ISKEYSEG</span></strong> || | | <p><span style="font-size: x-small;">If set, this variable overrides APPX normal behavior of trying to consolidate multiple key segments. Instead, it will form key segments the same way Vision through !AcuCobol would. When might you want to use this? If you try to create a Vision file, and instead of creating the file, APPX jumps right out of Create Files back to Database Management, setting this variable might enable the file to be created. Also, if you receive the error FMFI.C "can't empty pfb list", setting this variable might avoid the error condition. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_VISION_MAXFILES</span></strong> || | | <p><span style="font-size: x-small;">Maximum number of open files in the Vision file system. You may need to increase this to 255 or greater for applications containing complex processes which use CISAM files. Available in APPX 3.2.4 and higher. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_VISION_MAXLOCKS</span></strong> || | | <p><span style="font-size: x-small;">Maximum number of record locks per process. You may need to increase this to 40 or greater for applications containing complex processes which use CISAM files. Available in APPX 3.2.4 and higher. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_VISION_LOCKS_PER_FILE</span></strong> || | | <p><span style="font-size: x-small;">Maximum number of locks per file, per process. You may need to increase this to 20 or greater for applications containing complex processes which use CISAM files. Available in APPX 3.2.4 and higher. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: not set </span></p> | <hr size="2"></hr> ---++ Debugging <span style="font-size: x-small;">This section contains a list of environment variables recognized by APPX 4.1. Most are also recognized by earlier releases, as noted. </span> <span style="font-size: x-small;">Categories included in this section are: </span> <ul type="disc"> <li> <ul type="circle"> <li><span style="font-size: x-small;">AppxNET </span></li> <li><span style="font-size: x-small;">AppxODBC </span></li> <li><span style="font-size: x-small;">APPX CGI Interface </span></li> <li><span style="font-size: x-small;">CISAM </span></li> <li><span style="font-size: x-small;">License Server </span></li> <li><span style="font-size: x-small;">Memory </span></li> <li><span style="font-size: x-small;">General </span></li> <li><span style="font-size: x-small;">Presentation Server </span></li> <li><span style="font-size: x-small;">Relational Database Access </span></li> <li><span style="font-size: x-small;">Restructure </span></li> <li><span style="font-size: x-small;">Security HASP </span></li> <li><span style="font-size: x-small;">Translation </span></li> <li><span style="font-size: x-small;">UNIX </span></li> <li><span style="font-size: x-small;">Vision </span></li> <li><span style="font-size: x-small;">VMS RMS </span></li> <li><span style="font-size: x-small;">Windows </span></li> <li><span style="font-size: x-small;">Winprint </span></li> </ul></li> </ul> <span style="font-size: x-small;">In general, when looking for relevant environment variables, look in the category you think makes the most sense. We attempted to categorize these variables in a logical fashion, however, some judgment calls were made, and the "internal" viewpoint toward the use of these variables might be different than yours, so if you don't see what you need in the category you visit first, keep looking in related categories and the "General" category. </span> | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - !AppxNET</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NETIO_LOG</span></strong> || | | <p><span style="font-size: x-small;">Filename into which !AppxNET debugging information should be logged. If you are experiencing problems with !AppxNET, setting this variable and its companion debug level variable, APPX_NETIO_CODE, will log debugging information to a file. (It may also be helpful to set APPX_NETIO_SERVER, APPX_NET_LOG and APPX_NET_LOG_MASK). </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NETIO_SERVER</span></strong> || | | <p><span style="font-size: x-small;">Filename into which !AppxNET _server side_ debugging information should be logged. If you are experiencing problems with !AppxNET, setting this variable will log debugging information related to the server side of an !AppxNET client/server connection, to a file. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: <em>{appx engine location}</em>/data </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NETIO_CODE</span></strong> || | | <p><span style="font-size: x-small;">Debug level for APPX_NETIO_LOG. If you set APPX_NETIO_LOG, you will almost always want this set to 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0x00000000 </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NET_HEADERS</span></strong> || | | <p><span style="font-size: x-small;">Enable APPX client/server network packet headers for debugging. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - !AppxODBC</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ODBC_LOG</span></strong> || | | <p><span style="font-size: x-small;">File name into which the !AppxODBC driver will write debugging information. If you are experiencing problems with !AppxODBC (the driver that allow you to access APPX files from within PC client applications like MS Access), this variable will produce a trace of !AppxODBC's activities. You must also set the corresponding debug level variable, APPX_ODBC_CODE, if you want it set to something other than the "log everything" default of 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_ODBC_CODE</span></strong> || | | <p><span style="font-size: x-small;">Debug level for APPX_ODBC_LOG. If you set APPX_ODBC_LOG, you will almost always want this set to 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0xFFFFFFFF </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - APPX CGI Interface</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_CGIDATA_LOG</span></strong> || | | <p><span style="font-size: x-small;">Filename to which CGI data parsing debug information should be logged. If you are using APPX through the CGI interface, and want to see exactly what variables are being received by the APPX process during the CGI data import, set this variable to point to a log file, and the CGI data parsing routine will record the variables and values it finds on its input stream. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - CISAM</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_CISAM_DEBUG</span></strong> || | | <p><span style="font-size: x-small;">If you are experiencing problems with CISAM file access, this variable will activate CISAM debug options with detailed error message reporting, to aid in problem identification. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - License Server</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_LS_DBG</span></strong> || | | <p><span style="font-size: x-small;">Specifies the debug level when debugging license server issues. If you are having license server trouble, set this to 0xFFFFFFFF. Debug information for the "appx -l=" license server process will appear in the file named after the "-l=", and debug information for clients attempting to obtain session licenses will appear in $APPX_LS_LOG, if it is set. In order for this variable setting to affect the license server, you must kill and restart it. Setting this variable after the license server is running, will not cause it to log debug info. Warning: watch the size of your log file when you have APPX_LS_DBG set, because license server logging tends to be verbose, and you can fill up your disk more quickly than you think. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0x00000000 </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_LS_LOG</span></strong> || | | <p><span style="font-size: x-small;">This variable denotes where to log license server client debug information. In older releases of APPX (early 3.x) it was used to specify server log file location as well. However, all license server logging is now done in the logfile mentioned after "-l=" on the license server command line (typically "logfile"). </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a writable log file <br />Default value: none </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_LS_GHOSTS</span></strong> || | | <p><span style="font-size: x-small;">This variable will cause newer releases of APPX to revert to the old license server behavior of clearing out "ghost" sessions from the USAGE file. "Ghost" sessions are ones still listed in the USAGE file, whose actual APPX processes no longer exist. Aggressively pursuing the removal of these on busy systems results in excessive contention for USAGE locks, so by default, this is now disabled. If a site doesn't have any problems with USAGE locks, and would like to re-enable the ghost-reaping algorithm so that their display of license users more closely matches reality, they should set this to 1. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_LS_DELAY</span></strong> || | | <p><span style="font-size: x-small;">Number of seconds to wait, after starting license server, before the APPX session validates its license information. You've probably seen the situation where the first time you start APPX after a reboot, it complains about no license server detected, then if you run APPX again, it works fine. Setting this variable to a larger number, like 10 seconds, should avoid that initial "no license server detected" message, at a cost of it taking longer for that </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: 5 (UNIX) or 8 (Windows), either of which is usually too small </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_LS_INTERVAL</span></strong> || | | <p><span style="font-size: x-small;">Number of minutes between checks of USAGE file information. Sometimes it helps, on busy systems, to increase this. It should not, however, be set to a number greater than 10 minutes. </span></p> <p><span style="font-size: x-small;">Valid values: Integers <br />Default value: ?? </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Memory</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_RUN_MEM</span></strong> || | | <p><span style="font-size: x-small;">Overrides the amount of memory APPX will use for an in-memory query. Above this value, APPX will switch to a disk-based sort, which is less efficient. You might want to up this value if queries that ran OK with a small number of records start having trouble when the number of records increases. This may be obsolete in 4.1.</span></p> <p><span style="font-size: x-small;">Valid values: max number of bytes to use for an in-memory query sort <br />Default value: 256000 on UNIX, 64K on Windows (which APPX thinks is very low, perhaps too low) </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_TRAILER_COUNT</span></strong> || | | <p><span style="font-size: x-small;">Tells APPX to append additional trailer bytes to each memory allocation. These bytes are filled with known values which are later checked for corruption when the memory is given back to the system. They can be used to find out if APPX is writing beyond the end of an allocated chunk of memory or memory is getting stepped on for some other reason. If you set APPX_TRAILER_COUNT and memory corruption is detected, you will receive an "mm.c.876 mm_free() - corrupted" cassert message as soon as the corruption is detected. </span></p> <p><span style="font-size: x-small;">It's useful to set this variable to 40 if you are getting some other kind of mm.c cassert, because it may catch the source of a memory error BEFORE the other mm.c cassert is triggered, and provide better debugging hints. </span></p> <p><span style="font-size: x-small;">Also, .stk dumps (on casserts other than the MARK() error) may provide more info as to what may be going on, if this variable is set. </span></p> <p><span style="font-size: x-small;">Valid values: integers <br />Default value: 0 </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_CHECK_MEM</span></strong> || | | <p><span style="font-size: x-small;">Causes APPX to periodically pause and verify its allocated memory, in an attempt to narrow down the source of a memory corruption issue. This is VERY processor-intensive, and will slow your APPX session down _dramatically_. For this reason, it's best not to use this variable unless specifically requested by APPX Software. </span></p> <p><span style="font-size: x-small;">Valid values: true <br />Default value: false </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - General</span></strong></span> |||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_UNIXIO_STATS</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">This variable is available only on Unix systems. Log file name into which APPX will log every !AppxIO file open, close and I/O. APPX opens and immediately closes some files right at startup. If you have set this variable, and tried to run APPX, and the log file is empty, there is most likely some generic error occurring. If you get some entries in the log, then the problem is with one (or more), but not all, files. This might help you catch permission errors. Note that the statistics for a file are written when the file is closed, so if a file is closed and reopened, it will appear more than once in the APPX_UNIXIO_STATS log. </span> <p> </p> <span style="font-size: x-small;">The format of the report it produces is: </span> ||||||| | ^ | <p> </p> <span style="font-size: x-small;">open count</span> | <p> </p> <span style="font-size: x-small;">read count</span> | <p> </p> <span style="font-size: x-small;">readnext count</span> | <p> </p> <span style="font-size: x-small;">start count</span> | <p> </p> <span style="font-size: x-small;">write count</span> | <p> </p> <span style="font-size: x-small;">rewrite count</span> | <p> </p> <span style="font-size: x-small;">filename</span> | | ^ | <p> </p> <span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span> ||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_UNIXIO_PROCS</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">This variable is available only on Unix systems. Used in conjunction with APPX_UNIXIO_STATS, setting this variable to true will cause APPX to also log the process names, as they are executed. Unless APPX_UNIXIO_STATS is set, this variable does nothing. </span> <p> </p> <span style="font-size: x-small;">Valid values: true <br />Default value: not set </span> ||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_FD_CACHE_LOG</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">Name of log file into which all file opens and their success or failure status will be logged. If APPX is misbehaving and you can't quite narrow down why, but suspect you might have a permissions problem, or perhaps a missing Struct file, or some other odd situation, the APPX_FD_CACHE_LOG can often lead you to an area to investigate. Warning: this log file tends to be somewhat large. The most efficient way to read the output is to bring it up in an editor, go to the bottom, and read up, looking for failures. If you see "giving up (number)", APPX could not open the file. The system reason is indicated by the number in parentheses. You must also set the APPX_FD_CACHE_CODE variable, to set the debug level for this logging. </span> <p> </p> <span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span> ||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_FD_CACHE_CODE</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">How much APPX_FD_CACHE_LOG logging to perform. A value of 1 will log file opens. A value of 3 will provide a history of all record locks that APPX acquires and frees. </span> <p> </p> <span style="font-size: x-small;">Sample output of this log might be: </span> <p> </p> <span style="font-size: x-small;">Trying to open fd_cache[0] for c:\appxtest\data\00\0SA\Data\FILE.key (2) <br />ok - last_hit = 0, cache_cnt = 1 <br />Trying to open fd_cache[1] for c:\appxtest\data\00\0SA\Data\FILE.dat (2) <br />ok - last_hit = 3, cache_cnt = 2 <br />closing fd_cache[0] os_handle = 7 - c:\appxtest\data\00\0SA\Data\FILE.key <br />closing fd_cache[1] os_handle = 8 - c:\appxtest\data\00\0SA\Data\FILE.dat <br />... <br />Trying to open fd_cache[15] for c:\appxtest\data\00\0DB\Em\RJ29MYCP.dat (2) <br />giving up (2) <br />... </span> <p> </p> <span style="font-size: x-small;">Valid values: 1, 3 <br />Default value: not set </span> ||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_DB_TRAPS</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">As of APPX 3.2, Ctrl-C no longer functions as a dynamic trap unless you are running from within application design. If you wish a non-designer to be able to use Ctrl-C, or if you wish a designer to be able to use Ctrl-C when running processes outside Application Design, set this variable to true. It also enables TRAP statements when outside of Application Design.</span> <p> </p> <span style="font-size: x-small;">Valid values: true <br />Default value: not set </span> ||||||| | <p> </p> <strong><span style="font-family: Arial; font-size: x-small;">APPX_DBG_VFY</span></strong> |||||||| | <p> </p> | <p> </p> <span style="font-size: x-small;">Filename to which Em "currency" checking results should be logged. If an Em seems to be rebuilding too frequently (for example, every time the process is invoked), set this variable to record the reasons Em's are being rebuilt, and it may point to a solution to the problem. </span> <p> </p> <span style="font-size: x-small;">Valid values: Appropriate path to log file on your system <br />Default value: not set </span> ||||||| | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Presentation Server</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NET_LOG</span></strong> || | | <p><span style="font-size: x-small;">If you are experiencing problems getting "appx -c" or the Java client to connect to your appxd or !WinAppxD, set this variable and APPX_NET_LOG_MASK on both your server and client systems, to generate debug logs. It's most useful to do this on the server, since most of the time, Presentation Client/Server startup issues are in the area of user authentication or security, particularly on NT... but it won't hurt anything to do it on the client, too. </span></p> <p><span style="font-size: x-small;">In particular, on NT, look for a line of the form: "LogonUser() failed with {number}". If you see this line, please let APPX Technical Support know which error number you are receiving. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NET_LOG_MASK</span></strong> || | | <p><span style="font-size: x-small;">Debug level for APPX_NET_LOG. If you set APPX_NET_LOG, you will almost always want to set this to 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0x00000000 </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Relational database access</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SQL_CMD</span></strong> || | | <p><span style="font-size: x-small;">If you are having trouble accessing relational database data (Oracle, Sybase, etc.) or ODBC data (SQL Server, Access), set this variable and its corresponding debug level variable, APPX_DBG_CODE. APPX_SQL_CMD should point to a writable log file location into which APPX can log debug information. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_DBG_CODE</span></strong> || | | <p><span style="font-size: x-small;">Debug level for APPX_SQL_CMD. If you set APPX_SQL_CMD, you will almost always want to set this to 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0x00000000 </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Restructure</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_TRAP_RESTRUCT</span></strong> || | | <p><span style="font-size: x-small;">If you are experiencing problems while doing a restructure, setting this variable to 1 will insert TRAP statements in Restructure event points, for debugging purposes. </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_VFY_RESTRUCT</span></strong> || | | <p><span style="font-size: x-small;">Forces a restructure to occur when requested, even if APPX thinks that a restructure is not required for a particular file. Do not set this variable unless instructed to do so by APPX Software. (If you set it, you will no longer get the "Restructure not required" message. Any file you request to be restructured, will be. This will potentially waste lots of time, recreating files that are already in sync with their DD definition.) </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Security HASP</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SS_LOG</span></strong> || | | <p><span style="font-size: x-small;">File name to which security HASP initialization and verification debug information should be logged. If APPX is telling you it can't find your HASP, or if you are receiving an invalid serial number message when trying to run APPX on a system using a HASP, use this log to gather more information as to why it is failing. Among other things, it provides a record of what HASP serial number APPX is seeing on your system. If you set this, also set APPX_SS_CODE=0xFFFFFFFF to tell APPX to log maximum debug info. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SS_CODE</span></strong> || | | <p><span style="font-size: x-small;">Debug level for APPX_SS_LOG. If you set APPX_SS_LOG, you will almost always want to set this to 0xFFFFFFFF. </span></p> <p><span style="font-size: x-small;">Valid values: hex numbers between 0x00000000 and 0xFFFFFFFF <br />Default value: 0x00000000 </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Translation</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_XLATE_LOG</span></strong> || | | <p><span style="font-size: x-small;">If you are experiencing problems with language translation, this variable will direct translation debug logging information to the specified file. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - UNIX</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SIGNAL_LOG</span></strong> || | | <p><span style="font-size: x-small;">Location to which all nasty signals (like bus errors and segmentation faults) should be logged. If you are experiencing problems with WINPRINT, this variable will direct WINPRINT debug logging information to the specified file, in versions of winprint.exe dated 12/95 or later. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_SYS_ERR_LOG</span></strong> || | | <p><span style="font-size: x-small;">Location to which all system errors should be logged. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Vision</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">VISION_VLOG</span></strong> || | | <p><span style="font-size: x-small;">Activates Vision debug logging, into the fixed filename "v.log". </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - VMS RMS</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_RMS_STATS</span></strong> || | | <p><span style="font-size: x-small;">Log file name into which APPX will log every RMS file open, close and I/O, and performance statistics. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Windows</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">APPX_NO_STACK_DUMPS</span></strong> || | | <p><span style="font-size: x-small;">On some systems, the stack dump logic can get a bit too eager and take up lots of CPU time. This will disable stack dumps on Windows systems (probably only in 4.1 and later). _Do not set this variable unless instructed to do so by APPX Technical Support, as stack dumps (the appx.stk file) are normally quite useful in diagnosing APPX software issues._ </span></p> <p><span style="font-size: x-small;">Valid values: 1 <br />Default value: not set </span></p> | | <strong><span style="font-family: Arial; font-size: x-small;">APPX_PRELOAD_MAX</span></strong> || | | <p><span style="font-size: x-small;">If using APPX in the shared network disk configuration, with PC clients whose APPXPATH is set to a server's disk drive, you may need to set this variable to '1' (the digit 1, without quotes) to avoid a "panic - memory allocation error". When APPX pre-loads an Em, it first looks to see how big the Em is. Due to a bug in Microsoft Windows, when trying to do this across a network using Windows network file sharing, sometimes it returns an incorrect number. Since that number tends to be really large, APPX tries to allocate (for example) 3 or 4 gig of memory for that Em, causing the memory allocation error. Setting this variable to 1 will avoid pre-loading Em's, and thus avoid encountering this error. </span></p> <p><span style="font-size: x-small;">Valid values: Integer (usually 1) <br />Default value: 0xFFFFFFFF (preload Em's of any size) </span></p> | | <span align="center"><strong><span style="font-family: Arial; font-size: x-small;">Debugging - Winprint</span></strong></span> || | <strong><span style="font-family: Arial; font-size: x-small;">WINPRINT_DEBUG</span></strong> || | | <p><span style="font-size: x-small;">If you are experiencing problems with Winprint, this variable will direct Winprint debug logging information to the specified file, in versions of winprint.exe dated 12/95 or later. </span></p> <p><span style="font-size: x-small;">Valid values: Appropriate path to a log file on your system <br />Default value: not set </span></p> | <hr size="2"></hr> ---++ Comments: _Read what other users have said about this page or add your own comments._ --- <br />%COMMENT%
This topic: Main
>
WebHome
>
SystemAdministration
>
APPXEnvironmentVariables
>
APPXEnvironmentVariableList
Topic revision: r6 - 2016-05-04 - JoeOrtagus
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki?
Send feedback