Configure environment variables
- Last Updated: February 11, 2026
- 2 minute read
- OpenEdge
- Version 13.0
- Documentation
Unlike the Classic AppServer, which has a separate environment variable configuration per ABL
application, the PAS for OpenEdge server architecture has environment variable controls
for the server instance, which means the ABL application when only one (1) ABL
application is deployed (for more information, see KB #173870). Instead, it relies on the execution of batch or
bash scripts to set the environment variables as you would do elsewhere for the OS. By
default, the CATALINA_BASE/bin/ directory contains an openedge_setenv.[bat|sh] file for the respective OS (Windows
or Unix/Linux).
When deploying multiple ABL applications (i.e. multiple classic AppServer brokers) in PAS for OpenEdge, you should look to migrate away from using environment variables to using an application properties file. Process environment variables represent a vulnerability and values should only be used after a comprehensive validation process.
It is not advisable to alter the existing openedge_setenv file as it may be
replaced or altered during a future upgrade of the PAS for OpenEdge instance. Instead,
you can create any number of new files which match the pattern *_setenv.[bat|sh]
and they are automatically executed at startup of the Tomcat container.
openedge_setenv
The only notable exception to the above recommendation of not editing this file is if
you need to enable Enhanced Mapped Diagnostic Context (MDC) logging to report the
RequestID for each request to the PAS for OpenEdge instance. Enhanced MDC logging is
enabled by default, so no changes must be made to enable it. However, a variable
named ENHLOGGINGOPTS is set to ED by default,
which enables the [E]nhanced log format and uses a [D]ate format of ISO-8601. The
order of these values does not matter, but their case does: the lowercase values of
e uses AVM common format for logging while d
uses the AVM date/time format. For more information, see Configure MDC access for header requests.
For reference, the default file sets a _oeopts variable which contains direct
options for Tomcat itself at startup. These flow into the standard JAVA_OPTS. If
there is an unavoidable need to alter these for Tomcat, then this location is
acceptable for modifying those values. Do not edit openedge_setenv
for controlling JAVA_OPTS or CATALINA_OPTS.
Custom _setenv
Custom _setenv files are the recommended way to control the process
environment before the Tomcat server’s Java process starts. Alternatively, you may
also define custom environment settings in the user account used to start the Tomcat
server.
Any valid .bat or .sh file with a basename ending
in _setenv is considered for execution at startup, allowing you to
set environment variables at the appropriate time during the Tomcat lifecycle. For
example, a file timezone_setenv.[bat|sh] could be added to a PAS
for OpenEdge instance to configure a distinct timezone for the instance, which is an
example of purposed naming.
At present, all environment variables are set globally for the instance though it may be a
good practice to name your custom files for each ABL application (or in a
common_setenv if purposed naming does not make sense). This
setting prepares your ABL applications for a potential future feature which should
support setting of environment variables per ABL application.