4GL Runtime Compatibility Options¶
The Progress 4GL runtime has features that depend upon the local environment or upon configuration. For example, Progress provides startup parameters that can be passed on the command line to modify how the runtime operates. This section describe what parameters can be specified inside the directory and what is the encoding and the purpose of each of them.
Search Algorithm¶
All these compatibility options can be located in different locations to differentiate the option as a global default, per-server default, group-specific or account-specific. The search algorithm used for these options is the Account search algorithm. This search algorithm is documented in the main Directory chapter.
Startup Parameters¶
Startup parameters can be set in the directory.xml
. If a parameter is set by the client (Bootstrap), then it overrides the server side. To set a startup parameter follow the example below:
<node class="container" name="clientConfig"> <node class="container" name="startup"> <node class="string" name="service-name"> <node-attribute name="value" value="service-name value"/> </node> </node> </node>
More information about the supported startup parameters can be found at Bootstrap Configuration Reference, client/cmd-line-option
.
Reference¶
The following options can be specified:
Note: prior to FWD v4.0, the legacy-system
section was named file-system
. In older releases of FWD, just replace any reference to legacy-system
below with file-system
.
Option ID | Data Type | Default Value | Required | Details |
---|---|---|---|---|
browser-executable |
string | A platform-specific browser executable as documented in Open URL. | No | Specifies the program name and optional default arguments for the browser to be used by the Swing GUI client when implementing the openURL() feature. See Open URL for details. The format is either a simple program name OR it can be the program name and default arguments. The first text in the entry must be the program name. If there is whitespace following the program name, any text after the whitespace is treated as the default arguments to the program. Due to this design, you may not use embedded whitespace inside the browser's program name. |
windowingYear |
integer | 1950 | No | Provides the equivalent of the -yy startup parameter and the SESSION:YEAR-OFFSET attribute. |
dateFormat |
string | "MDY" | No | Provides the equivalent of the -d startup parameter and the SESSION:DATE-FORMAT attribute. To set this value, one must store the order of the 3 date sub-components as a 3 character string with one character each for "D" (day), "M" (month) and "Y" (year). |
numberGroupSep |
string | queried JVM value or ',' if no value can be queried from the JVM. | No | Use this option to change the character that represents the thousands separator. Provides the equivalent of the Progress -numsep startup parameter and the SESSION:NUMERIC-SEPARATOR attribute.For example changing the thousands separator to an apostrophe the Progress startup parameter is: -numsep 39 The equivalent directory configuration is: <node class="string" name="numberGroupSep"> <node-attribute name="value" value="'"/> </node> |
numberDecimalSep |
string | queried JVM value or '.' if no value can be queried from the JVM | No | Use this option to change the character that represents the decimal separator. Provides the equivalent of the -numdec startup parameter and the SESSION:NUMERIC-DECIMAL-POINT attribute. For example changing the decimal separator to a comma the Progress startup parameter is:-numdec 44 The equivalent directory configuration is: <node class="string" name="numberDecimalSep"> <node-attribute name="value" value=","/> </node> |
currentLanguage |
string | '?' | No | Use this option to set the name of the current language. Provides the equivalent of the -lng startup parameter. The value of this option will also be returned by the CURRENT-LANGUAGE function. |
dataServers |
string | 'PROGRESS,ORACLE,AS400,ODBC,MSS' | No | This configuration option will set up the return value of the Progress DATASERVERS function. |
opsys/override |
string | none | No | This option provides a manual override to hard code the OPSYS value instead of allowing the runtime to determine it using the os.name system property. |
opsys/mapping/<os.name_system_property> |
string | none | No | This option allows a specific os.name value (e.g. "Linux") to be mapped to the text provided. |
searchpath |
string | ".:" | No | This is the active search path used in the SEARCH() method and available when one uses the PROPATH function. |
path-separator |
string | ":" | No | This is the path separator character used to parse the Progress search path. |
legacy-system/propath |
string | ".:" | No | This value is the legacy system's PROPATH which is used to resolve RUN VALUE() expressions. This value must be maintained for certain runtime translations of dynamically generated names (in the case of algorithms designed with that path assumed) but which is not necessarily a valid path on the system on which this is running.Example: <node class="container" name="legacy-system"> ... <node class="string" name="propath"> <node-attribute name="value" value="/app/tst"/> </node> ... </node> |
legacy-system/path-separator |
string | ":" | No | This is the path separator character used to parse the Progress search path on the original source system (not the same as the current FWD system's value). Example: <node class="container" name="legacy-system"> ... <node class="string" name="path-separator"> <node-attribute name="value" value=";"/> </node> ... </node> |
legacy-system/file-separator |
string | "/" | No | This is the original source system's filesystem value (not the same as the current FWD system's value). Example: <node class="container" name="legacy-system"> ... <node class="string" name="file-separator"> <node-attribute name="value" value="/"/> </node> ... </node> |
legacy-system/case-sensitive |
boolean | true | No | The original source system's filesystem value (not the same as the current FWD system's value). Example: <node class="container" name="legacy-system"> ... <node class="boolean" name="case-sensitive"> <node-attribute name="value" value="TRUE"/> </node> ... </node> |
legacy-system/pkgroot |
string | "" | No | This is the base path for all Java packages. It is used to detect the Progress source file name of the calling program by the PROGRAM-NAME(n) function.Example: <node class="container" name="legacy-system"> ... <node class="string" name="pkgroot"> <node-attribute name="value" value="com.goldencode.abc"/> </node> ... </node> |
version |
string | "10.2B" | No | This is the current version string of the Progress compatible environment. This is the value the PROVERSION function will return. |
batchMode |
boolean | false | No | Provides the equivalent of the -b startup parameter and the SESSION:BATCH-MODE attribute.[TODO] AIL: check if batchMode it's used or maybe the headless option emulates the -b parameter[/TODO] |
Examples¶
This is an example of a directory containing compatibility options:
... <node class="container" name="runtime"> <node class="container" name="default"> <node class="integer" name="windowingYear"> <node-attribute name="value" value="1950"/> </node> <node class="string" name="dateFormat"> <node-attribute name="value" value="mdy"/> </node> <node class="string" name="numberGroupSep"> <node-attribute name="value" value=","/> </node> <node class="string" name="numberDecimalSep"> <node-attribute name="value" value="."/> </node> <node class="string" name="dataServers"> <node-attribute name="value" value="PROGRESS,ORACLE"/> </node> <node class="string" name="currentLanguage"> <node-attribute name="value" value="english"/> </node> <node class="string" name="searchpath"> <node-attribute name="value" value=".:"/> </node> <node class="string" name="path-separatopr"> <node-attribute name="value" value=":"/> </node> <node class="string" name="version"> <node-attribute name="value" value="10.2B"/> </node> <node class="container" name="opsys"> ... </node> <node class="container" name="legacy-system"> ... </node> ... </node> </node> ...
Note that none of this options are mandatory. This is an example of opsys
section:
<node class="container" name="opsys"> <node class="string" name="override"> <node-attribute name="value" value="UNIX"/> </node> <node class="container" name="mapping"> <node class="string" name="linux"> <node-attribute name="value" value="UNIX"/> </node><node class="string" name="solaris"> <node-attribute name="value" value="UNIX"/> </node> </node> </node>
In the example below you can see the options from the legacy-system
section:
<node class="container" name="legacy-system"> <node class="string" name="pkgroot"> <node-attribute name="value" value="com.goldencode.abc"/> </node> <node class="string" name="propath"> <node-attribute name="value" value=".:"/> </node> <node class="string" name="path-separator"> <node-attribute name="value" value=":"/> </node> <node class="string" name="file-separator"> <node-attribute name="value" value="/"/> </node> <node class="boolean" name="case-sensitive"> <node-attribute name="value" value="TRUE"/> </node> </node>
© 2004-2021 Golden Code Development Corporation. ALL RIGHTS RESERVED.