P3/COBOL Runtime Options
The P3/COBOL command-line command to run COBOL programs is a sub-command of the p3 command. See
p3-utility for a description of the p3 command and its sub-commands, including
the run command.
P3/COBOL Run Command
Syntax
The initial_program is the name of the COBOL program to initially execute. The program_arguments is a string of one
or more arguments to the initial program. They are passed as a single string actual parameter if the program accepts
at least one alphanumeric USING argument.
Runtime Option Lifecycle
A RuntimeOptions instance may be customized through its public setters while it is being constructed. Complete these
changes before supplying the instance to a RunUnit, Launcher, DataUtil, or another runtime component.
During initialization, P3/COBOL resolves the configuration for that component. Association and volume configuration collections are defensively copied and exposed as read-only data. Changing the original collections or their elements after initialization does not reconfigure an existing runtime component. To use different settings, construct new runtime options and initialize a new component from them.
Immutability applies to the option values, not to the runtime behavior they describe. Options that select behavior as a function of file, program, or database names are still evaluated dynamically at the time the corresponding resource is used. See Selecting Volume Configuration by File Name for an example.
Runtime Options
allocate-all-direct
<allocate-all-direct>false</allocate-all-direct>Directs the runtime to allocate all storage in the operating system’s global heap memory accessible to non-Java programs (i.e., outside the JVM’s heap memory) if and only if this option is true. This option must be set to true if the COBOL program(s) pass pointers to native programs.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Allocate memory in java-only heap |
| true | Allocate memory in global heap |
allocate-omitted-return-arg
<allocate-omitted-return-arg>false</allocate-omitted-return-arg>Directs the runtime to automatically allocate (“base”) omitted RETURNING/GIVING arguments in a CALL'ed program
if and only if this option is true. If set, this allows the return argument to be passed as the value of the execute()
method of the generated CALL'ed program as a convenience to non-COBOL calling programs.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not allocate return argument automatically |
| true | Allocate return argument automatically |
allow-packed-decimal-spaces
<allow-packed-decimal-spaces>false</allow-packed-decimal-spaces>Directs the runtime to allow all SPACE bytes in a packed-decimal item, and to consider it to have the algebraic value
of 0 if and only if this option is true. This option is often required to be set true when using COBOL programs
originally written for the IBM System/360 and compatible systems.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Disallow spaces in a packed decimal item |
| true | Allow spaces in a packed decimal item |
argument-rm
<argument-rm>
<arg>someRmArgs</arg>
</argument-rm>This option may supply arguments to the program being invokes in a manner compatible with RM/COBOL. Each argument will
be passed to the program as if it were CALL ... USING a group-level argument BY CONTENT containing a 2-byte binary
length followed by an alphanumeric item corresponding to the <arg> element of <arguments-rm>.
The possible values for argument-rm are <arg> XML element(s) containing text that comprises the corresponding
alphanumeric item encoded in the native charset and passed BY CONTENT.
arguments
<arguments>
<arg>someArgs</arg>
</arguments>This option may supply arguments to the program being invokes. Each argument will be passed to the program as if it were
CALL ... USING an alphanumeric argument corresponding to the <arg> element of <arguments>.
The possible values for arguments are <arg> XML element(s) containing text that comprises the corresponding
alphanumeric argument passed BY VALUE.
beep
<beep>false</beep>Directs the runtime to sound a beep tone whenever a terminal-mode ACCEPT is being processed.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not sound a beep tone when ACCEPT is processed. |
| true | Sound a beep tone when each ACCEPT is processed unless otherwise directed by the ACCEPT phrases. |
byte-order
<byte-order>false</byte-order>This option determines the order of bytes within binary and national usage data. If the compiled Java code contains generated code that makes assumptions regarding runtime byte order then that same order must be used at runtime. If the runtime byte order does not match in those circumstances a fatal runtime error will result.
The possible values for byteOrderEnumeration are:
| Value | Description |
|---|---|
| BIG_ENDIAN | Store binary and national items most-significant byte first by default. |
| LITTLE_ENDIAN | Store binary and national items least-significant byte first by default. |
| NATIVE | Store binary and national items according to the native order of the processor the compiler is running on. Note, this will restrict the generated Java to running on a processor with the same byte order convention. |
config-file
<config-file>runtime.p3c</config-file>This option specifies the path to be used for an XML runtime configuration file as configFilePath.
database-associations
<database-associations>
<database-association name="my_db">
<driver>org.h2.Driver</driver>
<host>jdbc:h2:./p3database;</host>
<user-name>sa</user-name>
<password />
</database-association>
</database-associations>This option provides runtime dynamic mapping of database names to specific database characteristics.
The possible content for the <database-associations> element is detailed in
Configuring Database Associations. This
option may only be used within the runtime configurations file as the command line version cannot be meaningfully
specified. There is no default value for this option.
debug-handshake-timeout
<debug-handshake-timeout>10000</debug-handshake-timeout>This option defines the maximum time in integer milliseconds between communications with a debugging client The debugging environment being used normally sets this automatically.
The default value for milliseconds is 10000 (10 seconds).
debug-port
<debug-port>9997</debug-port>This option defines the port number to be used to communicate with a debugging client. The debugging environment being used normally sets this automatically. For more information see P3/COBOL Debugger. By setting this port you are implicitly enabling the debugger for this runtime. You will see some performance reduction in this case, even when a debugger is neither active nor attached. For this reason, specifying this option should not typically be used for production operation.
debugPortNumber may be any valid UDP port number that is not in use. This option is not defined by default, but is automatically set when the program is launched by the IDE for debugging.
debug-ports
<debug-ports>9997 9998</debug-ports>Specifies a port pair used for debugger interaction with this run unit. The debugging environment being used normally
sets this automatically. See also <debug-port>.
debugPortNumberList is a space-separated list of UDP port numbers. There is no default value.
debug-suspend
<debug-suspend>false</debug-suspend>Directs the runtime to wait until a debugger attaches to the run unit before beginning execution.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Begin execution without regard to whether or not a debugger is attached to the run unit. |
| true | Suspend execution of the run unit until a debugger is attached. |
debug-zombie
<debug-zombie>true</debug-zombie>Directs the runtime to continue to run even if the debugger is detached from the run unit.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Terminate the run unit if the debugger is ended or detached. |
| true | Continue execution of the run unit if the debugger is ended or detached. |
default-byte
<default-byte>0</default-byte>This option defines the value to be used for uninitialized storage.
byteValue is specified as an unsigned decimal integer between 0 and 255 inclusive. This option is 0 by default.
dump-call-stack
<dump-call-stack>true</dump-call-stack>Directs the runtime to dump the program call stack when an abnormal termination occurs if and only if this option is true.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not dump call stack when abnormally terminated |
| true | Dump call stack when abnormally terminated |
dump-data-stack
<dump-data-stack>false</dump-data-stack>Directs the runtime to include program storage in the call-stack traceback dump if and only if this option is true.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not dump program storage with the call stack |
| true | Dump program storage as part of the call-stack traceback |
dump-histogram
<dump-histogram>false</dump-histogram>Directs the runtime to dump any pending histogram results at termination if and only if this option is true. The
histogram dump is written to two files based on the <histogram-path-name> option. The path-name.csv file contains
a comma-separated file of every histogram bucket, and the path-name.out file contains a report of the histogram.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not dump histogram at termination |
| true | Dump histogram information when terminated |
dump-java-stack
<dump-java-stack>true</dump-java-stack>Directs the runtime to dump the Java execution stack when an abnormal termination occurs if and only if this option is true.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not dump java execution stack when abnormally terminated |
| true | Dump java execution stack when abnormally terminated |
dump-storage
<dump-storage>false</dump-storage>Directs the runtime to dump the contents of storage associated with active programs when an abnormal termination occurs
if and only if this option is true. The dump is in the form of an XML document with an element for each data item
defined by the programs. The dump is written to the standard error stream unless the
dump-storage-file option specifies the path name of an alternative
location. If the dump-storage-stylesheet option is specified,
the dump document with be processed by the specified stylesheet and the result will be written to the dump destination.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not dump program storage when abnormally terminated |
| true | Dump program storage when abnormally terminated |
dump-storage-file
<dump-storage-file>/path/to/dump-file</dump-storage-file>This option’s value determines the file/directory path used as the destination of an abnormal termination dump. If this option is specified all directories in the path must exist. If the file specified does not exist, it will be created if possible. If it does exist, it will be overwritten in the event of an abnormal termination of the run unit.
The possible value for storageDumpPath is any legal file pathname.
dump-storage-stylesheet
<dump-storage-stylesheet>/path/to/dump-stylesheet-file.xslt</dump-storage-stylesheet>This option’s value determines the file/directory path used as the location of an XML xslt stylesheet that will be applied to the dump output document prior to writing the result to the destination. If this option is specified all directories in the path must exist, as well ast the stylesheet file itself.
The possible value for storageStylesheetPath is any legal file pathname.
esql-holdable-cursors
<esql-holdable-cursors>true</esql-holdable-cursors>Directs the embedded SQL runtime to use the JDBC cursor hold setting for cursors declared HOLD.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Cursors are never held, even when declared as such |
| true | Cursors are held, if possible, if declared as hold |
esql-program-qualified-cursors
<esql-program-qualified-cursors>true</esql-program-qualified-cursors>Directs the embedded SQL runtime to qualify cursor names with the program that declares/opens the cursor.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Cursors are global to the run unit |
| true | Cursors are local to the program that opens them |
esql-trim-fixed-chars
<esql-trim-fixed-chars>false</esql-trim-fixed-chars>Directs the embedded SQL runtime to trim trailing spaces from bound fixed-size CHAR columns if and only if this
option is true.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not trim spaces from bound values |
| true | Trim trailing spaces from fixed-length bound CHARs |
event-type-filter
<event-type-filter>ERROR DIAGNOSTIC</event-type-filter>Selects which runtime event categories are reported. The value is a space-separated list of eventType names.
The possible values for eventType are:
| Value | Description |
|---|---|
| BANNER | Banner messages |
| BEGIN_PHASE | Start-of-phase progress messages |
| DEBUG | Debug-level internal messages |
| DIAGNOSTIC | Diagnostic messages |
| END_PHASE | End-of-phase progress messages |
| ERROR | Error messages |
| TRACE | Trace-level internal messages |
The default is ERROR DIAGNOSTIC.
external-call-strategy
<external-call-strategy>
<load-process>true</load-process>
<library>
<file>/path/to/native-library.dylib</file>
<call-convention>NATIVE</call-convention>
</library>
</external-call-strategy>This option specifies the path to non-COBOL program libraries that will be called from the COBOL application. For more details see the External CALL Strategy Configuration.
external-library-directories
<external-library-directories>/path/to/native/libraries</external-library-directories>This option specifies the directories to search for non-COBOL program libraries that will be called from the COBOL application. Any number of space-separated directory paths may be specified. Each will be examined and any native library files present will be added to the runtime repository for subsequent access via CALL from the COBOL program.
The default value of directoryPathList is the Current Working Directory.
The possible values for directoryPathList are a space-separated list of any valid directory paths.
file-associations
<file-associations>
<file-association>
<name-pattern>.*</name-pattern>
<external-name>data/{0}</external-name>
</file-association>
</file-associations>This option provides runtime dynamic mapping of file names to arbitrary external file characteristics.
The possible content for the <file-associations> element is detailed in
Configuring File Associations. This option may
only be used within the runtime configurations file as the command line version cannot be meaningfully specified. There
is no default value for this option.
file-flexible-line-termination
<file-flexible-line-termination>false</file-flexible-line-termination>Directs the runtime to use any combination and/or contiguous sequence of delimiter characters to terminate a record when reading line sequential files. Additionally, if a record is not terminated by a delimiter before or at the maximum record length for the file, it is considered terminated after the last character in the record and any following characters, if any, are considered to be the first characters of the following line sequential record.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Use only the line termination that is normal for the runtime operating platform. See <file-line-delimiter> below for that determination. |
| true | Use any character sequence that might reasonably indicate end-of-line as the line termination for line sequential files. This would include any new-line/line-feed carriage-return contiguous sequence. If a record is terminated by reaching the maximum record length, the line is considered terminated and any termination characters immediately following the last data character are also considered part of that line termination. |
file-io-forced-to-storage
<file-io-forced-to-storage>false</file-io-forced-to-storage>This option directs to default file io subsystem to force all data to persistent storage at the time the corresponding COBOL IO operations are performed.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not force file data to persistent storage. The data will be written to storage eventually, but the state of the data in persistent storage never contain partial COBOL IO operations (i.e., COBOL operations are atomic). |
| true | Force data to persistent storage as soon as the COBOL operation(s) are complete. |
file-line-delimiter
<file-line-delimiter>SYSTEM</file-line-delimiter>Specifies the type of line terminator for line sequential files.
The possible values for delimiterEnumeration are:
| Value | Description |
|---|---|
| SYSTEM | Terminate lines with the system-standard line delimiter. |
| CR | Terminate lines with a carriage-return character. |
| LF | Terminate lines with a line-feed character. |
| NL | Terminate lines with a new-line character. |
| CRLF | Terminate lines with a carriage-return followed by a line-feed character. |
filesystem-config-file
<filesystem-config-file>filesystem.p3c</filesystem-config-file>This option is deprecated. Prefer configuring indexed-file volumes through file associations and the indexed file system options. This element may only be specified in the runtime configuration file; there is no command-line equivalent.
histogram
<histogram>false</histogram>Directs the runtime to collect histogram events for the COBOL program(s) if and only if this option is true. See also the options below:
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not collect histogram events. |
| true | Collect all necessary histogram events present in the generated program classes to accomplish the selected resolution (bucket-size). |
histogram-bucket-size
<histogram-bucket-size>PROCEDURE</histogram-bucket-size>Specifies the collection bucket size.
You may specify a smaller bucket size that the one chosen at compile time, but the results may be inaccurate and/or misleading. It is recommended that the program(s) be compiled with a bucket size equal to or smaller than this option setting at runtime.
The possible values for bucketSizeEnumeration in smallest to largest order are:
| Value | Description |
|---|---|
| STATEMENT | Collect statement level statistics. |
| PROCEDURE | Collect procedure (paragraph/section) level statistics. |
| PROGRAM | Collect program level statistics. |
histogram-group-by
<histogram-group-by>PROGRAM</histogram-group-by>Specifies the grouping of the histogram report file. Event results are aggregated by the grouping entity and sorted by that result.
The possible values for groupByEnumeration are:
| Value | Description |
|---|---|
| PROGRAM | Group results by the program they pertain to. |
| SOURCE | Group results by the source file they pertain to. |
histogram-path-name
<histogram-path-name>/path/to/histogram-files</histogram-path-name>Specifies the base path name for the histogram files produced. Any missing directories will be created based on this path, and the proper extensions (".out", and ".csv") will be added.
initial-program
--initial-programDirects the runtime to load and execute the specified COBOL program or classname.
The possible values of programName are any valid COBOL program name or the Java class name corresponding to a compiled COBOL program.
java-arguments
<java-arguments>-Dprop=value</java-arguments>Provides an argument string for the Java command used when the runtime launches nested Java processes. There is no default value.
jdbc-connection-override
<jdbc-connection-override>com.turrettech.p3cobol.lib.sql.jdbc.JdbcConnection</jdbc-connection-override>If present, this element provides a javaClassName which overrides the standard JdbcConnection class. This permits a user-written Java class to provide the JDBC connection rather than the standard connection using the options in this section.
The default value of javaClassName is com.turrettech.p3cobol.lib.sql.jdbc.JdbcConnection. Valid values are anything
that implements the DatabaseConnection interface.
Check out the sample to see how it works.
jdbc-driver
<jdbc-driver>value</jdbc-driver>This option is deprecated. Prefer database associations
or <jdbc-connection-override>. When set, it supplies the JDBC driver class name.
If unset, the first database association may supply an equivalent value when present.
jdbc-host
<jdbc-host>value</jdbc-host>This option is deprecated. Prefer database associations
or <jdbc-connection-override>. When set, it supplies the JDBC connection URL.
If unset, the first database association may supply an equivalent value when present.
jdbc-password
<jdbc-password>value</jdbc-password>This option is deprecated. Prefer database associations
or <jdbc-connection-override>. When set, it supplies the JDBC password.
If unset, the first database association may supply an equivalent value when present.
jdbc-username
<jdbc-username>value</jdbc-username>This option is deprecated. Prefer database associations
or <jdbc-connection-override>. When set, it supplies the JDBC username.
If unset, the first database association may supply an equivalent value when present.
line-mode-accept
<line-mode-accept>true</line-mode-accept>Directs the runtime to terminate format 1 (ANSI) console ACCEPT when line terminators are encountered if and only if
this option is true.
The possible boolean values are:
| Value | Description |
|---|---|
| false | Do not terminate when a line terminator is encountered |
| true | Terminate when a line terminator is encountered |
listeners
<listeners>
<listener name="run-unit" value="org.tempuri.SampleListener"/>
</listeners>This option allows the specification of named runtime listener classes. It encloses <listener> elements each of which
designates a listener name and value attribute.
The name must be one of the following:
| Name | Value |
|---|---|
| run-unit | A class name implementing the IRunUnitListener interface. |
| run-unit-histogram | A class name used for histogram-related run-unit events. |
| files | A class name implementing the IFileListener interface. |
| storage-managers | A class name implementing the IStorageListener interface. |
maximum-decimal-precision
<maximum-decimal-precision>34</maximum-decimal-precision>This option determines the maximum decimal precision retained during intermediate arithmetic calculations. This intermediate precision can have a profound effect on performance of computing-intensive applications, so if it is known that a specific maximum precision is adequate in these circumstances, this option may be used to take advantage of it. In particular, any setting at or below 18 digits will perform much better than settings above this value, due to the fact that fixed-point decimal numbers can be held and manipulated in long integer primitive types.
The valid values for precision are any integer in the range of 1 .. 64.
The default value for precision is 34.
native-access-enabled
<native-access-enabled>false</native-access-enabled>Directs the runtime to use restricted methods in order to allow access to native, non-Java resources. For this option to
be effective, the Java command line option --enable-native-access=ALL-UNNAMED must also be specified.
The possible boolean values are:
| Value | Description |
|---|---|
| false | Do not allow restricted methods to be used for communicating with non-Java code |
| true | Allow restricted (and potentially unsafe) methods to be used for communicating with non-Java code. |
native-charset
<native-charset>NATIVE</native-charset>The possible values for charsetEnumeration are:
| Value | Description |
|---|---|
| ISO_8859_1 | Use the ISO 8859-1 charset for the native charset. |
| ISO_8859_15 | Use the ISO 8859-15 charset (Latin-9) for the native charset. |
| UTF_8 | Use the UTF-8 charset for the native charset (note that this charset is not 1:1). |
| EBCDIC | Use the CP037 (USA) EBCDIC charset as the native charset. |
| EBCDIC_DE | Use the German (with Euro) EBCDIC charset as the native charset. |
| WINDOWS_1252 | Use the Windows standard codepage as the native charset. |
| CP_437 | Use the IBM PC Latin US code page (OEM 437) as the native charset. |
| CP_850 | Use the MS-DOS Latin-1 charset as the native charset. |
| CP_852 | Use the MS-DOS Latin-2 charset as the native charset. |
| CP_858 | Use the variant of Cp850 with Euro character as the native charset. |
| SHIFT_JIS | Use the Shift JIS charset as the native charset (note that this charset is not 1:1). |
| MAC_ROMAN | Use the Mac OSX standard US charset as the native charset. |
| NATIVE | Use the default 00 - ff lexicographic 1:1 charset as the native charset. |
native-data-pointers
<native-data-pointers>false</native-data-pointers>Directs the runtime to store all data pointers as global heap memory addresses if the allocate-all-direct option is also specified. When both options are specified, all memory is allocated on the global heap rather than the Java heap, and any pointer data items will, when set, will contain the heap memory address in the native system byte order.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Store data pointers as opaque values which do not necessarily correspond to heap addresses. |
| true | Store data pointers as global heap addresses |
packed-decimal-validation
<packed-decimal-validation>STRICT</packed-decimal-validation>Directs the degree to which the runtime should validate packed decimal digits in COMP3-usage items when used in arithmetic calculations and comparisons.
The possible values for validationEnumeration are:
| Value | Description |
|---|---|
| STRICT | Validates all digits and sign for proper values |
| ALLOW_SPACE | Allows all SPACE characters to be treated as equivalent to algebraic 0 |
| ALLOW_SPURIOUS_SIGNS | Allows SPACEs as above and allows the positive sign value to be present in unsigned values |
| PERMISSIVE | Allows all of the preceding, and also permits any valid sign to be present in unsigned values (the sign has no effect in these cases) |
| NONE | Directs the runtime to do no validation of packed decimal digits or signs. This setting is appropriate when the user is confident that there are no issues with corruption of packed numeric data items in the program(s) otherwise unpredictable results could occur |
parameters
<parameters>
<parameter name="param1" value="with it's value"/>
<parameter name="param2" value="with another value"/>
</parameters>This option provides a set of runtime option parameters that may be selected within a substitution string in the runtime configuration file in the same manner as an environment variable.
The possible content for the <parameters> element is detailed in Configuring Parameters.
This option may only be used within the runtime configuration file as the command line version cannot be meaningfully
specified. There is no default value for this option.
program-associations
<program-association>
<name-pattern>([^.])*[.]COB$</name-pattern>
<class-name>{1}</class-name>
</program-association>This option provides runtime dynamic mapping of program names to arbitrary Java class names.
The possible content for the <program-associations> element is detailed in
Configuring Program Associations. This option
may only be used within the runtime configuration file as the command line version cannot be meaningfully specified.
There is no default value for this option.
program-package
<program-package>programs</program-package>This option determines the packageName that will be used by the runtime program loader when loading a generated COBOL program class file. Typically this option should have the same value as the corresponding compiler configuration value.
The valid values for packageName are any valid java package name. The default value for packageName is programs.
sort-engine
<sort-engine>AUTOMATIC</sort-engine>Determines the engine type used to process SORT and MERGE statements.
The possible values for sortEngineTypeEnumeration are:
| Value | Description |
|---|---|
| AUTOMATIC | Use the best engine type based on characteristics of the actual operations and the number of processors (cores) available. |
| SINGLE_THREAD | Use the single-threaded engine for all operations. |
| MULTI_THREAD | Use the multi-threaded engine for all operations. |
sort-engine-threads
<sort-engine-threads>1</sort-engine-threads>Determines the maximum number of threads that the sort engine is allowed to use, regardless of any other settings.
The possible values of numberOfThreads is any non-zero positive integer. The default value for this option is 1.
sort-max-memory-records
<sort-max-memory-records>100000</sort-max-memory-records>Determines the maximum number of records that the sort engine is allowed to keep in memory during a sort operation.
The possible values of numberOfRecords is any non-zero positive integer. The default value for this option is 100000.
sort-using-sharing-mode
<sort-using-sharing-mode>false</sort-using-sharing-mode>Determines the sharing mode used for opening sort USING files. See Sharing Modes.
sqlca-compatibility
<sqlca-compatibility>ISO</sqlca-compatibility>Determines the type of SQLCA used by the built-in ESQL.
The possible values for sqlcaCompatibilityEnumeration are:
| Value | Description |
|---|---|
| ISO | Use the ISO SQL standard SQLCA. |
| ORACLE | Use the Oracle SQLCA. |
strict-function-numval
<strict-function-numval>true</strict-function-numval>Directs the runtime to strictly limit the valid characters accepted by NUMVAL and related numeric intrinsic functions
if and only if this option is true.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Allow a more permissive character set in NUMVAL arguments |
| true | Strictly limit valid characters in NUMVAL arguments |
strict-numeric-class-test
<strict-numeric-class-test>true</strict-numeric-class-test>Directs the runtime to strictly implement the IS NUMERIC class test according to the COBOL standard specification if
and only if this option is true. If set to true, all digits and operational signs in DISPLAY numeric items must be
correctly formed in order for the test to evaluate true. If set to false, the signs and digits will be considered valid
if they are valid considering the selected zoned-decimal-validation option setting.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Use the zoned-decimal-validation option setting to determine the result of the IS NUMERIC class test |
| true | Strictly determine the IS NUMERIC class test result according to standard COBOL behavior |
strict-pointer-bounds
<strict-pointer-bounds>false</strict-pointer-bounds>Directs the runtime to strictly enforce the check that a pointer addresses storage within the limits determined by the
LINKAGE SECTION item to which it is associated ("based") if and only if this option is true. If set to true, a
LINKAGE SECTION item that is used to receive a smaller size item than the actual argument and is then subsequently
used as an actual argument to another CALL'ed program will be truncated to the size of the intermediate program’s
LINKAGE SECTION item.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not limit the range of pointers to the defined storage pointed to |
| true | Strictly limit the range of pointers to the defined storage pointed to |
switch-settings
<switch-settings>
<switch name="switch-0" setting="WIRED_OFF"/>
<switch name="switch-1" setting="ON"/>
</switch-settings>This option provides for setting logical switches to specific values at runtime.
The possible content for the <switch-settings> element is detailed in
Configuring Switch Settings. This option may only
be used within the compiler configurations file as the command line version cannot be meaningfully specified. There is
no default value for this option.
switch-vector
<switch-vector>"1"</switch-vector>This option provides for setting logical switches to specific values at runtime.
The possible content for switchVector is a string of 1 or more "0", "1", or "x" characters (up to 32) that indicate
the state of switches 0, 1, 2, ... An x indicates the switch corresponding switch should not be changed, a 0 turns
the corresponding switch off and 1 turns it on. The vector is merged with the switch settings above, if any. There is
no default value for this option.
terminal
<terminal>DEFAULT</terminal>Directs the runtime to use a specific type of terminal emulator for terminal-mode ACCEPT and DISPLAY operations.
The possible values for terminalTypeEnumeration are:
| Value | Description |
|---|---|
| DEFAULT | Use an appropriate terminal for the runtime platform. |
| ANSI | Use an ANSI terminal emulator. |
| UNIX | Use a UNIX-style terminal emulator. |
| CYGWIN | Use Cygwin for terminal emulation. |
| SWING | Use a Swing terminal. |
terminal-configuration
<terminal-configuration>
<font-name>Monospaced</font-name>
<font-size>14</font-size>
<bold>false</bold>
<columns>80</columns>
<rows>25</rows>
<charset-name>UTF-8</charset-name>
<title>P3/COBOL Application Terminal</title>
<icon-image-file>/path/to/icon.png</icon-image-file>
<auto-close-trigger>DoNotAutoClose</auto-close-trigger>
<tab-behavior>CONVERT_TO_ONE_SPACE</tab-behavior>
</terminal-configuration>Configures the Swing/ANSI terminal used when <terminal> selects an interactive
emulator. This option may only be specified in the runtime configuration file; there is no command-line equivalent.
| Element | Default | Description |
|---|---|---|
| font-name | Monospaced | Terminal font family |
| font-size | 14 | Terminal font size |
| bold | false | Use a bold font face when true |
| columns | (unset) | Preferred column width |
| rows | (unset) | Preferred row height |
| charset-name | UTF-8 | Character set used by the terminal |
| title | P3/COBOL Application Terminal | Window title |
| icon-image-file | (unset) | Path to a window icon image |
| auto-close-trigger | DoNotAutoClose | When the Swing terminal window auto-closes |
| tab-behavior | CONVERT_TO_ONE_SPACE | How tab characters are rendered |
trailing-space-suppression
<trailing-space-suppression>false</trailing-space-suppression>Directs the runtime to always suppress (delete) any trailing spaces in line sequential output records, and to extend
input records to the maximum record size with space fill, if a shorter record is read. Records consisting of only space
characters (including records generated by the ADVANCING phrase) will be entirely suppressed, i.e. of 0 length. The
behavior when this option is set is consistent with the standard Micro Focus COBOL behavior for line sequential files
output.
Using this option will cause record rewrite errors (50, 01) if a record is written with suppressed trailing spaces and then subsequently rewritten. For this reason, it is recommended that this option not be used unless Micro Focus compatibility is required.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not suppress trailing spaces in line sequential output records and space-fill input records to the minimum record length of the file. |
| true | Suppress trailing spaces in line sequential output records and space-fill input records to the maximum record length of the file. |
truncate-binary
<truncate-binary>true</truncate-binary>Directs the runtime to limit the value stored in binary items to that reflected by the item’s PICTURE if and only if
this option is true. This is standard COBOL behavior, but programs originating in other COBOL environments may need this
option set to false to achieve correct behavior.
Note also that if the program is compiled with the truncate-binary option set to false, binary items will never be truncated and the setting of this option has no effect.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not truncate binary items according decimal precision in picture |
| true | Truncate binary items according decimal precision in picture |
version
--versionDirects the runtime to write the runtime version information to the standard output.
xml-export-attributes
<xml-export-attributes>false</xml-export-attributes>Directs the runtime to generate metadata attributes when forming XML elements for the EXPORT statement.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not output attributes. |
| true | Output attributes. |
xml-export-initial-values
<xml-export-initial-values>false</xml-export-initial-values>Directs the runtime to export a data item even when it's value matches its initial value.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not output item if it's value is equal to its initial value. |
| true | Output items regardless of value. |
xml-export-subscripts
<xml-export-subscripts>false</xml-export-subscripts>Directs the runtime to export subscript attributes on data items that have multiple occurances.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not output subscript attributes |
| true | Output subscript attributes for items with multiple occurences |
xml-ignore-unbindables
<xml-ignore-unbindables>true</xml-ignore-unbindables>Directs the runtime to ignore imported XML elements that cannot be bound to any data item within the IMPORTed structure.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Raise error condition if unbindable elements are IMPORTed |
| true | Ignore unbindable elements when IMPORTing |
xml-ignore-whitespace-content
<xml-ignore-whitespace>false</xml-ignore-whitespace>The configuration element name is <xml-ignore-whitespace>. The command-line long name is --xml-ignore-whitespace-content.
Directs the runtime to ignore whitespace content in imported XML elements.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Do not ignore any content within a bindable element during IMPORT |
| true | Ignore spurious whitespace in content |
xml-permissive-root-naming
<xml-permissive-root-naming>true</xml-permissive-root-naming>Directs the runtime to bind the root element in an IMPORT operation to the top-level IMPORT target regardless of
the name of the element.
The possible values for boolean are:
| Value | Description |
|---|---|
| false | Require that the name of the root element in an IMPORT operation match the target data item name |
| true | Allow the root element in an IMPORT to match the target data item regardless of name |
zoned-decimal-validation
<zoned-decimal-validation>STRICT</zoned-decimal-validation>Directs the degree to which the runtime should validate zoned decimal digits in DISPLAY-usage items when used in
arithmetic calculations and comparisons.
The possible values for validationEnumeration are:
| Value | Description |
|---|---|
| STRICT | Validates all digits for proper zone and combined and separate signs for proper value |
| ALLOW_SPACE | Allows SPACE characters to be treated as equivalent to (unsigned) 0 digits |
| ALLOW_SPURIOUS_SIGNS | Allows SPACEs and allows the signed zone value to be present in digits that are not in the sign position for the number being processed. In these cases the sign value is ignored |
| PERMISSIVE | Allows all of the preceding, and also permits any valid digits and signs in any valid zoned decimal system to be accepted and treated as the most likely digit value for that zoned system. For example, PERMISSIVE allows RM/COBOL’s combined sign default to be used in the same program as the Micro Focus default combined sign system. This is primarily useful when processing files that were produced on other COBOL systems and platforms |
| NONE | Directs the runtime to do no validation of zoned decimal digits or signs. This setting is appropriate when the user is confident that there are no issues with corruption of DISPLAY numeric data items in the program(s) |
Z
-ZUsed to indicate the end of parsed option on the command line invocation of the runtime.