Configuration Properties
The following tables list all the available configuration properties.
Licenses Configuration
Licenses properties cannot be set by SET ENVIRONMENT within the program. They must appear in the external configuration.
Property
Meaning
iscobol.compiler.license.2021
This property specifies the license code for the isCOBOL Compiler.
iscobol.easydb.license.2021
This property specifies the license code for isCOBOL Database Bridge.
iscobol.eis.license.2021
This property specifies the license code for isCOBOL EIS.
iscobol.license.2021
This property specifies the isCOBOL license code.
 
This license activates runtime and debugging features and controls how many concurrent users can connect to the Application Server.
iscobol.mobile.license.2021
This property specifies the license code for isCOBOL Mobile.
iscobol.udbc.license.2021
This property specifies the license code for isCOBOL UDBC.
Compiler Configuration
Unlike Framework properties, Compiler properties cannot be set by SET ENVIRONMENT within the program. Most of them can be set within the program using SET Directive if stripped of the "iscobol.compiler" prefix.
(*) The asterisk after the property name means that the property can’t be set using SET Directive, but can only appear in the external configuration.
Property
Meaning
iscobol.compiler.const.ConstantName
Sets the value for a constant that can be used by the compiler directives.
ConstantName is case insensitive but, since this is a configuration property, it’s good practice to use lower case text.
Refer to the Compiler Directives section for further details.
iscobol.compiler.efd_field_name_num (boolean)
True = field names that begin with a number are registered as they are in the EFD/ISS dictionaries.
False = field names that begin with a number are registered with a leading underscore in the EFD/ISS dictionaries.
 
This option affects the generation of EFD/ISS dictionaries as well as the generation of EDBI routines performed when iscobol.compiler.easydb (boolean) is set to true.
 
If omitted, False is assumed.
iscobol.compiler.esql.array.TypeName
This property specifies the field type within a ARRAY SQL type.
It’s used in conjunction with iscobol.compiler.esql.procedure.ProcedureName or the HOSTVAR Directive when they define parameters with dbtype=ARRAY.
 
TypeName must be written in lower case regardless of the case it has on the database.
 
For example, given the following procedure, that returns an array of varchar fields:
 
create or replace package MYPKG
IS
TYPE Tbl_TYPE
IS
TABLE OF VARCHAR(8)
INDEX BY BINARY_INTEGER;
 
PROCEDURE GET(P1 OUT Tbl_TYPE);
END MYPKG;
 
You would set:
 
iscobol.compiler.esql.procedure.mypkg.get=o,array,tbl_type
iscobol.compiler.esql.array.tbl_type=varchar
iscobol.compiler.esql.db2 (boolean)
True = manage ESQL in compatibility with IBM DB2. It activates the support for the SQLDA structure and a peculiar handling of DATE, TIME and TIMESTAMP parameters in functions.
False = manage ESQL in the standard way.
 
If omitted, False is assumed.
iscobol.compiler.esql.db2.fun.FunctionName
When iscobol.esql.db2 is set to true, the following DB2 functions are intercepted and handled by the Compiler:
 
ADD_DAYS, ADD_HOURS,
ADD_MINUTES, ADD_MONTHS, ADD_SECONDS, ADD_YEARS, AGE, DATE_PART,
DATE_TRUNC, DAYNAME, DAYOFMONTH, DAYOFWEEK, DAYOFWEEK_ISO, DAYOFYEAR,
DAYS, DAYS_BETWEEN, DAYS_TO_END_OF_MONTH, DATE, EXTRACT, FIRST_DAY,
ROM_UTC_TIMESTAMP, HOUR, HOURS_BETWEEN, JULIAN_DATE, MICROSECOND,
MIDNIGHT_SECONDS, MINUTE, MINUTES_BETWEEN, MONTH, MONTHNAME, MONTHS_BETWEEN, NEXT_DAY, NEXT_MONTH, NEXT_QUARTER, NEXT_WEEK,
NEXT_YEAR, QUARTER, ROUND, ROUND_TIMESTAMP, SECOND, SECONDS_BETWEEN,
THIS_MONTH, THIS_QUARTER, THIS_WEEK, THIS_YEAR, TIME, TIMESTAMP,
TIMESTAMP_FORMAT, TIMESTAMP_ISO, TIMESTAMPDIFF, TIMEZONE, TO_CHAR,
VARCHAR_FORMAT, WEEK, WEEK_ISO, WEEKS_BETWEEN, YEAR, YEARS_BETWEEN,
YMD_BETWEEN
 
If programs use other functions (e.g. user defined functions) that require DATE, TIME or TIMESTAMP parameters, you can inform the Compiler through this configuration property, that should be set for each function with DATE, TIME or TIMESTAMP parameters not listed above.
The value of this property is the list of database types for each parameter. Semicolon is used as separator between multiple database types.
Any Java SQL type is allowed. Refer to the java.sqlTypes javadoc for the list of possible values.
 
For example, assuming that the programs invoke an user defined function named MY_TS_BUILDER that takes a DATE parameter, a TIME parameter and a BOOLEAN parameter and returns a TIMESTAMP as result, you should set:
 
iscobol.compiler.esql.db2.fun.my_ts_builder=DATE;TIME;BOOLEAN
iscobol.compiler.esql.procedure.ProcedureName
This property specifies the signature of a stored procedure. The compiler uses this information to bind the host variables used as parameters. The value of this property has the following format:
 
type[,dbtype[,typename]];type[,dbtype[,typename]];...;type[,dbtype[,typename]]
 
Where:
type is the parameter type; use "i" for input, "o" for output and "u" for input-output.
dbtype is the type of the corresponding database field. Any Java SQL type is allowed. Refer to the java.sqlTypes javadoc for the list of possible values. If the dbtype is ARRAY, specify also the type name; the Compiler will look for the configuration property iscobol.compiler.esql.array.TypeName in order to know which field type is used in the array. If dbtype is omitted, dbtype=OTHER is assumed.
 
ProcedureName must be written in lower case regardless of the case it has on the database. If the procedure is included in a package, the package name must be specified as well.
 
For example, given the following procedure:
 
create or replace package MYPKG
IS
PROCEDURE PROC1( P1 IN NUMBER, P2 OUT VARCHAR);
END MYPKG;
 
You would set:
 
iscobol.compiler.esql.procedure.mypkg.proc1=i,numeric;o,varchar
iscobol.compiler.generate.keep_structure (boolean)
True = Recreate the "bean", "easydb", and "servicebridge" subfolders in the output folder pointed by the -od=DirName option when compiling Database Bridge routines and ServiceBridge programs.
False = Put the classes in the output folder pointed by -od=DirName option when compiling Database Bridge routines and ServiceBridge programs. These classes will be mixed with the classes of other COBOL programs.
 
The default value is False.
 
Note - the "easylinkage" folder is not affected by this setting.
iscobol.compiler.generate.root_dir
Specifies the directory where the Compiler will create the subfolders to host the source code for Database Bridge routines, ServiceBridge programs and EasyLinkage programs.
 
If this property is not set, then the same directory as the source file is assumed as root directory for the subfolders.
iscobol.compiler.gui.<control-type>.defaults
Specifies the default properties and styles for graphical controls.
 
When the Compiler finds a graphical control in the source, the code specified by this configuration entry is placed at the beginning of the control description in order to be overridden by the original COBOL code if a conflict occurs.
 
Both SCREEN SECTION and DISPLAY statement are affected.
 
Valid values for control-type are:
bar
bitmap
check_box
combo_box
date_entry
entry_field
frame
grid
java_bean
label
list_box
push_button
radio_button
ribbon
scroll_bar
slider
status_bar
tab_control
tree_view
web_browser
window
tool_bar
 
Example:
 
Let’s consider these two labels:
 
03 label 
   line 2 col 2 title "label 1".
03 label 
   line 4 col 2 title "label 2" font medium-font.
 
Setting iscobol.compiler.gui.label.defaults=color 5 font small-font makes the Compiler translate the above code as follows:
 
03 label 
   color 5 font small-font
   line 2 col 2 title "label 1".
03 label 
   color 5 font small-font
   line 4 col 2 title "label 2" font medium-font.
 
iscobol.compiler.indd
When this property is set, all format 1 ACCEPT statements which either have no FROM option or specify FROM SYSIN are transformed into READ statements, reading from the file specified by this property.
 
Example:
 
iscobol.compiler.indd=in.txt
 
If a relative path is provided, it’s resolved according to the runtime working directory.
In thin client environment, the file is searched client side.
If the file is not found, the system input (SYSIN) is used.
 
The name of the indd file can be changed at runtime via configuration if iscobol.file.env_naming (boolean) is set to true.
 
The management of the file can be performed by a custom file handler specified by the configuration property iscobol.file.indd.
iscobol.compiler.iss_julian_base
Specifies the julian base date in the format YYYYMMDD. This property affects only iss dictionaries generated by the -efc option.
If this property is not set, no base date is registered in the iss dictionary and c-treeSQL will use March 1st 1700 as base date for julian dates.
iscobol.compiler.javac
Specifies the name of the Java compiler to be used in place of the default.
 
This property is ignored by the IDE. When you work with the IDE, the Java compiler has to be configured in the Preferences.
iscobol.compiler.javac.options
List of options that should be passed to the Java compiler. Multiple options must be separated by space. A possible values for this property is:
 
-source 1.8 -target 1.8
 
The above options create classes that are compatible with previous verions of Java (in this case 1.8 and higher)
 
Options can also be passed to the Java compiler through the -jo compiler option.
 
This property is ignored by the IDE. When you work with the IDE, the Java compiler options have to be configured in the Preferences.
iscobol.compiler.max_constants *
This property sets the maximum number of constants that can be generated into a class when the -big option is used. When the number is exceeded, the program is split into multiple class files.
 
The default value is 1000
iscobol.compiler.max_hostvars *
This property sets the maximum number of host variables that can be used in an ESQL statement. When the number is exceeded, the program is split into multiple class files.
 
The default value is 700
iscobol.compiler.max_paragraphs *
This property sets the maximum number of paragraphs that can be generated into a class when the -big option is used. When the number is exceeded, the program is split into multiple class files.
 
The default value is 300
iscobol.compiler.messagelevel.(error-number)=(action)
This property allows you to choose which errors should be traced when compiling. The (error-number) is the number that appears at the beginning of the error message. (action) can be one of the following values:
 
0 = Do not show
1 = Show as Informational
2 = Show as Warning
3 = Show as Error
4 = Show as Severe Error
 
For example, to map the following Error (--E: 154 End statement required END-EVALUATE;) as Informational, this setting must be used:
 
iscobol.compiler.messagelevel.154=1
 
Refer to Error numbers list for the list of error messages and their number.
 
Note - if error-number refers to a Severe error, then the property will have no effect, as it’s not possible to downgrade the severity of a Severe error.
iscobol.compiler.oop.trim_parameters
True = Alphanumeric data items mapped to java.lang.String parameters in object oriented programming are automatically trimmed.
False = Alphanumeric data items mapped to java.lang.String parameters in object oriented programming are not automatically trimmed.
 
The default value is True.
iscobol.compiler.options *
Lists compiler options. Refer to the Compiler Options section for further details. These options are used along with the ones specified on the command-line. Multiple options must be separated by space.
 
Example:
iscobol.compiler.options=-b -cudc
iscobol.compiler.outdd
When this property is set, all format 1 DISPLAY statements which either have no UPON option or specify UPON SYSOUT are transformed into WRITE statements, writing to the file specified by this property. Along with the file name it’s possible to specify two optional parameters: the record size and the file type. The file type can be either "L" for Line Sequential (default) or "R" for Record Sequential. Parameters must be separated by space.
 
Example of setting with just the file name:
 
iscobol.compiler.outdd=out.txt
 
Example of setting with all parameters:
 
iscobol.compiler.outdd=out.txt 10 L
 
If a relative path is provided, it’s resolved according to the runtime working directory.
In thin client environment, the file is searched client side.
If the file can’t be created, the system output (SYSOUT) is used.
 
The file is initialized when the JVM starts and remains locked until the JVM terminates. If multiple COBOL programs refer to the same outdd file, the information that they display is appended to the existing content in the file.
 
The name of the outdd file can be changed at runtime via configuration if iscobol.file.env_naming (boolean) is set to true.
 
The management of the file can be performed by a custom file handler specified by the configuration property iscobol.file.outdd.
iscobol.compiler.regexp *
This property allows you to modify the source code on the fly at compile time through regular expressions.
 
See Source code preprocessing for details.
Properties for the EasyLinkage feature
Property
Meaning
iscobol.compiler.easylinkage (boolean)
0 = The EasyLinkage feature is turned off. No bridge classes are generated.
1 = The EasyLinkage feature is turned on and it generates bridge classes for each COBOL program with Linkage Section.
2 = The EasyLinkage feature is turned on and it generates stub classes for each CALL statement.
3 = The EasyLinkage feature is turned on and it generates both bridge classes and stub classes.
 
 
The default value is 0.
iscobol.compiler.easylinkage.cut
This property specifies the substrings to be removed from the Linkage Section data items name before creating the corresponding Java object in the bridge program. Multiple values must be separated by space.
 
For example: if a data item is named "lnk-p1" and this property is set to "lnk-", then the item will be considered as "p1".
iscobol.compiler.easylinkage.decoration (boolean)
True = Linkage Section data items name is capitalized according to Java rules in order to build the name of the corresponding Java object in the bridge program.
False = Linkage Section data items name is normalized according to COBOL rules (it’s made uppercase replacing hyphens with underscores) in order to build the name of the corresponding Java object in the bridge program.
 
For example: if a data item is named "lnk-p1", the corresponding Java object will be named "lnkP1" if this property is set to true, "LNK_P1" otherwise.
 
The default value is True.
iscobol.compiler.easylinkage.package
This property specifies the package that the generated classes must belong to.
 
By default, no package is used.
iscobol.compiler.easylinkage.prefix
This property specifies a prefix to be put before the name of the generated bridge class.
 
For example: if the compiled program is named "PROG1" and this property is set to "bridgeTo", then the generated class will be named "bridgeToPROG1".
 
The default value is "link".
Database Bridge (EasyDB) Configuration
Property
Meaning
iscobol.compiler.easydb (boolean)
True = The Compiler generates bridge classes that allow the COBOL programs to access RDBMS in the same way as they do with ISAM indexed files.
False = No bridge class is generated.
 
The default value is False.
iscobol.compiler.easydb.db2 (boolean)
True = Generate EDBI routines suitable for IBM DB2.
False = Don’t generate EDBI routines suitable for IBM DB2.
 
The default value is False.
iscobol.compiler.easydb.db2_as400 (boolean)
True = Generate EDBI routines suitable for IBM DB2 on AS/400.
False = Don’t generate EDBI routines suitable for IBM DB2 on AS/400.
 
The default value is False.
iscobol.compiler.easydb.db2_as400.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.db2_as400=true.
The default value is "d24".
iscobol.compiler.easydb.db2.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.db2=true.
The default value is "db2".
iscobol.compiler.easydb.defchar (boolean)
True = Map alphanumeric COBOL fields to CHAR on the database.
False = Map alphanumeric COBOL fields to VARCHAR on the database.
 
The default value is False.
iscobol.compiler.easydb.duplicates_in_order (boolean)
True = Return records with duplicate key values in the primary key order.
False = Return records with duplicate key values as you read them from the database.
 
The default value is False.
iscobol.compiler.easydb.entry_points (boolean)
True = Generate entry-points in the EDBI routine where the user can inject customized code.
False = Don’t generate entry-points.
 
 
The default value is False.
iscobol.compiler.easydb.generic (boolean)
True = Generate generic EDBI routines.
False = Don’t generate generic EDBI routines.
 
The default value is False, however generic EDBI routines are generated by default if compiler.easydb is true and all the easydb.<rdbms> properties are false.
iscobol.compiler.easydb.generic.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.generic=true.
The default value is "gen".
iscobol.compiler.easydb.high_values_as_max_val (boolean)
True = Replace high-values with the maximum value allowed by the field.
False = Don’t replace high-values in the fields.
 
This option affects numeric items that cannot be set to HIGH-VALUE. It doesn’t affect COMP, BINARY, COMP-X, COMP-5 and COMP-2 as well as numeric items for which either the ALPHA Directive or the DATE Directive were used.
 
The default value is False.
iscobol.compiler.easydb.index_only (boolean)
True = Generate EDBI routines only for indexed files.
False = Generate EDBI routines for indexed, line sequential, relative and sequential files.
 
The default value is True.
iscobol.compiler.easydb.informix (boolean)
True = Generate EDBI routines suitable for Informix
False = Don’t generate EDBI routines suitable for Informix.
 
The default value is False.
iscobol.compiler.easydb.informix.dates_as_strings (boolean)
True = Use the string representation to deal with dates.
False = Use conversion functions to deal with dates.
 
The default value is False.
 
This property is considered only for Informix.
iscobol.compiler.easydb.informix.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.informix=true.
The default value is "ifx".
iscobol.compiler.easydb.isam_eof (boolean)
True = Use ISAM positioning rules on end of file.
False = Don’t use ISAM positioning rules on end of file.
 
The default value is False.
iscobol.compiler.easydb.julian_routines=<cbdb>;<dbcb>
This property specifies the name of custom routines for julian dates management. Two routines must be provided: the first is for conversions between COBOL and database while the second is for conversions between database and COBOL. The two names must be separated by semicolon.
 
In order to create these routines, you can edit and customize EDBI-DTJUCBDB.cbl and EDBI-DTJUDBCB.cbl installed under $ISCOBOL/easydb/edbisource.
 
If the property is not set, then the standard EDBI routines EDBI-DTJUCBDB and EDBI-DTJUDBCB stored in the isCOBOL runtime library are used.
iscobol.compiler.easydb.light_cursors
This property is considered only for MySQL and PostgreSQL.
When set to "1" or "2", the EDBI routines perform a pagination of the read records.
Possible values are:
 
0 = No pagination
1 = Pagination only when using a UNIQUE index
2 = Pagination for every index
 
The default value is 0.
 
Note - An additional column named OID is generated in the tables when the value 2 is used. For this reason, routines generated with light_cursors=2 can’t work on tables that were created by routines generated with a different value of light_cursors and vice versa.
 
The number of records per page is controlled by the configuration properties iscobol.easydb.mysql_row_limit and iscobol.easydb.postgres_row_limit respectively.
iscobol.compiler.easydb.max_char_len
This property sets the size limit used by EDBI routines to choose if the an alphanumeric COBOL field must be mapped to CHAR or VARCHAR. If the size of the COBOL field is not greater than the value of the property, then the field is mapped to CHAR, otherwise it is mapped to VARCHAR.
 
The default value is 0.
iscobol.compiler.easydb.mysql (boolean)
True = Generate EDBI routines suitable for MySQL.
False = Don’t generate EDBI routines suitable for MySQL.
 
The default value is False.
iscobol.compiler.easydb.mysql.hints (boolean)
This property is considered only for MySQL. It forces the use of hints within queries used to simulate the COBOL Start statement. This should speed up the reading of records.
Possible values are:
 
True = Use hints
False = Don’t use hints
 
The default value is False.
iscobol.compiler.easydb.mysql.oid_name
This property specifies the name of the OID column generated when iscobol.compiler.easydb.light_cursors is set to 2. It’s considered only for MySQL.
 
The default value is "OID".
iscobol.compiler.easydb.mysql.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.mysql=true.
The default value is "mys".
iscobol.compiler.easydb.names_with_leading_zeros (boolean)
True = Use leading zeroes in OCCURS item names.
The number of leading zeroes depends by the occurs size. EasyDB puts before as many zeroes as it takes to reach the number of digits of the occurs size.
False = Don’t use leading zeroes in OCCURS item names.
 
Example:
Consider the following COBOL items:
 
  03 my_item_a pic x(10) occurs 3.
  03 my_item_b pic x(10) occurs 30.
  03 my_item_c pic x(10) occurs 300.
 
If the property is false, then the columns are named:
 
  my_item_a_1, my_item_a_2, my_item_a_3
  my_item_b_1, my_item_b_2, my_item_b_3, ... my_item_b_30
  my_item_c_1, my_item_c_2, my_item_c_3, ... my_item_c_300
 
If the property is true, then the columns are named:
 
  my_item_a_1, my_item_a_2, my_item_a_3
  my_item_b_01, my_item_b_02, my_item_b_03, ... my_item_b_30
  my_item_c_001, my_item_c_002, my_item_c_003, ... my_item_c_300
 
 
The default value is False.
iscobol.compiler.easydb.no_check (boolean)
True = Don’t check for table existence during OPEN.
False = Check for table existence during OPEN.
 
The default value is False.
 
Note - disabling the check of table existence may improve performance, especially if your programs use the OPEN statement a lot. However, there are also few side effects, for example, since the OPEN will never fail with ‘file not found’ you will not be able to create with I$IO having io_creates=1 in the configuration. Also, if the table doesn’t exist but the OPEN doesn’t fail, you might have odd errors in the next operations.
iscobol.compiler.easydb.oracle (boolean)
True = Generate EDBI routines suitable for Oracle.
False = Don’t generate EDBI routines suitable for Oracle.
 
The default value is False.
iscobol.compiler.easydb.oracle.hints
This property is considered only for Oracle. It forces the use of hints within queries used to simulate the COBOL Start statement. This should speed up the reading of records.
Possible values are:
 
0 = Don’t use hints.
1 = Use hints but keep the ORDER BY in they query
2 = Use hints and discard the ORDER BY in the query, assuming that records will be sorted according to the index set by the hint.
 
The default value is 0.
iscobol.compiler.easydb.oracle.index_storage_initial_value
This property is considered only for Oracle. It specifies the initial storage value for indexes.
 
If not set, then the default storage value is used.
iscobol.compiler.easydb.oracle.index_storage_next_value
This property is considered only for Oracle. It specifies the next storage value for indexes.
 
If not set, then the default storage value is used.
iscobol.compiler.easydb.oracle.index_storage_pctincrease_value
This property is considered only for Oracle. It specifies the initial pctincrease for indexes.
 
If not set, then the default pctincrease value is used.
iscobol.compiler.easydb.oracle.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.oracle=true.
The default value is "ora".
iscobol.compiler.easydb.oracle.table_storage_initial_value
This property is considered only for Oracle. It specifies the initial storage value for tables.
 
If not set, then the default storage value is used.
iscobol.compiler.easydb.oracle.table_storage_next_value
This property is considered only for Oracle. It specifies the next storage value for tables.
 
If not set, then the default storage value is used.
iscobol.compiler.easydb.oracle.table_storage_pctincrease_value
This property is considered only for Oracle. It specifies the initial pctincrease for tables.
 
If not set, then the default pctincrease value is used.
iscobol.compiler.easydb.oracle.tablespace_index_name
This property is considered only for Oracle. It specifies the name of the tablespace where indexes must be created and searched.
 
If not set, then the default tablespace is used.
iscobol.compiler.easydb.oracle.tablespace_name
This property is considered only for Oracle. It specifies the name of the tablespace where tables must be created and searched.
 
If not set, then the default tablespace is used.
iscobol.compiler.easydb.oracle.wait_for_lock
This property is considered only for Oracle. It specifies how the EDBI routine should behave when a record locked condition occurs. You can choose between waiting for the lock to be released or returning an error to the COBOL program.
Possible values are:
 
0 = Never wait for locks and return an error instead
1 = Always wait for locks
2 = Wait for locks or return an error depending on the iscobol.easydb.wait_for_lock (boolean) runtime setting
 
The default value is 0.
iscobol.compiler.easydb.output
This property specifies the output directory where the EDBI routine must be generated. If not set, then the routine is generated in the same directory as the COBOL source file.
iscobol.compiler.easydb.postgres (boolean)
True = Generate EDBI routines suitable for PostgreSQL.
False = Don’t generate EDBI routines suitable for PostgreSQL.
 
The default value is False.
iscobol.compiler.easydb.postgres.oid_name
This property specifies the name of the OID column generated when iscobol.compiler.easydb.light_cursors is set to 2. It’s considered only for PostgreSQL.
 
The default value is "OID".
iscobol.compiler.easydb.postgres.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.postgres=true.
The default value is "pgs".
iscobol.compiler.easydb.sql (boolean)
True = Generate a script file with .sql extension that includes the CREATE TABLE statement.
False = Don’t generate script files.
 
The default value is False.
iscobol.compiler.easydb.sql.output
This property specifies the output directory where the script files must be generated. If not set, then the script files are generated in the same directory as the COBOL source file. This property is considered only if iscobol.compiler.easydb.sql (boolean) is set to true.
iscobol.compiler.easydb.sqlserver (boolean)
True = Generate EDBI routines suitable for Microsoft SQL Server.
False = Don’t generate EDBI routines suitable for Microsoft SQL Server.
 
The default value is False.
iscobol.compiler.easydb.sqlserver.datetime_always (boolean)
True = Every field with EFD DATE directive becomes a DATETIME, regardless of the date format string.
False = Fields with EFD DATE directive become DATE, TIME or DATETIME according to the date format string.
 
The default value is False.
 
This property is considered only for Microsoft SQL Server.
iscobol.compiler.easydb.sqlserver.latin1_general_bin
This property is considered only for Microsoft SQL Server. It forces the use of latin1_general_bin collating sequence, ensuring that data is ordered according to the ASCII value of the characters.
Possible values are:
 
0 = Don’t use the latin1_general_bin collating sequence
1 = Use latin1_general_bin during CREATE TABLE
2 = Use latin1_general_bin during ORDER BY
 
The default value is 0.
iscobol.compiler.easydb.sqlserver.prefix
This property specifies the prefix that will be put before each indexed file name to build the bridge program name when easydb.sqlserver=true.
The default value is "srv".
iscobol.compiler.easydb.test_not_numeric
This property allows you to write zeros instead of non-numeric values in numeric key fields, avoiding data conversion errors that might occur with some JDBC drivers.
Possible values are:
 
0 = No action
1 = Write zero instead of non-numeric values
2 = Same as "1", but with trace. The trace is stored in the file pointed by the iscobol.edbi.notnum.tracefile runtime setting.
 
The default value is 0.
iscobol.compiler.easydb.unlock_all (boolean)
True = Enable the support for UNLOCK ALL statement.
False = It’s not possible to perform UNLOCK ALL.
 
The default value is False.
Service Bridge Configuration
Property
Meaning
iscobol.compiler.servicebridge (boolean)
True = The Compiler generates bridge classes that allow the COBOL programs to be used as a Web Service.
False = No bridge class is generated.
 
The default value is False.
iscobol.compiler.servicebridge.bean
This property specifies the service type for which a bean client program should be generated along with the bridge program. Valid values are:
 
SOAP = Generate beans for SOAP Web Services
REST = Generate beans for REST Web Services
iscobol.compiler.servicebridge.bean.package
This property specifies the package for the bean class.
 
By default, there’s no package.
iscobol.compiler.servicebridge.bean.prefix
This property specifies the prefix to be applied to the bean client program name.
 
The default value is "bean".
iscobol.compiler.servicebridge.bean.url
This property specifies the URL to which the bean client program must connect.
 
The default value is "http://localhost:8080/services"
iscobol.compiler.servicebridge.type
This property specifies what type of service will be provided by the bridge classes. Possible values are:
 
SOAP = SOAP Web Service
REST = REST Web Service
 
The default value is "SOAP".
iscobol.compiler.servicebridge.rest.prefix
This property specifies the prefix that will be put before the COBOL program name to build the bridge program name when servicebridge.type=REST.
 
The default value is "rest".
iscobol.compiler.servicebridge.soap.charset
This property specifies the encoding that should be used int the SOAP service response.
 
All the canonical names listed in the following Java documentation can be used as value for this property:
 
 
The default value is "UTF-8"
iscobol.compiler.servicebridge.soap.namespace_suffix
This property specifies the string to be appended to the value of iscobol.compiler.servicebridge.soap.namespace_suffix in order to compose the final namespace.
 
By default, the COBOL program name is used.
iscobol.compiler.servicebridge.soap.prefix
This property specifies the prefix that will be put before the COBOL program name to build the bridge program name when iscobol.compiler.servicebridge.type=SOAP.
 
The default value is "soap".
iscobol.compiler.servicebridge.soap.url
This property specifies the Web Service base URL.
 
The default value is "http://localhost:8080"
iscobol.compiler.servicebridge.soap.style
This property specifies the SOAP messaging style.
Possible values are:
 
Document = use Document style
RPC = use RPC style
 
The Document style indicates that the SOAP body contains a XML document which can be validated against pre-defined XML schema document.
RPC indicates that the SOAP message body contains an XML representation of a method call and uses the names of the method and its parameters to generate XML structures that represent a method’s call stack.
 
The default value is "RPC".
iscobol.compiler.servicebridge.soap.namespace
This property specifies the unique namespace in order for client applications to distinguish your SOAP Web Service from other services on the Web.
 
The default value is "http://tempuri.org"
iscobol.compiler.servicebridge.package
This property specifies a package for the generated bridge class.
 
By default, the bridge classes have no package.
General Runtime Configuration
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Property
Meaning
iscobol.array_cache
This property represents the number of OCCURS elements stored in memory for increasing performances.
 
Setting this property to 0 or to a negative value, disables the array caching feature.
 
The default value is 101.
iscobol.array_check *
-1 = Array boundaries are checked at Runtime in order to provide more details in case of "out of bounds" errors. If a program addresses an item that is outside the valid range, an error message is written to the log (iscobol.tracelevel must be set to a value greater than zero). The error message informs about the data item name and the problematic index value.
0 = Array boundaries are not checked. If a program addresses an item that is outside the valid range, a generic "out of bounds" error message is shown and the program exits. The -m1 option may avoid the crash and make the program access the area of the next Working-Storage item instead.
1 = Array boundaries are checked at Runtime in order to provide more details in case of "out of bounds" errors. If a program addresses an item that is outside the valid range, an error message is shown and the program exits. The error message informs about the data item name and the problematic index value.
 
Note - for an accurate error message, program shouldn’t be compiled with the -ostrip option.
 
The default value is 0.
iscobol.call_cancel.hook
This property specifies the name of a class that the runtime will invoke before and after each CALL and CANCEL statement.
The class must implement the com.iscobol.rts.CallHandler interface.
Refer to the javadoc installed with isCOBOL for more details.
iscobol.call_run.sync (boolean)
True = The calling program in a CALL RUN waits for the called program to terminate before proceeding.
False = The calling program in a CALL RUN doesn’t wait for the called program to terminate before proceeding.
 
The default value is False.
iscobol.check.numeric_content *
-1 = an exception is written to the log for USAGE DISPLAY numeric and numeric-edited variables that don’t contain a number. iscobol.tracelevel must be set to a value greater than zero.
0 = no exceptions are thrown for USAGE DISPLAY numeric and numeric-edited variables that don’t contain a number.
1 = an exception is thrown for USAGE DISPLAY numeric and numeric-edited variables that don’t contain a number.
 
The default value is 0.
 
The check is performed when the Framework reads bytes from the memory and transform them to a number, for example when the program displays numeric data items or when arithmetic operations are performed.
 
For numeric edited items the exception is thrown if there isn’t a numeric digit in correspondence with the '9' characters of the picture.
iscobol.checkdiv
This property allows you to specify an alternate runtime response to a divide by zero condition when the statement does not include a ON SIZE ERROR clause. Valid values are:
 
-1 = The error message "Attempt to divide by zero" is written to the log (iscobol.tracelevel must be set to a value greater than zero) and the program aborts.
0 = Results are undefined.
1 = The program aborts with the error message "Attempt to divide by zero".
2 = The result is zero.
3 = The result is the dividend, as if the division was by 1 instead of by zero.
 
Note - for an accurate error message, program shouldn’t be compiled with the -ostrip option.
 
The default value is 0.
iscobol.code_prefix
This property lists the paths and the jar libraries in which programs are searched. Multiple values must be separated by the line feed character or by the current operating system path separator.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
An asterisk can be specified at the end of a path to include all the jars in that path.
 
code_prefix is used by:
CALL STATEMENT
isrun and iscrun commands
isCOBOL Server
WebDirect
 
CLASSPATH is read first, then code_prefix is read. This means that if the same program is found in both CLASSPATH and code_prefix, it’s loaded from CLASSPATH. If code_prefix is not set, CLASSPATH is used instead.
 
All classes loaded from code_prefix are loaded into memory each time they are called, if the program cancels these classes from memory (see CANCEL STATEMENT). A class is reloaded from disk only if the disk file last modification timestamp is different from the last modification timestamp of the class loaded in memory.
Programs loaded from CLASSPATH, instead, are always stored in memory until the Runtime Framework terminates and the CANCEL STATEMENT just initializes their DATA DIVISION.
 
When code_prefix is set, it’s possible to specify a path in the name of the programs, e.g.
CALL "/path/to/PROG1"
isrun path\to\PROG1
 
COBOL classes (programs that have CLASS-ID in their IDENTIFICATION DIVISION) are loaded from the code_prefix only if they're in the same location as the COBOL program (a program that has PROGRAM-ID in its IDENTIFICATION DIVISION) that invokes them and they're cancelled and reloaded along with that COBOL program. However, loading COBOL classes from the code_prefix may create issues; for example it’s not possible to implement the same interface in two different COBOL classes without causing a ClassCastException. Loading COBOL classes from the code_prefix is discouraged. COBOL classes should always be loaded from the CLASSPATH.
iscobol.code_prefix.reload (boolean)*
This property can be set along with iscobol.code_prefix to alter the class loading logic.
 
True = The runtime accesses the disc in order to find if the program class file changed. If the program class file has changed, the runtime reloads the class from disc.
False = The runtime reloads from disc only those programs that were unloaded by C$UNLOAD. No check is performed on the program class file last modification date.
 
The default value is True
iscobol.conf *
This property specifies a configuration file to be used by the Framework. This configuration file is used along with other configuration sources as explained in Configuration.
 
This property can be specified only on the command line. Setting it in a configuration file has no effect.
iscobol.conf.only *
This property specifies a configuration file to be used exclusively by the Framework. No other configuration sources are inquired when this property is set.
iscobol.conf.var_delimiters
This property allows you to set delimiters for free text (comments) and Java variables within configuration property values.
 
For example, having
iscobol.conf.var_delimiters=/*.*/
iscobol.jver=/*java.version*/
iscobol.hello=Hello,/* this is a comment */ World!
 
the configuration variable jver will have the value “1.8.0_261” (assuming that you’re working with this JVM) and the configuration variable hello will have the value “Hello, World!”
 
Refer to the table in C$GETENV documentation for a list of Java properties that you can include between delimiters.
iscobol.crypt.algorithm
This property specifies the symmetric-key algorithm used by C$DECRYPT and C$ENCRYPT library routines.
See the Cipher section in the Java Cryptography Architecture Standard Algorithm Name Documentation for information about standard algorithm names.
 
The default value is "AES".
iscobol.current_date
This property changes the format used in CURRENT-DATE (IBM DOS/VS COBOL compatibility).
 
0 = MM/DD/YY is used.
1 = DD/MM/YY is used.
 
The default value is 0.
iscobol.default_options
This property specifies the default command line options used by the runtime (iscrun) and the client (iscclient).
 
When used with iscrun, if the value of this property includes either the -c option or the -conly option and the configuration file pointed to by this option includes another iscobol.default_options setting, such setting is ignored.
 
When used with iscclient, if the value of this property includes the -lc option and the configuration file pointed to by this option includes another iscobol.default_options setting, this second setting of iscobol.default_options is ignored.
iscobol.default_program
This property specifies the name of the program to be executed when no program is specified on the command line. The name of the program specified by this property can be followed by a list of parameters separated by space that the program will receive as chaining parameters.
 
Example:
iscobol.default_program=MAIN_MENU company1 user1
 
In thin client environment the property can be specified either in the remote configuration file or in the local configuration file. If the property is specified in both configuration files, then the value in the local configuration file is considered.
iscobol.dll_convention
This property sets the convention used when the DLL function is called.
 
0 = C convention.
1 = PASCAL (or WINAPI) convention.
 
The default value is 0.
iscobol.encoding *
This property specifies the encoding character set of the application. All the canonical names listed in the following Java documentation can be used as value for this property:
 
 
This property can appear only in the configuration file. Setting it with the SET ENVIRONMENT Statement has no effect.
 
In thin client environment it’s good practice to use the same encoding on both client side and server side.
 
The default depends upon the operating systems.
iscobol.display_message
This property defines how messages are shown to the user. It affects both messages displayed by the program through DISPLAY MESSAGE BOX statement and error messages shown by the runtime system.
 
In thin client environment it is also evaluated on the client side for the Client connection error messages.
 
Possible values are:
 
0 = All messages are shown in a message box.
1 = All messages are sent to sysout. In a thin client environment, runtime error messages are sent to the server sysout while messages displayed by the program are sent to the client sysout.
2 = All messages are sent to syserr. In a thin client environment, runtime error messages are sent to the server syserr while messages displayed by the program are sent to the client syserr.
3 = Messages displayed by the program are sent to the syserr (client syserr in thin client) while runtime error messages are printed to a file named <program_name><number>.ads.log (where <number> is a progressive number calculated by the runtime). The file name and location can be customized via the iscobol.exception.dumpfile property.
 
Any other value is equivalent to 2.
 
The default value is 0.
 
(iscobol.exception_message is still supported for backward compatibility, but this property affects only messages produced after the first COBOL program has been loaded)
iscobol.exception.dump (boolean)
True = Produces "Abend Diagnostic Snapshot" (ADS) in addition to Java exceptions
False = No ADS is produced in addition to Java exceptions
 
The resulting exception is shown on video or printed to file according to the properties iscobol.display_message and iscobol.exception.message.
 
The default value is False
iscobol.exception.dumpfile
This property specifies the pathname of the file generated by setting iscobol.display_message=3 or iscobol.exception.message=3.
 
The following special characters are supported in the value of this property:
 
%p, program name
%d, current date in the form YYYYMMDD
%t, current time in the form HHMMSSTTT
%u, username
%h, hostname
 
If the value begins with the "+" character, then the report is appended to the specified file, otherwise the new report overwrites the specified file.
 
Example:
iscobol.exception.dumpfile=/tmp/%p.dump
 
If this property is not set, a file named <program_name><number>.ads.log (where <number> is a progressive number calculated by the runtime) is generated by default in the working directory.
 
(iscobol.exception.prefix is still supported for backward compatibility)
iscobol.exception.java (boolean)
True = Internal java methods are traced in exception messages.
False = COBOL paragraph names are traced in exception messages.
 
The default value is False.
iscobol.exception.message
This property defines how exception messages are shown to the user. It affects only error messages shown by the runtime system.
 
0 = Messages are shown in a message box.
1 = Messages are sent to sysout. In a thin client environment, they’re sent to the server sysout.
2 = Messages are sent to syserr. In a thin client environment, they’re sent to the server syserr.
3 = Messages are printed to a file named <program_name><number>.ads.log (where <number> is a progressive number calculated by the runtime). The file name and location can be customized via the iscobol.exception.dumpfile property.
 
Any other value is equivalent to 2.
 
The default value is 0.
 
Note that only the messages produced after the first COBOL program has been loaded (e.g. a ArrayOutOfBoundsException generated by OCCURS overflow) are affected by this setting. In order to affect all messages (e.g. a invalid command line error) set iscobol.display_message instead.
iscobol.help_program
This property identifies the COBOL program to be called for item’s help. The program is called with a implicit CALL statement so the program class can be loaded either from the Class Path or from the iscobol.code_prefix.
See Help automation for more details.
iscobol.help_program_mouse_stop_delay
This property enables the invocation of the help program specified by iscobol.help_program when the user leaves the mouse pointer over a control.
The value of this property is the number of milliseconds that the runtime must wait before invoking the help program.
Setting this property to 0 disables the feature. In this case the help program can be invoked only via keyboard. See Help automation for more details.
 
The default value is 0.
iscobol.hot_key.ProgramName
This property associates an exception value or a range of exception values with a hotkey program. The hotkey program will automatically be executed when the exception occurs. To define a range of values specify the minimum value followed by a dash and the maximum value.
 
Example:
 
iscobol.hot_key.myprog=100
 
(myprog will run automatically when the crt status is 100).
 
iscobol.hot_key.myprog=1-5
 
(myprog will run automatically when crt-status is 1, 2, 3, 4 or 5).
iscobol.jvm_options
This property specifies the command line options to be passed to the new Java virtual machines that are automatically instantiated by isCOBOL.
isCOBOL instantiates new Java virtual machines in these cases:
when the -d option appears on the command-line. In this case the Debugger starts and then it automatically instantiate a new JVM to run the program.
when iscobol.as.multitasking is set to a value greater than 0 in the configuration.
 
Multiple options must be separated by space, for example: iscobol.jvm_options=-Xms1024m -Xmx1024m.
 
The default value is "-Xms128m -Xmx128m".
iscobol.literal.numeric.comp (boolean)
True = literals are treated as USAGE COMP in LENGTH OF functions and other integer functions.
False = literals are treated as USAGE DISPLAY in LENGTH OF functions and other integer functions.
 
The default value is False.
iscobol.little_endian (boolean)*
True = Native numeric data items are stored in Little Endian format.
False = Native numeric data items are stored in Big Endian format.
 
The default value is system dependent.
 
This property is deprecated and shouldn’t be set as the current JVMs automatically use the correct endianness.
iscobol.logclass
This property specifies an alterante class to manage the trace of the runtime activity. The class must implement the com.iscobol.logger.Logger interface. See Slf4jLogger class (com.iscobol.logger.Slf4jLogger) for further details.
iscobol.logfile
This property specifies the path of the log file. Backslashes must be doubled. For example, the path "C:\MyLogDir\MyLogFile" would be "C:\\MyLogDir\\MyLogFile".
 
Note: To produce a trace log, set iscobol.tracelevel to a non-zero value.
 
The isCOBOL framework uses the java.util.logger package, and there are many configuration options.
 
For example, you can specify "%h" in the iscobol.logfile and it will be replaced by the user's home directory.
 
You can specify a "%u" in the iscobol.logfile and it will be replaced with a unique number at runtime to resolve conflicts.
 
The %u is replaced by a unique number, 0, 1, 2, .... The logic to determine the unique number is to use the lowest number that is not in current use by a process. The log files are "locked" by creating a ".lck" file, and are unlocked by deleting that ".lck" file. So if the filename is fred%u.log and fred0.log.lck exists, the process will create fred1.log (and fred1.log.lck). If fred0.log.lck does not exist then the process will overwrite fred0.log. It does not get appended to.
 
(The javadoc for FileHandler says "If the FileHandler tries to open the filename and finds the file is currently in use by another process it will increment the unique number field and try again. This will be repeated until FileHandler finds a file name that is not currently in use")
 
See https://docs.oracle.com/javase/8/docs/api/index.html?java/util/logging/FileHandler.html for other pattern components and logging properties.
 
To include a process ID in the log filename on UNIX/Linux, create a shell script and use $$ to substitute the process id of the current shell. For example, to create a log file named myapp followed by an underscore and the process id of the shell, specify "-Discobol.logfile=myapp_$$.log" on your java command line.
 
Note that these log files will accumulate until they are deleted or until the process id wraps around.
 
If you do not set iscobol.logfile then the trace log will be written to $ISCOBOL/bin/isrun.log where $ISCOBOL is the isCOBOL installation directory.
 
The iscobol.logfile value should not be enclosed in double-quotes, even if there are embedded spaces in the path. On Windows, you can use forward slashes or double-backslashes. For example, any of the following will work:
 
iscobol.logfile=C:\\parent dir\\sub dir\\myapp.log
iscobol.logfile=C:/parent dir/sub dir/myapp.log
iscobol.logfile=/parent dir/sub dir/myapp.log
iscobol.logfile=%h/myapp%u.log
 
To include portions of the current date and time in the log path name, you can rely on the following patterns:
 
"%yyyy" the current year
"%mm" the current month (01-12)
"%dd" the current day (01-31)
"%hh" the current hour (00-23)
"%nn" the current minute (00-59)
"%ss" the current second (00-59)
"%cc" the current hundred of second (00-99)
 
If these patterns are used in the directory part of the path name, the runtime takes care of creating the necessary subfolders, if they don’t exist.
 
For example, if you set "iscobol.logfile=%h/logs/%hh%nn/iscobol.log" and launch the runtime at 3:01 PM, you will obtain the following log file: /home/username/logs/1501/iscobol.log.
 
In multithread environments, a separate log file for each thread is generated. The name of these log files has the format <name>.#, where <name> is the value of the iscobol.logfile property and # is a ordinal number assigned by isCOBOL to each new thread.
iscobol.logfile.append
True = Append content to the existing log file, if it exists
False = Overwrite the existing log file, if it exists
 
The default value is False.
iscobol.logfile.maxlen
This property specifies the maximum number of bytes that can be written in the log file. When this number is reached, the runtime cleans the log file before writing new information. You can set iscobol.logfile.number to a value greater than 1 in order to preserve one of more copies of the log files before they’re erased.
 
By default there’s no limit in the size of the log file.
iscobol.logfile.number
This property specifies how many log files can be kept on disk when iscobol.logfile.maxlen is set. The name of these log files is a concatenation between the value of iscobol.logfile and a progressive number starting from zero. It’s good practice to set this property to a value not less than 2 in order to preserve a bit of history of the program activity.
 
The default value is 1, that means only one log on disk.
iscobol.memory.alpha_edited (boolean)
True = Accept and VALUE clause on alphabetic-edited and alphanumeric-edited items overwrites editing characters.
False = Editing characters in alphabetic-edited and alphanumeric-edited items are always preserved.
 
For example, having the following data item:
 
 77 VAR1X-E PIC X/X/X VALUE "ABC".
 
If the property is true, VAR1X-E will contain “ABC” otherwise it will contain "A/B/C".
The program accepts VAR1X-E and the user types "AAA".
If the property is true, VAR1X-E will contain “AAA” otherwise it will contain “A/A/A”.
 
The default value is False.
iscobol.os.name
This property specifies the value that is returned in the corresponding data item of the SYSTEM-INFORMATION group item.
iscobol.properties.acu_compat (boolean)
True = Activates Acucobol-GT compatibility on configuration, that means:
environment variables have precedence on configuration properties
file name translation is repeated until no new translation is found
OPENSAVE-BROWSE-FOLDER starts from Computer rather than the current directory if opnsav-default-dir isn’t set
 
False = Doesn’t activate Acucobol-GT compatibility on configuration
 
The default value is False.
iscobol.recursion_data_global (boolean) *
True = Working-Storage and FD data are shared between programs called in recursion.
False = Each recursive program has its own Working-Storage and FD.
 
The default value is True.
iscobol.remote.code_prefix
This property calls remote programs by specifying the hostname and port on which an isCOBOL Server is listening. Values must begin with "isc://". Multiple values must be separated by "\n". For example:
 
isc://hostname1:portnumber1\nisc://hostname2:portnumber2
 
synchronous CALLs are executed by default.
 
asynchronous CALLs are also supported using the syntax CALL THREAD.
 
CALLs to client programs using the syntax CALL CLIENT as well as opening data files client-side by assigning them to the class “com.iscobol.io.RemoteRelative” are not supported. Remote programs cannot access client resources as it happens in the standard thin client environment.
 
If the called programs were compiled with -cp, then the iscp protocol must be used instead of isc, e.g.
 
iscp://hostname1:portnumber1\nisc://hostname2:portnumber2.
iscobol.resource.file
iscobol.resource.country
iscobol.resource.language
iscobol.resource.variant
These properties are used to define the name of the resource file for localization.
 
The name is composed as follows (square brackets enclose optional elements): file[_language[_country[variant]]].properties
 
These properties are loaded along with the program so if you set them dynamically with SET ENVIRONMENT they will affect the called programs and not the current program.
A sample of this feature is installed with isCOBOL in the folder $ISCOBOL_HOME/sample/multilanguage.
iscobol.rm.development_mode (boolean)
True = Activates the RM/COBOL development mode.
False = Disables the RM/COBOL development mode.
 
The default value is False.
 
Note - this setting has currently no effect.
iscobol.rundebug *
This property specifies how the Runtime interacts with the Remote Debugger.
 
0 = The program starts in run mode and the Remote Debugger is not active.
1 = The program starts in run mode and the Runtime Framework listens for connections from the Remote Debugger.
2 = The program starts in debug mode and the Runtime Framework waits for connections from the Remote Debugger.
 
The default value is 0.
iscobol.runtime.compile_flags.mandatory *
List of compile options that must have been used. Programs not compiled with these options will not be executed.
iscobol.runtime.compile_flags.prohibited *
List of compile options that couldn’t be used. Programs compiled with these options will not be executed.
iscobol.runtime.currency *
This property specifies the currency sign. Set it to the desired character. The character specified by this property will be used as currency sign regardless of the CURRENCY phrase in the Special-Names. The program must be compiled with the -sdcs option for this feature to take effect.
iscobol.runtime.decimal_point_is_comma (boolean) *
True = Every program compiled with the -sddp option shows the comma as the decimal separator and the dot as the thousand separator, regardless of the DECIMAL-POINT clause in the Special Names.
False = Every program compiled with the -sddp option shows the dot as the decimal separator and the comma as the thousand separator, regardless of the DECIMAL-POINT clause in the Special Names.
 
The default value is False.
iscobol.runtime.native.dynamic.ignore_errors (boolean) *
True = No errors are returned if the dyncall native library cannot be loaded during startup.
False = An error is returned if the dyncall native library cannot be loaded during startup.
 
The default value is True.
 
Since the cause of the error may be shown at the bottom of the exception stack, when you set this property to false it’s suggested to set also iscobol.exception.java (boolean) to true.
 
(iscobol.runtime.native.ignore_errors is supported for backward compatibility)
iscobol.runtime.native.static.ignore_errors (boolean) *
True = No errors are returned if the stacall native library cannot be loaded during startup.
False = An error is returned if the stacall native library cannot be loaded during startup.
 
Since the cause of the error may be shown at the bottom of the exception stack, when you set this property to false it’s suggested to set also iscobol.exception.java (boolean) to true.
 
The default value is True.
iscobol.runtime.version
This property returns the version number of the Runtime Framework.
iscobol.shared_dlopen_null (boolean)
True = C functions called by the COBOL program are also searched for in the current process.
False = C functions called by the COBOL program are not searched for in the current process.
 
The default value is True.
iscobol.shared_library_list *
List of dynamic libraries that should automatically be loaded at startup. This feature allows you to avoid calling the library name before using its functions in the program. Multiple paths must be separated by \n character sequence or by the current operating system path separator.
iscobol.station
This property specifies the value that is returned in the corresponding data item of the SYSTEM-INFORMATION group item.
iscobol.substring.check *
-1 = String boundaries are checked at Runtime in order to provide more details in case of "out of bounds" errors. If a program addresses an invalid character position, an error message is written to the log (iscobol.tracelevel must be set to a value greater than zero). The error message informs about the data item name and the problematic character position.
0 = String boundaries are not checked. If a program addresses an item that is outside the valid range, a generic "out of bounds" error message is shown and the program exits. The -m1 option may avoid the crash and make the program access the area of the next Working-Storage item instead.
1 = String boundaries are checked at Runtime in order to provide more details in case of "out of bounds" errors. If a program addresses an invalid character position, an error message is shown and the program exits. The error message informs about the data item name and the problematic character position.
 
Note - for an accurate error message, program shouldn’t be compiled with the -ostrip option.
 
The default value is 0.
 
(iscobol.substring_check is supported for backward compatibility)
iscobol.substring.zero_len_all (boolean) *
True = a reference modifier with length = 0 behaves as if length was omitted (e.g. src-item(2:0) behaves like src-item(2:), so that the content of src-item from byte 2 to the end is returned).
False = a reference modifier with length = 0 returns a variable whose length is 0 (e.g. src-item(2:0) returns "").
 
The default value is True.
iscobol.switches *
This property sets the switches as a sequence of numbers separated by commas.
 
For example, if the program contains 10 switches and you wish to activate the first two and the fifth, set iscobol.switches=1,2,5
 
If the the switch name is a letter, such as
    switch "A" ...
    switch "C" ...
    switch "Z" ...
Then you need to specify the ordinal number of the letter in order to activate the corresponding switch, e.g. iscobol.switches=1,3,26.
iscobol.terminal.info.name
iscobol.terminal.info.reverse
iscobol.terminal.info.blink
iscobol.terminal.info.underline
iscobol.terminal.info.dual_intensity
iscobol.terminal.info.132column
iscobol.terminal.info.color
iscobol.terminal.info.drawing
iscobol.terminal.info.screen.lines
iscobol.terminal.info.screen.columns
iscobol.terminal.info.printer
iscobol.terminal.info.attributes
iscobol.terminal.info.graphic
iscobol.terminal.info.screen.usable.height
iscobol.terminal.info.screen.usable.width
iscobol.terminal.info.screen.physical.height
iscobol.terminal.info.screen.physical.width
These properties set the values returned in the corresponding data items of the TERMINAL-ABILITIES group item.
iscobol.terminal.info.refresh_monitor (boolean) *
True = inquire the system to obtain the screen resolution each time TERMINAL-INFO is accepted from TERMINAL-ABILITIES.
False = inquire the system to obtain the screen resolution only the first time TERMINAL-INFO is accepted from TERMINAL-ABILITIES. Return the stored values to the next ACCEPT statements.
 
The default value is False.
iscobol.tracelevel
This property allows the user to define the events to be traced. Valid values (which can be added together) are:
1 = Settings of environment variables. Configuration properties set in the command line or in the external environment are not traced in the logfile. Only the properties found in the configuration file and the properties set by the program are traced. The list of processed configuration files is also traced. For security reasons, the value of these settings is shown as encrypted in the log file:
    iscobol.file.encryption.key
    iscobol.file.index.password
    iscobol.jdbc.password
    iscobol.net.ssl.key_store_password
    iscobol.net.ssl.trust_store_password
    iscobol.print.attribute.owner_password
    iscobol.print.attribute.user_password
    iscobol.sqlserver.password
    iscobol.user.password
2 = Program starts and program ends.
4 = Paragraph starts and paragraph ends as well as method starts and method ends (program must be compiled with -d or -dx).
8 = File I/O activities.
16 = Content of keys (works only in conjunction with 8).
32 = Content of record (works only in conjunction with 8).
64 = Client / Server activity in terms of connection and disconnection (isCOBOL Server environment).
128 = RPC calls for communication between client and server (isCOBOL Server environment).
256 = SQL activity.
512 = Complementary information to the one shown by pressing the Alt+Pause keyboard combination.
1024 = Library routine starts and library routine ends. It works only in conjunction with the value 2.
2048 = Internal information useful to programmers. Currently this value activates the trace of ESQL cursors life cycle.
 
 
The default value is 0.
 
To produce a trace log, set iscobol.tracelevel to a non-zero value. With the default value of 0, the system does not create a log since it would be empty.
 
The following are some useful settings:
 
iscobol.tracelevel=3 includes config settings and program starts and ends.
iscobol.tracelevel=7 includes config, program starts/ends, and paragraph starts/ends.
iscobol.tracelevel=11 includes config, program starts/ends and file i/o (i.e. everything except for paragraph starts/ends).
iscobol.tracelevel=43 includes config, program starts/ends and file i/o including the content of read records.
iscobol.tracelevel=15 includes config, program and paragraph starts/ends, and file i/o.
iscobol.tracelevel=63 traces everything of the above.
 
You can add custom information to the logfile by calling the C$WRITELOG routine.
 
The log file name is controlled by the property iscobol.logfile. If the property is not set, then a file named “iscobol0.log” is created in the temp folder.
 
When the trace level is greater than zero, the stack of blocking exceptions is captured in the log in addition to being displayed on the user interface.
iscobol.upper_lower_method
This property defines the strategy used by the Framework in order to convert a string either to upper case or to lower case.
 
Possible values are:
1 = use the methods toUpperCase() and toLowerCase() of the java.lang.String class
2 = use the methods toUpperCase() and toLowerCase() of the java.lang.Character class
 
The default value is 1.
 
In most cases, the result is the same. A difference may occur for some special characters; for example, the symbol "ß" is translated to "SS" when made upper case with method 1.
iscobol.use_for_debugging (boolean) *
True = Enable the USE FOR DEBUGGING declarative for programs compiled with the -cv option.
False = The USE FOR DEBUGGING declarative is ignored.
 
The default value is False.
iscobol.utf16.little_endian (boolean) *
True = The content of PIC N items is stored in UTF-16 Little Endian encoding.
False = The content of PIC N items is stored in UTF-16 Big Endian encoding.
 
The default value is False.
 
This property is useful only to pass UTF-16 data to C functions, according to the endianness expected by the C function.
Remote Compiler Configuration
Remote Compiler properties cannot be set by SET ENVIRONMENT within the program. They must appear in the external configuration.
Property
Meaning
iscobol.remotecompiler.compileonserver (boolean)
True = After precompiling, the Remote Compiler compiles the translated cbl to class on the server and sends the resulting class along with the translated cbl to the client.
False = After precompiling, the Remote Compiler sends the translated cbl to the client.
 
The default value is False.
iscobol.remotecompiler.conf
This property specifies the name of the Remote Compiler configuration file.
iscobol.remotecompiler.createerrorfiles (boolean)
True = The Remote Compiler will ask preprocessors to create error files.
False = No error files will be created by preprocessors.
 
The default value is False.
iscobol.remotecompiler.createlistingfiles (boolean)
True = The Remote Compiler will ask preprocessors to create listing files.
False = No listing files will be created by preprocessors.
 
The default value is False.
iscobol.remotecompiler.host
This property specifies the name of the server where the Remote Compiler is active and listening. The default value is ‘localhost’.
iscobol.remotecompiler.port
This property specifies the port on the server where the Remote Compiler is listening. The default value is 11999.
iscobol.remotecompiler.preprocnames
This property specifies the precompilers that will run server side during a remote compilation. Multiple names must be separated by commas.
The special value “ALL” can be used to instruct the Remote Compiler to execute every preprocessor defined in its configuration. The same effect is obtained by omitting this property. The special value “NONE” can be used to avoid pre-compiling on the server machine and perform a standard COBOL compilation only.
iscobol.remotecompiler.translateddir
This property specifies an alternate folder in which to store translated files. By default they’re stored in the same folder as the original source file.
WebDirect Configuration
WebDirect properties cannot be set by SET ENVIRONMENT within the program. They must appear in the external configuration.
Property
Meaning
iscobol.wd2.additional_javascript
This property allows users to load an additional java scripts to be used in the web application. The js files specified in the property are loaded during startup, and are available throughout the application. The js files must be placed in the resources/js subfolder of the web application, and only their file name, complete with extension, must be specified as value of the property (i.e.: iscobol.wd2.additional_javascript=script1.js). Multiple values must be separated by \n or by the system path separator (i.e.: iscobol.wd2.additional_javascript=script1.js\nscript2.js).
iscobol.wd2.additional_stylesheet
This property allows users to load an additional CSS stylesheets to be used in the web application. The CSS files specified in the property are loaded during startup, and are available throughout the application. The stylesheet files must be placed in the resources/css subfolder of the web application, and only their file name, complete with extension, must be specified as value of the property (i.e.: iscobol.wd2.additional_stylesheet=mycustom.css). Multiple values must be separated by \n or by the system path separator (i.e.: iscobol.wd2.additional_stylesheet=mycustom.css\nmycustom2.css).
iscobol.wd2.doubleclick_speed
This property specifies the amount of milliseconds between two mouse clicks to consider them a double click.
 
The default value is 300.
iscobol.wd2.style
This property allows basic styling for controls in the application. Changing the values will cause runtime-generated CSS stylesheets to be created with different parameters, if no values are assigned to CSS-BASE-STYLE-NAME or to CSS-STYLE-NAME. Allowed values are:
bs = Bootstrap styling (see http://getbootstrap.com/ for details)
default = default styling
os = OS styling
trendy = Trendy styling
 
These values refer to ZK embedded styles.
 
The default value is default.
iscobol.wd2.wait_message
This property specifies the wait message that is shown by WebDirect during processing.
 
The default value is: "Loading... Please wait until this screen is completely loaded."
iscobol.wd2.mobile_numpad (boolean)
This property takes effect when a WebDirect application is used from a mobile device.
 
True = The numpad is shown instead of the standard keyboard when a numeric input is required.
False = The standard keyboard is shown for every kind of input.
 
The default value is False.
HTTPHandler Configuration
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Property
Meaning
iscobol.http.cgi_clear_missing_values (boolean) *
True = Set the value of numeric data items to zero and non-numeric data items to spaces if a CGI variable is empty or does not exist.
False = Don’t clear the value of data items if a CGI variable is empty or does not exist.
 
The default value is True.
iscobol.http.cgi_content_type *
This property specifies the MIME type of the CGI output.
 
The default value is "text/html".
iscobol.http.cgi_no_cache (boolean) *
True = "Pragma: no-cache" is added to the HTTP response header.
False = "Pragma: no-cache" is not added to the HTTP response header.
 
The default value is True.
iscobol.http.cookies_as_fields (boolean) *
True = All the cookies can be read through the accept() method as if they were input fields. The cookie name is case sensitive.
False = Cookies can’t be read through the accept() method.
 
The default value is False.
iscobol.http.form.encoding *
This property specifies the character set used by HTML forms that send data through HTTP (e.g. UTF-8). If not set, the framework tries to calculate the current character set itself.
iscobol.http.html_template_prefix *
This property lists the paths which HTML files are searched by HTTPHandler:>processHtmlFile(). Multiple values must be separated by the line feed character or by the current operating system path separator.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
iscobol.http.ignore_certificates (boolean) *
True = If the handshaking fails due to invalid certificates, continue and connect anyway.
False = If the handshaking fails due to invalid certificates, stop.
 
The default value is False.
 
Note - this property should be set to true only for test purposes. It’s not good practice to ignore handshaking errors.
iscobol.http.mtom_enabled (boolean) *
True = MTOM (Message Transmission Optimization Mechanism) enabled: a receiver MUST accept both a non-optimized and an optimized message, and a sender MAY send an optimized message, or a non-optimized message. The heuristics used by a sender to determine whether to use optimization or not are implementation-specific.
False = MTOM (Message Transmission Optimization Mechanism) disabled
 
The default value is False.
iscobol.http.servlet.prefix
This property specifies the prefix to put before the program name in the URL in order to build the name of the actual COBOL program. For example, given the following URL: http://localhost:8080/myservlet/servlet/isCobol(PROG) , if iscobol.http.servlet.prefix=soap, the framework will run the program SOAPPROG instead of PROG.
iscobol.http.stateless (boolean) *
True = Programs are automatically cancelled from memory when the main program returns (stateless).
False = Programs remain in memory unless explicitly cancelled by a CANCEL statement (stateful)
 
The default value is False.
iscobol.http.upload.directory *
This property specifies the directory where files uploaded through HTTP must be stored. A HTTP error is returned if the user tries to upload a file whose size exceeds the value of this property.
 
By default, the user temp directory is used.
iscobol.http.upload.max_size *
This property specifies the maximum size in bytes allowed for file upload through HTTP.
 
The default value is 1048576.
iscobol.http.upload.prefix *
This property specifies an optional prefix that must be applied to the name of the files uploaded through HTTP.
iscobol.http.value_prefix_colon (boolean)
True = Embedded values in the HTML code are expected to be prefixed by colon, E.g. <html>hello :myvar world</html>.
False = Embedded values in the HTML code are expected to be enclosed by double percent sign, E.g. <html>hello %%myvar%% world</html>.
 
The default value is False.
iscobol.rest.default_stream
This property specifies the default Content-type to be used when Content-type is not available in the HTTP header. It is considered by the HTTPHandler methods acceptEx and displayEx as well as the HTTPClient methods doPostEx and getResponseEx.
 
The possible values are "xml" or "json".
 
The default value is "json".
iscobol.rest.log (boolean)
True = Enables logging of the REST activity at global level.
False = No log of the REST activity is performed at global level.
 
The default value is False.
iscobol.rest.log.<methodName> (boolean)
True = Enables logging of the REST activity for the specified method name .
False = No log of the REST activity is performed the specified method name .
 
The default value is False.
iscobol.rest.log.folder
This property specifies the folder where REST activity log files are generated.
The log file name is generated dynamically using the following pattern: {methodname}-{SESSIONID}.log
iscobol.soap.log (boolean)
True = Enables logging of the SOAP activity at global level.
False = No log of the SOAP activity is performed at global level.
 
The default value is False.
iscobol.soap.log.<methodName> (boolean)
True = Enables logging of the SOAP activity for the specified method name .
False = No log of the SOAP activity is performed the specified method name .
 
The default value is False.
iscobol.soap.log.folder
This property specifies the folder where SOAP activity log files are generated.
The log file name is generated dynamically using the following pattern: {methodname}-{SESSIONID}.log
iscobol.soap.wsdl.location
This property specifies the location of the wsdl file. It should point to a file system path where wsdl files are copied, ie:
   
   iscobol.soap.wsdl.location=/path/to/wsdl
  
Both full paths and relative paths are allowed. Relative paths are relative to the servlet container service working directory.
 
The servlet appends the webservice name and ".wdsl" to this path to form a path name, which, if found, is then downloaded.
If the file is not found or the property is not set, and HTTP error 404 is returned.
 
The download can be achieved using an url such as:
 
http://localhost:8080/test/servlet/SONGS?wsdl
User Interface Configuration
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Graphical User Ingerface (GUI)
Property
Meaning
iscobol.accept_timeout
This property causes all ACCEPT and DISPLAY MESSAGE BOX statements to time out just as if the BEFORE TIME clause was present. The property value specifies the timeout period, in seconds. This timeout is applied to every statement that can have a BEFORE TIME clause specified for it unless such clause has already been explicitly coded for the statement.
 
The default value is 0, that means no timeout.
 
When this property is set, every ACCEPT is performed on a window and it's no more possible to ACCEPT user input from the console.
iscobol.auto_input_mode (boolean) *
True = The IME (Input Method Editor) activates itself automatically when the focus moves to a input field associated to a national data item.
False = The IME (Input Method Editor) doesn’t activate itself automatically when the focus moves to a input field associated to a national data item. It’s user duty to activate the IME before inputting data.
 
This property has effect when the active keyboard supports IME (for example if the active keyboard is Japanese) and it affects both graphical screens and character based screens.
 
The default value is False
iscobol.background_intensity *
This property defines the default intensity of the background color of the windows. Valid values are:
 
0 = The default intensity for the output device is used.
1 = The background intensity is forced to low.
2 = The background intensity is forced to high.
 
The default value is 0.
iscobol.bitmap_scale.best_quality (boolean)
True = The runtime tries to obtain the best quality during the scale of a bitmap, even if the process may require more time.
False = The runtime scales bitmaps without particular optimizations, completing the process in the shortest time possible.
 
This property affects the W$SCALE routine and the Bitmap-Scale property of the Bitmap control.
 
The default value is False
iscobol.colormap.default *
This property associates a color for DISPLAY without any attributes. The value is the sum between ForegroundColor and BackgroundColor described in Using standard COBOL values.
 
For example if you want a blue foreground on a white background, set iscobol.colormap.default=258 where 258 is the result of the sum between bckgrnd-white (256) and blue (2).
iscobol.colormap.high *
This property associates a color for DISPLAY with the HIGH attribute. The value is the sum between ForegroundColor and BackgroundColor described in Using standard COBOL values.
 
For example if you want a bright blue foreground on a white background, set iscobol.colormap.high=266 where 266 is the result of the sum between bckgrnd-white (256) and bright-blue (10).
iscobol.colormap.low *
This property associates a color for DISPLAY with the LOW attribute. The value is the sum between ForegroundColor and BackgroundColor described in Using standard COBOL values.
 
For example if you want a blue foreground on a white background, set iscobol.colormap.low=258 where 258 is the result of the sum between bckgrnd-white (256) and blue (2).
iscobol.font.<fontname>.cell *
This property specifies a custom cell size associated with the font <fontname>. The runtime does not calculate the cell size as usual but uses the values specified by the user through the property instead. The value format is x,y where x and y are the width and height of the cell in pixels.
 
<fontname> identifies a font by name, state and size. Upper-case characters are allowed here. State and size are optional and must be separated by dash if specified. If the font name contains spaces, then the \ character must be used to escape the spaces when the setting is done in the configuration file, while the whole setting must be enclosed between quotes if the setting is done in the command line. For example, if you want to force the cell size 10x10 for the Courier New font in bold state with size 12, you will write the following entry in the configuration file:
 
iscobol.font.Courier\ New-bold-12.cell=10,10
 
Each time the program loads the above font with the W$FONT routine and uses it on a graphical window, the custom cell size will be used.
iscobol.font.default *
This property specifies the font name to be used for the quick-loaded font "DEFAULT".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is Sans Serif.
FontStyle is the style of the font such as bold, italic, or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard default font (Sans Serif); no error is raised.
iscobol.font.default.cell *
This property specifies a custom cell size for the default font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.font.fixed *
This property specifies the font name to be used for the quick-loaded font "FIXED".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is Monospaced.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard fixed font (Monospaced); no error is raised.
iscobol.font.fixed.cell *
This property specifies a custom cell size for the fixed font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.font.handling *
This property controls the aliasing applied to fonts.
 
The value of this property identifies a hint that the runtime passes to the underlying Swing control. If the Swing control honors the hint, you will notice a different font aliasing.
 
Possible values for this property are:
0 = The hint ANTIALIAS_DEFAULT is used for all controls.
1 = The hint ANTIALIAS_ON is used for all controls
2 = The hint ANTIALIAS_OFF is used for all controls
3 = The hint ANTIALIAS_OFF is used for Frame, List-Box and Grid controls, as it happened in version 2013 R2 and previous.
 
The default value is 0.
iscobol.font.large *
This property specifies the font name to be used for the quick-loaded font "LARGE".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is SansSerif.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard large font (Sans Serif); no error is raised.
iscobol.font.large.cell *
This property specifies a custom cell size for the large font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.font.medium *
This property specifies the font name to be used for the quick-loaded font "MEDIUM".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is SansSerif.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard medium font (Sans Serif); no error is raised.
iscobol.font.medium.cell *
This property specifies a custom cell size for the medium font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.font.small *
This property specifies the font name to be used for the quick-loaded font "SMALL".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is SansSerif.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard small font (Sans Serif); no error is raised.
iscobol.font.small.cell *
This property specifies a custom cell size for the small font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.font.traditional *
This property specifies the font name to be used for the quick-loaded font "TRADITIONAL".
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font. The default value is Monospaced.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the standard traditional font (Monospaced); no error is raised.
iscobol.font.traditional.cell *
This property specifies a custom cell size for the traditional font. The value format is x,y where x and y are the width and height of the cell in pixels.
iscobol.foreground_intensity *
This property defines the default intensity of the foreground color of the windows. Valid values are:
 
0 = The default intensity for the output device is used.
1 = The foreground intensity is forced to low.
2 = The foreground intensity is forced to high.
 
The default value is 0.
iscobol.gui.accept.before_time.repeat (boolean)
True = The Accept timer is reset after each time the user inputs a new digit.
False = The Accept timer stops as soon as the user inputs the first digit.
 
The default value is False
iscobol.gui.apply_window_color (booloean)*
True = Control whose colors are not specified by the program inherit colors from the parent window.
False = Control whose colors are not specified by the program inherit colors from the Look And Feel.
 
The default value is True.
iscobol.gui.column_separation
This property specifies the default separation distance between columns in List-Box and Grid. The value is expressed in 10ths of characters.
 
Default value is 5.
iscobol.gui.Control.event
This property specifies the value of Event-List property for all controls of class Control which Event-List property is not specified.
 
This property has effect only in WebDirect environment and overrides iscobol.gui.events_list.
 
Control can be one of the following:
bitmap
checkbox
combobox
dateentry
entryfield
grid
listbox
pushbutton
radiobutton
scrollbar
tab
treeview
webbrowser
 
The value of this property is the list of numeric values of event constants as defined in the isgui.def copybook. Multiple values must be separated by comma.
iscobol.gui.cscompress *
This property allows you to activate the compression of data that’s exchanged between the UI manager (client) and the code manager (server). It affects both stand alone and thin client executions.
The server sends buffered data to the client when executing one of the following statements
ACCEPT
INQUIRE
SET INPUT WINDOW
SET I-O WINDOW
MODFIY window-handle VISIBLE|ENABLED
when iscobol.gui.cstimeout * has expired or when the buffer size reaches the value specified by iscobol.gui.csmaxbuffersize *.
 
The compression is performed only when the data size is equal or greater than the value specified by iscobol.gui.csminsizecompress. Valid values are:
 
0 = no compression
1 = best compression
2 = fastest compression
 
The default value is 0.
iscobol.gui.csmaxbuffersize *
This property sets the maximum size (in bytes) of the buffered data for the communication between the UI manager (client) and the code manager (server). It affects both stand alone and thin client executions. The server sends buffered data to the client when executing one of the following statements
ACCEPT
INQUIRE
SET INPUT WINDOW
SET I-O WINDOW
MODIFY window-handle VISIBLE|ENABLED
when iscobol.gui.cstimeout * has expired or when the buffer is full.
 
Setting this property to a lower value will result in more frequent updates to the user interface.
 
A high value reduces the communication between client and server, but consumes more memory. A low value increases the communication between client and server, but saves memory.
 
The default value is 1048576.
iscobol.gui.csminsizecompress
This property specifies the minimum size in bytes for the compression of the client-server buffer activated by the property iscobol.gui.cscompress *. Only when this amount of bytes is reached the compression is applied.
 
The default value is 32768.
iscobol.gui.cstimeout *
This property sets the timeout (in milliseconds) for the communication between the UI manager (client) and the code manager (server). It affects both stand alone and thin client executions. The server sends buffered data to the client when executing one of the following statements
ACCEPT
INQUIRE
SET INPUT WINDOW
SET I-O WINDOW
MODFIY window-handle VISIBLE|ENABLED
when the buffer size reaches the value specified by iscobol.gui.csmaxbuffersize * or when the timeout specified by this property has expired.
 
Setting this property to a lower value will result in more frequent updates to the user interface.
 
A high value reduces the communication between client and server, but consumes more memory. A low value increases the communication between client and server, but saves memory.
 
This property is automatically set to zero by the isCOBOL Debugger during the stand-alone debug. During the remote debug is your duty to set this property to zero, otherwise you might not see the result of a DISPLAY or MODIFY as soon as you step into the statement.
 
Default value is 500.
iscobol.gui.curr_bcolor
This property specifies the background color of the current control. It affects ComboBox and EntryField controls. The runtime automatically applies the color when the control get focus and removes the color when the control loses focus.
The property accepts numeric values of standard and RGB colors. See Color management for the list of possible values.
The property is ignored by read-only fields.
 
For example, if you want a bright blue background on the current field, set iscobol.gui.curr_bcolor=9, or, if you prefer to use RGB values, set iscobol.gui.curr_bcolor=-255
 
(iscobol.gui.curr_ef_bcolor is supported for backward compatibility and it affects only EntryFields)
iscobol.gui.curr_border_color
This property specifies the border color of the current control. It affects only EntryField controls. The runtime automatically applies the color when the control get focus and removes the color when the control loses focus.
The property accepts numeric values of standard and RGB colors. See Color management for the list of possible values.
 
For example, if you want a bright blue border on the current field, set iscobol.gui.curr_border_color=9, or, if you prefer to use RGB values, set iscobol.gui.curr_border_color=-255
iscobol.gui.curr_border_width
This property specifies the width in pixels of the border of the current control. It affects only EntryField controls. The runtime automatically changes the border width when the control get focus and restores the original width when the control loses focus.
 
This property should be set to a list of 4 numeric values separated by space that identify the top border, the left border, the bottom border and the right border widths respectively.
For example, in order to make the top and bottom border bigger when the control gets the focus, set iscobol.gui.curr_border_width=5 15 1.
iscobol.gui.curr_fcolor
This property specifies the foreground color of the current control. It affects ComboBox and EntryField controls. The runtime automatically applies the color when the control get focus and removes the color when the control loses focus.
The property accepts numeric values of standard and RGB colors. See Color management for the list of possible values.
The property is ignored by read-only fields.
 
For example, if you want a bright blue foreground on the current field, set iscobol.gui.curr_fcolor=9, or, if you prefer to use RGB values, set iscobol.gui.curr_fcolor=-255
 
(iscobol.gui.curr_ef_fcolor is supported for backward compatibility and it affects only EntryFields)
iscobol.gui.date_entry.cutoff
This property establishes the two-digit years that will be interpreted by the program as being in the 20th Century and the two-digit years that will be interpreted by the program as being in the 21st Century. When set to a negative value, Java defaults are used. When set to a value greater than 99, only the last two digits of the value are considered. This setting affects a DateEntry with the Numeric style where a two-digit year instead of a four-digit year is input.
 
The default value is -1.
iscobol.gui.date_entry.century_date
This property is used to set the default century date format for date-entry control.
 
Default value depends on the current locale.
iscobol.gui.date_entry.display_format
This property is used to set the display format for date-entry control.
 
Default value depends on the current locale.
iscobol.gui.date_entry.errormessage
This property specifies the text of the error message shown when a DateEntry validation fails. The DateEntry validation si activated by the property iscobol.gui.date_entry.validate (boolean).
iscobol.gui.date_entry.long_date
This property is used to set the default long date format for date-entry control.
 
Default value depends on the current locale.
iscobol.gui.date_entry.time
This property is used to set the default time format for date-entry control.
 
Default value is “HH:mm:ss”.
iscobol.gui.date_entry.validate (boolean)
True = A date validation is automatically performed when the user leaves a DateEntry field. If the date is not valid, an error message is shown and the focus is kept on the field. You can configure the message text by setting iscobol.gui.date_entry.errormessage.
False = No validation is automatically performed when the user leaves a DateEntry field.
 
The default value is False.
iscobol.gui.disabled_field_color
This property specifies the color for disabled Entry-Field and Combo-Box. It can be set to a single value in order to specify a combined color or to two distinct values, separated by comma, in order to specify background-color and foreground-color. Negative values are considered RGB. For example, if you want that disabled fields are background blue and foreground white, you can set either
iscobol.gui.disabled_field_color=72
or
iscobol.gui.disabled_field_color=1,16
or
iscobol.gui.disabled_field_color=-128,-16777215
 
It is possible to append “;1” or “;0” to specify if this setting should override the COLOR property of the control:
0 = the color specified by this property is always applied. This is the default behavior.
1 = the color specified by this property is applied only if the COLOR property was not used on the Entry-Field.
For example, if you want that only disabled fields without their own COLOR property are background blue and foreground white, you can set either
iscobol.gui.disabled_field_color=72;1
or
iscobol.gui.disabled_field_color=1,16;1
or
iscobol.gui.disabled_field_color=-128,-16777215;1
iscobol.gui.ef.ext_message (boolean)
True = An error message is shown when the user puts an alphabetic value into a numeric entry-field.
False = A beep is played when the user puts an alphabetic value into a numeric entry-field.
 
The default value is False.
iscobol.gui.ef_lineseparator
This property specifies the line separator character (or characters) used when returning the value of a MULTILINE entry-field.
 
For example, if you wish to force the Windows line separator set iscobol.gui.ef_lineseparator=\r\n in the configuration file or use SET ENVIRONMENT "gui.ef_lineseparator" TO x"0d0a" in the COBOL program.
 
The default value is the line feed character.
iscobol.gui.entryfield.implied_decimal (boolean)
True = If no decimal separator is input by the user, a decimal separator is automatically applied by the Runtime according to the picture of the data-item bind to the entry-field.
False = No decimal separator is automatically applied.
 
The default value is False.
iscobol.gui.entryfield.notify_change_delay *
This property specifies how many milliseconds the runtime has to wait before firing a NTF-CHANGED event when the user changes the content of an Entry-Field.
 
The Entry-Field property Notify-Change-Delay has priority over this setting.
 
The default value is 0.
iscobol.gui.entryfield.read_only_color
This property specifies the color for read-only Entry-Field. It can be set to a single value in order to specify a combined color or to two distinct values, separated by comma, in order to specify background-color and foreground-color. Negative values are considered RGB. For example, if you want that read-only fields are background blue and foreground white, you can set either
iscobol.gui.entryfield.read_only_color=72
or
iscobol.gui.entryfield.read_only_color=1,16
or
iscobol.gui.entryfield.read_only_color=-128,-16777215
 
It is possible to append “;1” or “;0” to specify if this setting should override the COLOR property of the control:
0 = the color specified by this property is always applied. This is the default behavior.
1 = the color specified by this property is applied only if the COLOR property was not used on the Entry-Field.
For example, if you want that only read-only fields without their own COLOR property are background blue and foreground white, you can set either
iscobol.gui.entryfield.read_only_color=72;1
or
iscobol.gui.entryfield.read_only_color=64,16;1
or
iscobol.gui.entryfield.read_only_color=-255,-16777215;1
iscobol.gui.entryfield.read_only_cursor_arrow (boolean)
True = Moving the mouse over a read-only field, the mouse shape remains an arrow
False = Moving the mouse over a read-only field, the mouse shape changes to a vertical bar
 
The default value is False.
iscobol.gui.entryfield.spell_checking_delay
This property specifies the delay in milliseconds for the tool-tip shown by the spell checking feature of the Entry-Field control.
 
The default value is 500.
iscobol.gui.events_list
This property specifies the value of the Event-List property for all controls for which the Event-List property is not specified.
 
The value of this property is the list of numeric values of event constants as defined in the isgui.def copybook. Multiple values must be separated by comma.
 
In a WebDirect environment this property may be overridden by iscobol.gui.Control.event.
iscobol.gui.exclude_events (boolean)
True = All controls for which the Exclude-Event-List property is not specified assume EXCLUDE-EVENT-LIST=1
False = All controls for which the Exclude-Event-List property is not specified assume EXCLUDE-EVENT-LIST=0
 
The default value is False.
iscobol.gui.fields_unboxed (boolean)
True = Entry field controls that do not have boxed style or 3-D style set use no-box style by default.
False = Entry fields controls that do not have boxed style or 3-D style set use box style by default.
 
The default value is True.
 
(iscobol.fields_unboxed is supported for backward compatibility)
iscobol.gui.input_predisplay (boolean) *
True = During Accept the runtime has to refresh the values of the variables defined in SCREEN SECTION.
 
False = During Accept the runtime doesn’t refresh the values of the variables defined in SCREEN SECTION.
 
The default value is False.
 
(iscobol.gui.from_fields_refreshed_in_accept is supported for backward compatibility)
iscobol.gui.grid.extended_finish_reason (boolean) *
True = Additional Finish-Reason values are returned by the MSG-FINISH-ENTRY event in Grid.
False = Standard Finish-Reason values are returned by the MSG-FINISH-ENTRY event in Grid.
 
The default value is False.
iscobol.gui.grid.find_delay
This property specifies when the grid should start filtering data while the user interacts with the search panel.
 
Possible values are:
 
0 - wait for the user to press Enter or click the Find button before start searching.
>0 - wait this number of milliseconds before start searching automatically. If the user presses Enter or clicks the Find button before this timeout expires, start searching.
 
The default value is 500.
iscobol.gui.grid.lm_on_columns (boolean) *
True = Grid columns of grids with the Adjustable-Columns style are automatically resized when the window is resized and a layout manager is involved.
False = Grid columns are not affected by layout managers.
 
The Grid property Lm-On-Columns has priority over this setting.
 
The default value is True.
iscobol.gui.grid.no_cell_drag (boolean) *
True = Grids don’t fire drag events.
False = Grids fire drag events.
 
The Grid style No-Cell-Drag has priority over this setting.
 
The default value is False.
iscobol.gui.hints_off
This property sets the amount of time, in milliseconds, that elapses before the hints are removed from the screen.
 
(iscobol.hints_off is supported for backward compatibility)
iscobol.gui.hints_on
This property sets the amount of time, in milliseconds, that elapses before the hints are displayed.
 
(iscobol.hints_on is supported for backward compatibility)
iscobol.gui.kbd_case
This property defines how characters input by the user are converted into GUI screen fields. Possible values are:
Upper = All characters are converted uppercase
Lower = All characters are converted to lowercase
Both = All characters are entered as typed by user
 
The default value is Both.
 
Note - This setting may be overridden with Screen Section styles like Entry-Field’s UPPER and LOWER or Grid’s DATA-TYPES.
iscobol.gui.keyboard_buffering
The isCOBOL Framework bufferizes keyboard events in order to avoid losing input digits between different Accepts on different windows. Such keyboard buffering can be configured by setting this property to one of the following values:
 
-1 = no limit on buffering
0 = disable keyboard buffering
>0 = specifies the number of keyboard events that must be bufferized
 
The default value is -1.
iscobol.gui.icon (boolean) *
True = The isCOBOL logo is displayed on the windows of the program.
False = The Java logo is displayed on the windows of the program.
 
This property is considered only if iscobol.gui.icon_file is not set or points to an invalid file.
This property affects only windows for which the Icon property was not specified.
 
The default value is True.
 
(iscobol.icon is supported for backward compatibility)
iscobol.gui.icon_file
This property specifies an image file to be used as the default icon for windows.
The following image formats are accepted: BMP, JPG, GIF, ICO and PNG.
 
This property affects only windows for which the Icon property was not specified.
 
If this property is not set or the file can’t be loaded, then the windows icon is controlled by the property iscobol.gui.icon (boolean) *.
iscobol.gui.ignore_invalid_handle (boolean)
This property affects the way the Runtime Framework behaves when an INQUIRE or MODIFY statement affects an invalid control handle.
 
True = No error is returned.
False = An "Invalid handle" message is shown and the program terminates.
 
The default value is False.
 
(iscobol.ignore_invalid_handle is supported for backward compatibility)
iscobol.gui.javabean.catch_exception (boolean)
True = Exceptions generated by Java-Beans are printed on the system error.
False = Exceptions generated by Java-Beans are hidden to the user.
 
The default value is True.
iscobol.gui.justify_num_fields (boolean)
True = Numeric and edited fields are automatically right-aligned.
False = Numeric and edited fields are left-aligned, unless otherwise specified.
 
The default value is False.
 
(iscobol.justify_num_fields is supported for backward compatibility)
iscobol.gui.label.rtrim (boolean)
True = Spaces on the right side of the title label are trimmed away.
False = Spaces to the right of the title label are not removed.
 
Default value is True.
iscobol.gui.layout_manager
When this property is set, the RESIZABLE style is assumed for all windows and all windows use the layout manager specified by the property, unless different settings were used in the DISPLAY WINDOW statement.
Specifying a different layout manager or NOT RESIZABLE in the DISPLAY WINDOW statement invalidates the feature for that specific window.
 
Possible values are:
lm-scale
lm-zoom
iscobol.gui.lightweightpopup (boolean)
True = lists dropped by menu bar and combo-boxes as well as tool-tips are in the background and can be covered by a web-browser control on the screen.
False = lists dropped by menu bar and combo-boxes as well as tool-tips are in the foreground and cannot be covered by any control.
 
Default value is True.
iscobol.gui.list.lm_on_columns (boolean)*
True = ListBox columns are automatically resized when the window is resized and a layout manager is involved.
False = ListBox columns are not affected by layout managers.
 
The ListBox property Lm-On-Columns has priority over this setting.
 
The default value is True.
iscobol.gui.menu.altkey_default (boolean)*
True = menu bar items with no subitems require two steps in order to be selected by keyboard: press Alt+keyletter to activate the item and press Enter to select it (Java Swing behavior).
False = menu bar items with no subitems are selected by keyboard by just pressing Alt+keyletter.
 
The default value is True.
iscobol.gui.messagebox.bcolor
This property specifies the background that must be used by message boxes where the neither the BACKGROUND-COLOR clause nor the COLOR clause were specified in the DISPLAY MESSAGE BOX statement.
 
Negative values are considered RGB. For example, if you want the background color to be blue, you can set either
iscobol.gui.messagebox.bcolor=1
or
iscobol.gui.messagebox.bcolor=-128
 
The default value is LAF dependent.
iscobol.gui.messagebox.centered (boolean)
True = The CENTERED clause is assumed for the DISPLAY MESSAGE BOX statement.
False = The CENTERED clause is not assumed for the DISPLAY MESSAGE BOX statement.
 
The default value is False.
iscobol.gui.messagebox.custom_prog
This property specifies the name of a COBOL program that will be automatically called whenever a DISPLAY MESSAGE BOX statement is used. See Custom message box implementation for details.
iscobol.gui.messagebox.fcolor
This property specifies the foreground that must be used by message boxes where the neither the FOREGROUND-COLOR clause nor the COLOR clause were specified in the DISPLAY MESSAGE BOX statement.
 
Negative values are considered RGB. For example, if you want the foreground color to be blue, you can set either
iscobol.gui.messagebox.fcolor=1
or
iscobol.gui.messagebox.fcolor=-128
 
The default value is LAF dependent.
iscobol.gui.messagebox.font
This property specifies the font that must be used by message boxes where the FONT clause was not specified in the DISPLAY MESSAGE BOX statement.
 
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
Example: iscobol.gui.messagebox.font=Arial-Bold-08
 
The default value is LAF dependent.
iscobol.gui.native_name
True = the Screen Section name of controls is shown in the message box produced by pressing Alt+Pause.
False = the internal name of controls is shown in the message box produced by pressing Alt+Pause.
 
Setting this property to true makes isCOBOL export the COBOL name in the corresponding Java control. This may help when using JVM monitor tools.
 
Default value is False.
iscobol.gui.native_style (boolean) *
True = a LAF dependent border is applied to all controls with a BOXED style (e.g. EntryFields, ComboBoxes, Grids...). It doesn’t work on controls with the 3-D style.
False = a standard black border is applied to all controls with a BOXED style unless the Border-Color property is set for them.
 
Default value is False.
iscobol.gui.ntf_resized_delay
This property specifies the timeout in milliseconds before the runtime sends a NTF-RESIZED event to the program during window resizing. A value of 0 means that the event must be sent as soon as the resize occurs. A value greater than 0 will make the runtime wait. If another NTF-RESIZED event occurs before the timeout expires, the timer is restarted. When the timeout expires, one NTF-RESIZED event is sent to the program.
Setting this property reduces the number of events generated during window resizing and improves performance. A reasonable value is 100.
 
The default value is 0.
iscobol.gui.placeholder_color
This property specifies the placeholder text color for Entry-Field and Combo-Box. Negative values are considered RGB. For example, if you want the placeholder text to be blue, you can set either
iscobol.gui.placeholder_color=1
or
iscobol.gui.placeholder_color=-128
 
By default, the disabled field foreground color specified by the LAF is used as placeholder text color.
iscobol.gui.push_activated_by_enter (boolean)
True = Push-Buttons can always be activated by pressing Enter when they have the focus.
False = Push-Buttons can be activated by pressing Enter when they have the focus only if the iscobol.key.enter setting includes "termination=13".
 
The default value is False.
iscobol.gui.click_override_focus_change (boolean)
True = the click on Check-Box, Push-Button and Radio-Button is always intercepted even if the focus was forced on an input field by setting Screen-Control items in the field After Procedure.
False = the click on Check-Box, Push-Button and Radio-Button is not intercepted if the focus was forced on an input field by setting Screen-Control items in the field After Procedure.
 
The default value is True.
 
(iscobol.gui.push_override_focus_change is still supported for backward compatibility but it affects only the Push-Buttons control)
iscobol.gui.quit_mode
This property configures the behavior of the close button on the system menu of initial and standard windows. Independent and floating windows are not affected by this property. Possible values are:
 
-2 = Clicking on the close button has no effect.
0 = Clicking on the close button closes the window and the program terminates.
>0 = Clicking on the close button raises an exception on the current ACCEPT. The CRT STATUS variable is set to the value of quit_mode.
 
The default value is 0.
 
(iscobol.quit_mode is supported for backward compatibility)
iscobol.gui.rollover_border_color
This property specifies the color that the border of boxed Entry-Fields must assume when the mouse hovers over the field.
The property accepts numeric values of standard and RGB colors. See Color management for the list of possible values.
For example, if you want a bright blue border when the mouse hovers over an Entry-Field, set iscobol.gui.rollover_border_color=9, or, if you prefer to use RGB values, set iscobol.gui.rollover_border_color=-255
iscobol.gui.rollover_border_width
This property specifies the width in pixels that the border of boxed Entry-Fields must assume when the mouse hovers over the field.
This property should be set to a list of 4 numeric values separated by space that identify the top border, the left border, the bottom border and the right border widths respectively.
For example, in order to make the top and bottom border bigger when the mouse hovers over an Entry-Field, set iscobol.gui.rollover_border_width=5 15 1.
iscobol.gui.screen_col_plus_base
This property controls the column adjustments when relative values are used by the program for the COLUMN property in the Screen Section.
When the value is -1, "COLUMN + 0" and "COLUMN + 1" produce adjacent items.
 
When the value is 0, "COLUMN + 0" produces adjacent items, and "COLUMN + 1" puts a space between items.
The default value is -1.
iscobol.gui.screen_col_zero (boolean)
This property is evaluated each time a statement like "DISPLAY foo LINE line-number COL 0" occurs:
 
True = stuff is displayed after the last item on line line-number.
False = stuff is displayed at line line-number column 1.
 
The default value is False.
iscobol.gui.scrn_size_cols
This property sets the SIZE of the default initial window in character-based environments (it doesn’t affect graphical windows).
 
The default value is 80.
iscobol.gui.scrn_size_rows
This property sets the LINES of the default initial window in character-based environments (it doesn’t affect graphical windows).
 
The default value is 25.
iscobol.gui.show_zeroes (boolean)
True = leading zeroes are shown when displaying numeric data
False = leading zeroes are not shown when displaying numeric data
 
The default value is False
iscobol.gui.temporary_controls (boolean) *
True = all graphical controls are TEMPORARY by default
False = all graphical controls are PERMANENT by default
 
The default value is False.
iscobol.gui.tool_bar.native (boolean) *
True = tool bars are implemented using the JToolBar class; in this way the Moveable style is supported, but buttons are always flat under the Windows look and feel.
False = tool bars are implemented using the JPanel class; in this way you can have 3-D buttons under the Windows look and feel, but the Moveable style has no effect.
 
The default value is True.
iscobol.gui.treeview.selection_delay *
This property sets the timeout in milliseconds for the TrreeView to start searching for an item while the user is typing. The user can select TreeView items by typing part of their name with the keyboard. The TreeView bufferizes the inputed digits and, when this timeout expires, it starts searching for the first matching item.
A value of -1 makes the TreeView inherit this setting from the current LAF.
 
The default value is -1.
iscobol.gui.waitcursordelay
In thin client environment, in case of slow server to client answers, the mouse pointer changes from default-cursor to wait-cursor. This property sets the timeout in milliseconds before the cursor is changed. A value of 0 disables the feature.
 
The default value is 0.
iscobol.gui.web_browser.home
This property specifies the URL loaded when the GO-HOME Property of the WEB-BROWSER Control is set to a non-zero value.
 
The default value is https://www.veryant.com.
 
(iscobol.web_browser.home is supported for backward compatibility)
iscobol.gui.web_browser.search
This property specifies the URL loaded when the GO-SEARCH Property of the WEB-BROWSER Control is set to a non-zero value.
 
The default value is https://www.google.com.
 
(iscobol.web_browser.search is supported for backward compatibility)
iscobol.gui.webbrowser.class
This property specifies the class that provides the web-browser feature. Possible values are:
com.iscobol.browser.dj.DJWebBrowser
com.iscobol.browser.fx.JFXWebBrowser
com.iscobol.browser.jx.JXWebBrowser
 
The default value is com.iscobol.browser.dj.DJWebBrowser.
iscobol.gui.webbrowser.no_msg_before_navigate (boolean)
True = No-Msg-Before-Navigate style is implicitly defined for all Web-Browser controls.
False = No-Msg-Before-Navigate style is not implicitly defined for all Web-Browser controls.
 
The default value is False
iscobol.gui.window.auto_resize.fixed_dim (boolean)
True = a window with the AUTO-RESIZE style can be resized only to a smaller dimension; it cannot be increased
False = a window with the AUTO-RESIZE style can resized freely
 
The default value is True
iscobol.gui.windows_modality (boolean)
This property takes effect in scenarios where there are multiple initial windows. This is typical in applications that call multiple main programs using the CALL RUN statement. This property affects both Floating windows and message boxes.
 
True = modal windows block all windows in the same hierarchy
False = modal windows block all windows in the runtime session
 
The default value is True
iscobol.gui.window_title
This property specifies the title of INITIAL/STANDARD windows displayed without the TITLE phrase.
 
Without this setting, the name of the program is used as title of INITIAL/STANDARD windows displayed without the TITLE phrase.
iscobol.gui.windows_uncropped (booloean)
This property affects the position where child windows and message boxes are displayed. It can happen that, due the parent window position and the child window dimensions, the child window is cropped by the screen edges. By setting this property, you can instruct the runtime to alter the child window position to avoid the cropping.
 
True = the runtime ensures that the bottom right border of the child window is not cropped by the screen edges. It moves the window if necessary.
False = the runtime displays the child window in the position requested by the program, even if the window bottom right border is over the screen edges.
 
The default value is True
iscobol.guifactory.class *
This property specifies the factory class that is used for GUI. Valid values are:
com.iscobol.gui.client.swing.GuiFactoryImpl
com.iscobol.gui.client.zk.GuiFactoryImpl
com.iscobol.gui.client.charva.GuiFactoryImpl
 
The default value is com.iscobol.gui.client.swing.GuiFactoryImpl
iscobol.message.cancel
This property specifies the title of the "Cancel" button in the window invoked by the DISPLAY MESSAGE BOX Statement.
 
The default value is "&Cancel".
iscobol.message.no
This property specifies the title of the "No" button in the window invoked by the DISPLAY MESSAGE BOX Statement.
 
The default value is "&No"
iscobol.message.ok
This property specifies the title of the "OK" button in the window invoked by the DISPLAY MESSAGE BOX Statement.
 
The default value is "&OK".
iscobol.message.yes
This property specifies the title of the "Yes" button in the window invoked by the DISPLAY MESSAGE BOX Statement.
 
The default value is "&Yes".
iscobol.win3_grid
This property specifies a value defining the color of a grid displayed on all windows. This property has meaning only in a development environment. Its purpose is to help the programmer align controls in the window.
Possible values are:
-1 = no color (feature disabled)
1 = black
2 = blue
3 = green
4 = cyan
5 = red
6 = magenta
7 = yellow
 
Any other value will specify unpredictable colors.
 
The default value is -1.
Character Based Interface
Property
Meaning
iscobol.terminal.alpha_autoclear (boolean)
True = clear the area as soon as the user inputs a digit.
False = don't clear the area where the ACCEPT is performed. Keep the value on video and allow to overwrite the single digits.
 
If affects ACCEPT with the UPDATE clause on alphanumeric fields.
 
The default value is False.
iscobol.terminal.antialiasing (boolean)
True = antialiasing is applied to fonts on video.
False = fonts on video are shown as they are.
 
This property affects only character-based displays. Graphical controls always use antialiasing.
 
The default value is False.
iscobol.terminal.autowrap (boolean)
True = DISPLAY statements longer than one line will wrap around on a character-based display.
False = DISPLAY statements longer than one line will be truncated on a character-based display.
 
The default value is False.
iscobol.terminal.cl2end_fill_spaces (boolean)
True = The field is filled with spaces from the cursor position until the end. If the AUTO clause was used or the program is compiled with the -va option, this causes the cursor to be automatically moved to the next input field or the termination of the accept if no more fields are available.
False = The field is filled with spaces from the cursor position until the end, but the cursor position is unchanged.
 
The default value is False.
 
See Keyboard Configuration in order to know how to assign the cl2end function to a key.
iscobol.terminal.cursor_blink
This property configures the cursor blink for character based ACCEPT. Possible values are:
 
0 = no blink
1 = blink every 600 milliseconds
>1 = blink every n milliseconds, where n is the value of this property
 
The default value is 0.
iscobol.terminal.cursor_color
This property configures the cursor color for character based ACCEPT. Possible values are:
 
-1 = default color
0 = black
1 = blue
2 = green
3 = cyan
4 = red
5 = magenta
6 = brown
7 = white
8 = dark gray
9 = bright blue
10 = bright green
11 = bright cyan
12 = bright red
13 = bright magenta
14 = yellow
15 = bright white
 
The default value is -1.
iscobol.terminal.cursor_type
This property configures the cursor shape for character based ACCEPT. Possible values are:
 
0 = invisible
1 = underscore shape
2 = block shape
3 = underscore shape, becomes block while in insert mode
4 = vertical bar
 
The default value is 2
iscobol.terminal.data_range
This property allows you to filter characters accepted in a character-based screen. The value format is minVal[,maxVal], where minVal and maxVal are integer numbers representing the ASCII value of the character. If a character is not inside the range specified by the property, it is replaced with a space.
For example, in order to skip all characters below the space, set
 
iscobol.terminal.data_range=32
 
In order to skip all characters that are not upper case letters, set
 
iscobol.terminal.data_range=65,90
iscobol.terminal.drag_enabled (boolean)
True = the user can select an area in the window by dragging the mouse. On character-based screens the highlighted text is copied to the clipboard.
False = dragging the mouse in the window doesn’t produce a selection.
 
The default value is True.
iscobol.terminal.edited_formatted (boolean)
True = numeric edited fields are not cleared when the first valid character is imputed and the editing characters are automatically skipped, except for the B editing character. Only the fields whose edited picture contains characters different from '9', 'Z', '+', and '-' are affected.
False = numeric edited fields are cleared when the first valid character is imputed. The editing characters are removed as well during the cleaning.
 
The default value is False.
iscobol.terminal.kbd_case
This property defines how characters input by the user are converted into character-based screen fields. Possible values are:
 
Upper = All characters are converted uppercase
Lower = All characters are converted to lowercase
Both = All characters are entered as typed by user
 
The default value is Both.
 
Note - This setting may be overridden with the settings of the "UPPER" and "LOWER" keywords on individual ACCEPT statements.
 
(iscobol.keyboard.kbd_case is still supported for backward compatibility)
iscobol.terminal.lines_3d (boolean)
True = lines and boxes whose color is black as rendered with a 3D effect.
False = lines and boxes are rendered normally.
 
The default value is False.
iscobol.terminal.no_autoclear (boolean)
True = don't clear the area where the ACCEPT is performed.
False = clear the area where the ACCEPT is performed.
 
If affects ACCEPT without the UPDATE clause.
 
The default value is False.
iscobol.terminal.numeric_autoclear (boolean)
True = clear the area as soon as the user inputs a digit.
False = don't clear the area where the ACCEPT is performed. Keep the numeric value on video and allow to overwrite the single digits.
 
If affects ACCEPT with the UPDATE clause on numeric fields.
 
The default value is True.
iscobol.terminal.screen_prompt
This property sets the character used for PROMPT for character-based ACCEPT.
 
Default value:_
iscobol.terminal.screen_prompt_all
This property specifies where the PROMPT character must be shown. Possible values are:
 
NO - the PROMPT character is shown only in the active field, where the cursor is.
YES - the PROMPT character is shown in every field involved in the current ACCEPT.
PROTECTED - the PROMPT character is shown in every field involved in the current ACCEPT except for protected fields.
 
Default value: NO
iscobol.terminal.update_from_screen (boolean)
True = read content from screen during ACCEPT.
False = don’t read content from screen during ACCEPT.
 
The default value is False.
Debugger Configuration
Debugger properties cannot be set by SET ENVIRONMENT within the program. They must appear in the external configuration.
Property
Meaning
iscobol.debug.code_prefix
The Debugger uses this property to locate the source code of a program. Set this property to the list of paths where source files can be found. Separate multiple paths by your system path separator.
 
This property is considered in two conditions:
- if the program was compiled with isCOBOL 2020 R1 or previous, or
 
(iscobol.debug_code_prefix is supported for backward compatibility)
iscobol.debug.embedded_source (boolean)
True = The Debugger extracts the source code from the class file.
False = The Debugger ignores the source code in the class file and looks for the source code on disk. The source code is searched in the following places:
- the working directory that was used by the Compiler command
- the paths and libraries listed in the Classpath
- the paths listed by the iscobol.debug.code_prefix property
 
The default value is True.
iscobol.debug.port
This property specifies the port used by the Remote Debugger.
 
It can be used in the Framework configuration in order to tell on which port it should listen from connections.
 
It can be used in the Debugger configuration in order to tell on which port to connect instead of passing this information on the command line.
 
There is no point in using this property in the isCOBOL Server configuration for thin client debugging, as the isCOBOL Client automatically asks the isCOBOL Server to listen for Debugger connections on a specific port, according to the -debugport option (see Format 6 of isCOBOL Client usage).
 
The default value is 9999.
iscobol.debug.propfile
This property specify the name of the file where the Debugger saves and loads settings. Absolute and relative file names are allowed.
 
By default settings are saved in a file named isdebugger.properties under the user home directory.
iscobol.rundebug.redirect_streams (boolean)
True = The stdin, stdout and stderr streams are redirected to the Debugger Output Window.
False = The stdin, stdout and stderr streams are not redirected.
 
The property affects only the remote debugging of a stand-alone program launched with a command like java -Discobol.rundebug=2 -Discobol.redirect_streams=0 PROGRAM_NAME.
It doesn't work in thin client environment or with the stand-alone Debugger.
 
The default value is True.
 
(iscobol.redirect_streams is supported for backward compatibility)
iscobol.rundebug.stop_immediately (boolean)
True = When debugging a remote application, you enter in debug as soon as a program compiled in debug mode is loaded.
False = When debugging a remote application, you enter in debug only when a breakpoint is reached or the Pause button is pressed on the Graphical Debugger’s tool-bar.
 
The default value is True.
File Handling Configuration
The following configuration settings affect COBOL i-o statements. Library routines are not affected unless otherwise specified in the routine documentation.
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Property
Meaning
iscobol.ctree.bound_server (boolean)
True = c-tree works in stand-alone mode. This mode supports one client process only, so it is suggested that it is used only in an Application Server environment or single-user installations.
False = c-tree works in client/server mode.
 
The default value is False.
 
(iscobol.ctree.ace is supported for backward compatibility)
iscobol.ctree.new_config (boolean)*
True = The Runtime Framework searches for the c-tree configuration between Framework Properties. See Configuring the client through Framework properties for the list of available properties.
False = The Runtime Framework searches for the c-tree configuration in CTREE_CONF.
 
The default value is True
iscobol.extfh.keep_trailing_spaces (boolean)
True = Sequential files managed through EXTFH preserve trailing spaces at the end of the record.
False = Sequential files managed through EXTFH strip trailing spaces at the end of the record.
 
The default value is True.
iscobol.extfh.intrinsic_file_manager (boolean)
True = "EXTFH input" does not use the "isCOBOL FileManager chooser" but rather uses the "Default isCOBOL File manager"
False = "EXTFH input" uses the "isCOBOL FileManager chooser", so it uses the file manager specified by iscobol.file properties (e.g. indexed files will be managed by th e handlers specified by iscobol.file.index and iscobol.file.index.FileName ).
 
The default value is True.
iscobol.extfh.libname
Specifies the name of the EXTFH library
iscobol.apply_code_path (boolean)
True = The code_prefix is also used for programs whose name begins with "/" or "\".
False = The code_prefix is used only for programs with a relative path name.
 
The default value is False.
iscobol.file.apply_file_path (boolean)
True = The file_prefix is also used for files whose name begins with "/" or "\".
False = The file_prefix is used only for files with a relative path name.
 
The default value is False.
 
(iscobol.apply_file_path is supported for backward compatibility)
iscobol.file.binary_file_prefix
This property lists the paths in which to search unencoded sequential files (files whose names start with + characters).
 
When a data file is opened for input or i-o, the Framework looks for the data file in every path listed by this property until it finds the data file. If the data file is not found, an error is returned.
When the data file is opened for output, the Framework looks for the data file in every path listed by this property until it finds the data file, then it initializes it. If the data file is not found, then the Framework tries to create it in the first path listed by this property.
 
Paths must be separated by the a line feed character or by the current operating system path separator.
If one of the paths starts with "isf://", then paths must be separated by the a line feed character.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
 
If unset, the paths set in iscobol.file.prefix are used.
 
(iscobol.binary_file_prefix is supported for backward compatibility)
iscobol.file.case
U / u = Data file names are converted to upper case. Conversion occurs before applying file prefix and file suffix.
L / l = Data file names are converted to lower case. Conversion occurs before applying file prefix and file suffix.
(Other)    Data file names are not changed.
 
The default value is empty, so no conversion happens.
iscobol.file.close_on_exit (boolean)
True = All open files are automatically closed when the program exits.
False = Open files are left open when the program exits.
 
The default value is False
 
This property is overriden by the -coe compiler option. For example, if a program is compiled with -coe, files will be closed even if it sets iscobol.file.close_on_exit=false with a SET ENVIRONMENT statement before exiting.
 
(iscobol.close_on_exit is supported for backward compatibility)
iscobol.file.connector.program
This property specifies an alternate name for the c-tree File Connector executable.
 
The default value is "fscsc".
iscobol.file.connector.program.dcic
This property specifies an alternate name for the DCI File Connector executable.
 
The default value is "dcic".
iscobol.file.connector.program.mfc
This property specifies an alternate name for the Micro Focus File Connector executable.
 
The default value is "mfc".
iscobol.file.connector.program.rmc
This property specifies an alternate name for the RM/COBOL File Connector executable.
 
The default value is "rmc".
iscobol.file.connector.program.vfc
This property specifies an alternate name for the Vision File Connector executable.
 
The default value is "vfc".
iscobol.file.encryption.key *
This property specifies the encryption key that JIsam will use to deal with encrypted indexed files. See Encryption for more details.
 
The encryption key must be 1 to 16 bytes in size and can’t be spaces.
 
The property is checked before opening the file.
 
In Application Server and File Server environments this property should be set in the server configuration and it affects all the clients.
iscobol.file.env_naming (boolean)
True = The Runtime Framework searches for the name of the file among the environment variables. If found, its value is used in place of the file name:
 
SELECT LOGICAL FILE ASSIGN TO "PHYSICAL-FILE"
 
False = The Runtime Framework searches for the name of the file among the environment variables only if it is preceded by "-E":
 
SELECT LOGICAL-FILE ASSIGN TO "-E PHYSICAL-FILE"
 
The default value is False.
 
Rules for the correct format of the property name:
if you set the environment variable in isCOBOL properties, be sure to use lower case, as regardless of what case is used in the COBOL program, all property names must be lower-case. If you set the variable in system variables, instead, use upper case. If you set the variable via SET ENVIRONMENT, the runtime will take care of normalizing it, so either lower or upper case can be used.
if the file name contains hyphens, replace them with underscore
if the file name includes a path, use the path also in the property name
Some examples:
+-------------------+---------------------------+
| physical file name| property name             |
+-------------------+---------------------------+
| FILE1             | iscobol.file1             |
| FILE-1            | iscobol.file_1            |
| FILE-1.dat        | iscobol.file_1.dat        |
| folder/FILE-1.dat | iscobol.folder/file_1.dat |
+-------------------+---------------------------+
 
Alternatively, this property can be used to replace the file path in the program's SELECT statement with an environment variable. The path name must be prefaced by the '$' sign and must use the correct system’s file separator.
 
Example for Windows:
 
SELECT FILE1 ASSIGN TO "$STATION\FILE1"
 
Example for Unix:
 
SELECT FILE1 ASSIGN TO "$STATION/FILE1"
 
Note - Only one environment variable is considered when this property is set to true. If your program's SELECT statement contains a "$", the file path will be replaced with the environment variable, but the filename won't be replaced even if there is a valid variable for it.
iscobol.file.env_naming_prefix
When this property is used in conjunction with iscobol.file.env_naming=True, a prefix is stripped from the file mapping properties.
 
For example, if you set:
 
iscobol.file.env_naming_prefix=dd_
iscobol.file.dd_customers=customer_file
iscobol.file.dd_cities=cities_file
 
You obtain the same effect as setting:
 
iscobol.file.customers=customer_file
iscobol.file.cities=cities_file
 
(iscobol.file.env_naming.prefix is supported for backward compatibility)
iscobol.file.errors_ok
Configure how i-o errors are treated.
 
A value of “0” means that if an error occurs and there are no declaratives, the program will stop.
 
A value of “1” means that if an error occurs the program will continue.
 
A value of “2” means that if an error occurs the program will continue only if a file-status is defined for the file.
 
The default value is “0”.
 
(iscobol.errors_ok is supported for backward compatibility)
iscobol.file.extend_creates (boolean)
True = All files opened in EXTEND mode are treated as if they were declared OPTIONAL. If the file does not exist, it is created.
False = Standard rules are applied. Opening non-existing files when in EXTEND mode causes an error.
 
The default value is False.
 
(iscobol.extend_creates is supported for backward compatibility)
iscobol.file.extra_keys_ok (boolean)
True = Does not return errors when opening an indexed file that contains more keys than are described by the program.
False = Returns a mismatch error when opening an indexed file that contains more keys than are described by the program.
 
The default value is False.
iscobol.file.indd
This property specifies a custom class for the handling of files associated to iscobol.compiler.indd.
The class must implement the com.iscobol.io.InddHandler interface.
Refer to the javadoc installed with isCOBOL for details.
iscobol.file.index
This property specifies the default file system.
 
Refer to the Indexed file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is "jisam".
iscobol.file.index.autolock_allowed (boolean) *
This property affects the lock behavior in the same run unit when locks are managed by the InternalLockManager class in a thin client or file server environment. It affects locks between a caller program and a called program as well as locks on multiple records acquired by a single program.
 
True = More locks on the same record can be acquired in the same run unit.
False = Only one lock on the same record can be acquired in the same run unit.
 
The default value is False.
iscobol.file.index.check_all_keys (boolean)
True = check keys structure on OPEN and return error on mismatch.
False = don’t check keys structure on OPEN.
 
The default value is False.
iscobol.file.index.data_suffix *
This property specifies the default extension to be applied to the data file of a JIsam or c-tree archive.
The separator dot must be explicitly specified.
 
By default, ".dat" is used.
iscobol.file.index.FileName
This property specifies the file system to be used with FileName. It overrides the setting of iscobol.file.index.
 
FileName must match the physical file name declared in the COBOL program with hyphens replaced by underscores and must be lower-case regardless of the case used in the program. Here are some examples:
for “F-CUST” set iscobol.file.index.f_cust=...
for “f_cust” set iscobol.file.index.f_cust=...
for “F_cust.dat” set iscobol.file.index.f_cust.dat=...
 
Note: The names of the properties that are dynamically set inside the program using SET ENVIRONMENT are normalized by the runtime and therefore the above rules can be ignored.
 
Refer to the Indexed file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is the one specified by iscobol.file.index.
iscobol.file.index.index_suffix *
This property specifies the default extension to be applied to the index file of a JIsam or c-tree archive.
The separator dot must be explicitly specified.
By default, ".idx" is used.
iscobol.file.index.lock_read_anyhow (boolean) *
True = The record data is returned to the program even if the record is locked.
False = The record data is not returned to the program if a lock condition occurs.
 
The default value is False.
 
This property affects JIsam and c-tree file systems.
iscobol.file.index.lock_wait (boolean) *
True = Wait for the record to become unlocked if a lock condition occurs.
False = Return the lock condition to the program.
 
The default value is False.
 
This feature is fully supported by c-tree RTG.
It is supported also by JIsam but, in a thin client or file server environment, it works only if iscobol.file.lock_manager * is set to "com.iscobol.as.locking.InternalLockManager".
iscobol.file.index.read_lock_test (boolean) *
True = A READ WITH NO LOCK returns a lock condition if the record is locked.
False = A READ WITH NO LOCK reads the record even if it’s locked.
 
The default value is False.
 
This property affects JIsam and c-tree file systems.
iscobol.file.index.strip_extension (boolean)
True = The file extension is removed from the file name before opening the file.
False = The file extension is not removed from the file name before opening the file.
 
The default value is False.
 
This property doesn’t affect default extensions applied by the file handler, but it affects only the extension specified by the COBOL program, if any.
iscobol.file.index.version
This property returns the version of the file handler specified by the iscobol.file.index property.
iscobol.file.indexed_file_prefix
This property lists the paths in which to search for indexed data files.
 
When a data file is opened for input or i-o, the Framework looks for the data file in every path listed by this property until it finds the data file. If the data file is not found, an error is returned.
When the data file is opened for output, the Framework looks for the data file in every path listed by this property until it finds the data file, then it initializes it. If the data file is not found, then the Framework tries to create it in the first path listed by this property.
 
Paths must be separated by the a line feed character or by the current operating system path separator.
If one of the paths starts with "isf://", then paths must be separated by the a line feed character.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
 
(iscobol.indexed_file_prefix is supported for backward compatibility)
iscobol.file.input
This property specifies an alternative class with which to handle input streams (input streams are read-only sequential files ). Contact your local distributor for technical specifications.
 
For example, to let isCOBOL work with an EXTFH provider, this property can be set to: com.iscobol.extfh.ExtfhInput
iscobol.file.input_nolock (boolean)*
True = READ WITH LOCK, either explicit or implicit, doesn’t lock the record if the file is open in INPUT mode.
False = READ WITH LOCK, either explicit or implicit, locks the record even if the file is open in INPUT mode.
 
The default value is True.
iscobol.file.io_creates (boolean)
True = All files opened in I-O mode are treated as if they were declared OPTIONAL. If the file does not exist, it is created.
False = Standard rules are applied. Opening non-existing files in I-O mode causes an error.
 
The default value is False.
 
(iscobol.io_creates is supported for backward compatibility)
iscobol.file.linesequential
This property specifies an alternative class with which to handle line sequential files.
 
Refer to the Line Sequential file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is "lseq8bit".
iscobol.file.linesequential.FileName
This property specifies the file system to be used with FileName. It overrides the setting of iscobol.file.linesequential.
 
FileName must match the physical file name declared in the COBOL program with hyphens replaced by underscores and must be lower-case regardless of the case used in the program. Here are some examples:
for “F-CUST” set iscobol.file.linesequential.f_cust=...
for “f_cust” set iscobol.file.linesequential.f_cust=...
for “F_cust.txt” set iscobol.file.linesequential.f_cust.txt=...
 
Note: The names of the properties that are dynamically set inside the program using SET ENVIRONMENT are normalized by the runtime and therefore the above rules can be ignored.
 
Refer to the Line Sequential file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is the one specified by iscobol.file.linesequential.
iscobol.file.linesequential_N (boolean)
True = Use the com.iscobol.io.DynamicLSeqMF_N class as the default for line sequential files.
False = Use the com.iscobol.io.DynamicLSeq8bit class as the default for line sequential files.
 
The default value is False
 
(This property is deprecated and is provided for backward compatibility only. Use iscobol.file.linesequential=lseqmf_n instead.)
iscobol.file.lock_manager *
This property specifies an alternate class with which to handle locks in the Application Server (Thin Client) and File Server environments. Possible values are:
 
com.iscobol.as.locking.BaseLockManager
The Application Server tracks active locks on indexed files so they can be monitored by the server administration panel and by calling the A$LIST_LOCKS routine. However, the physical lock management is performed by the active file handler.
 
com.iscobol.as.locking.InternalLockManager
Application Server and File Server manage locks on indexed files itself without demanding the lock request to the active file handler. In Application Server environment active locks are listed by the server administration panel and can be inquired by calling the A$LIST_LOCKS routine.
 
If this property is omitted, then locks are managed by the active file handler and are not traced by either the server administration panel nor by the A$LIST_LOCKS routine.
 
For more information about lock managers, see Internal lock management.
 
Note - Lock managers don’t work in the Application Server if multitasking is enabled, e.g. if iscobol.as.multitasking is set to a value greater than 0 in the isCOBOL Server configuration. When multitasking is enabled, lock managers work only in the File Server.
iscobol.file.min_rec_size
When trailing spaces are stripped, this property specifies the minimum size of a line.
 
The default value is 1.
 
Trailing spaces are always stripped in print files, unless the NO CONVERSION clause is used on WRITE.
Trailing spaces are stripped in disk sequential files when iscobol.file.strip_trailing_spaces (boolean) is set to True.
 
(iscobol.min_rec_size is supported for backward compatibility)
iscobol.file.open_check (boolean)*
True = If a relative or sequential file is opened by a process even without using any kind of lock, no other process can lock it in exclusive mode. The Java property sun.nio.ch.disableSystemWideOverlappingFileLockCheck should be set to true as well.
False = If a relative or sequential file is opened by a process without any locking, another process can lock it in exclusive mode.
The default value is False.
This feature is not supported in the thin client architecture. The property affects only stand-alone executions.
iscobol.file.outdd
This property specifies a custom class for the handling of files associated to iscobol.compiler.outdd.
The class must implement the com.iscobol.io.OutddHandler interface.
Refer to the javadoc installed with isCOBOL for details.
iscobol.file.output
This property specifies an alternative class with which to handle output streams (output streams are write-only sequential files, like print files). Contact your local distributor for technical specifications.
 
For example, to let isCOBOL work with an EXTFH provider, this property can be set to: com.iscobol.extfh.ExtfhOutput
iscobol.file.page_eject_on_close (boolean)
True = Print files print a page advance record when the file is closed, unless the close contains the NO REWIND phrase.
False = Print files don’t print a page advance record when the file is closed.
 
The default value is False.
 
This property doesn’t affect print files assigned to the spooler.
iscobol.file.prefix
This property lists the paths in which to search for data files.
 
When a data file is opened for input or i-o, the Framework looks for the data file in every path listed by this property until it finds the data file. If the data file is not found, an error is returned.
When the data file is opened for output, the Framework looks for the data file in every path listed by this property until it finds the data file, then it initializes it. If the data file is not found, then the Framework tries to create it in the first path listed by this property.
 
Paths must be separated by the a line feed character or by the current operating system path separator.
If one of the paths starts with "isf://", then paths must be separated by the a line feed character.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
 
(iscobol.file_prefix is supported for backward compatibility)
iscobol.file.prefix_separator
This property sets the character used by isCOBOL to define the full path name (joining the value of the file.prefix setting and the file name specified in the program) according to the platform.This property was introduced specifically for client-server file systems, such as c-tree.
For example, if the c-tree server works on Linux while clients are on Windows, and this variable has not been set, isCOBOL inserts a backslash separator, resulting in an error.
 
The default value is "\" for Windows and "/" for UNIX/Linux.
 
(iscobol.file_prefix.separator is supported for backward compatibility)
iscobol.file.relative
This property specifies an alternative class with which to handle relative files.
 
Refer to the Relative file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is "relative".
iscobol.file.relative.FileName
This property specifies the file system to be used with FileName. It overrides the setting of iscobol.file.relative.
 
FileName must match the physical file name declared in the COBOL program with hyphens replaced by underscores and must be lower-case regardless of the case used in the program. Here are some examples:
for “F-CUST” set iscobol.file.relative.f_cust=...
for “f_cust” set iscobol.file.relative.f_cust=...
for “F_cust.dat” set iscobol.file.relative.f_cust.dat=...
 
Note: The names of the properties that are dynamically set inside the program using SET ENVIRONMENT are normalized by the runtime and therefore the above rules can be ignored.
 
Refer to the Relative file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is the one specified by iscobol.file.relative.
iscobol.file.relative_file_prefix
This property lists the paths in which to search for relative data files.
 
When a data file is opened for input or i-o, the Framework looks for the data file in every path listed by this property until it finds the data file. If the data file is not found, an error is returned.
When the data file is opened for output, the Framework looks for the data file in every path listed by this property until it finds the data file, then it initializes it. If the data file is not found, then the Framework tries to create it in the first path listed by this property.
 
Paths must be separated by the a line feed character or by the current operating system path separator.
If one of the paths starts with "isf://", then paths must be separated by the a line feed character.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
 
If unset, the paths set in iscobol.file.prefix are used.
 
(iscobol.relative_file_prefix is supported for backward compatibility)
iscobol.file.remote.host *
This property specifies the host name where the isCOBOL File Server is listening.
 
The default value is ‘localhost’.
iscobol.file.remote.port *
This property specifies the port where the isCOBOL File Server is listening.
 
The default value is 10997.
iscobol.file.remove_name_spaces (boolean)
True = spaces are removed from physical file names before looking for the files on disk (e.g. "C:\t m p \ file1" is treated as "C:\tmp\file1").
False = spaces are not removed from physical file names before looking for the files on disk.
 
The default value is False.
 
Note - spaces are removed only from the name used by the COBOL program, not from file.prefix and current directory.
iscobol.file.sequential
This property specifies an alternative class with which to handle sequential files.
 
Refer to the Binary Sequential file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value for files with fixed length record is "sequential".
The default value for files with variable length record is "varseq".
iscobol.file.sequential.FileName
This property specifies the file system to be used with FileName. It overrides the setting of iscobol.file.sequential.
 
FileName must match the physical file name declared in the COBOL program with hyphens replaced by underscores and must be lower-case regardless of the case used in the program. Here are some examples:
for “F-CUST” set iscobol.file.sequential.f_cust=...
for “f_cust” set iscobol.file.sequential.f_cust=...
for “F_cust.txt” set iscobol.file.sequential.f_cust.txt=...
 
Note: The names of the properties that are dynamically set inside the program using SET ENVIRONMENT are normalized by the runtime and therefore the above rules can be ignored.
 
Refer to the Binary Sequential file handlers table for the list of possible values. You can use either the Class-Name or the Alias (if available) to specify the file handler.
 
The default value is the one specified by iscobol.file.sequential.
iscobol.file.sequential_file_prefix
This property lists the paths in which to search for sequential data files.
 
When a data file is opened for input or i-o, the Framework looks for the data file in every path listed by this property until it finds the data file. If the data file is not found, an error is returned.
When the data file is opened for output, the Framework looks for the data file in every path listed by this property until it finds the data file, then it initializes it. If the data file is not found, then the Framework tries to create it in the first path listed by this property.
 
Paths must be separated by the a line feed character or by the current operating system path separator.
If one of the paths starts with "isf://", then paths must be separated by the a line feed character.
Within configuration files, the line feed character is "\n". In COBOL programs, the line feed character is x"0a".
 
If unset, the paths set in iscobol.file.prefix are used.
 
(iscobol.sequential_file_prefix is supported for backward compatibility)
iscobol.file.status *
This property specifies which file status codes to use. Set it to one of the following values:
 
com.iscobol.io.FileStatusDefault (for 2002 file status codes)
com.iscobol.io.FileStatus85
com.iscobol.io.FileStatus74
com.iscobol.io.FileStatusDG
com.iscobol.io.FileStatusVax
com.iscobol.io.FileStatusIBM
com.iscobol.io.FileStatusMF
com.iscobol.io.FileStatusMS
 
For example, for RM/COBOL-85 (ANSI 85) codes set
 
iscobol.file.status=com.iscobol.io.FileStatus85
 
It's possible to create a custom set of file status codes. The class must implement the "com.iscobol.io.FileStatus" interface; contact your local distributor for technical specifications.
iscobol.file.strip_trailing_spaces (boolean)
True = Trailing spaces are automatically removed before writing a line sequential file. When reading, the destination item is automatically filled with spaces before the line is read.
False = Trailing spaces are not removed before writing a line sequential file. When reading, the destination item is not cleared before the line is read.
 
The default value is False.
 
This property affects line sequential files on disk. In print files trailing spaces are stripped by default, unless the NO CONVERSION clause is used on WRITE.
 
(iscobol.strip_trailing_spaces is supported for backward compatibility)
iscobol.file.suffix
This property automatically appends a suffix to all data file names. The dot that separates the file name and the file extension is automatically added by the runtime.
 
Example: opening a file whose physical name is "arc" having iscobol.file.suffix=dat will open "arc.dat".
 
(iscobol.file_suffix is supported for backward compatibility)
iscobol.file.xextfh
This property allows you to choose the file manger when EXTFH is not involved. Valid values are:
2 = Use extended EXTFH2 32 bit
3 = Use extended EXTFH3 64 bit
iscobol.jisam.autolock_allowed (boolean)
This property affects the lock behavior in the same run unit when using JIsam as file handler. It affects locks between a caller program and a called program as well as locks on multiple records acquired by a single program.
 
True = More locks on the same record can be acquired in the same run unit.
False = Only one lock on the same record can be acquired in the same run unit.
 
The default value is False.
iscobol.jisam.version
Specifies the version of JIsam files created by OPEN OUTPUT. Valid values are 1 and 2. You should set this property to 1 if you plan to share the JIsam files with programs that run with an old version of isCOBOL that doesn’t support JIsam version 2.
 
The default value is 2.
iscobol.sort
This property specifies an alternative class with which to handle sort files. Contact your local distributor for technical specifications.
For example, to let isCOBOL work with an external sort module, this property can be set to: com.iscobol.extfh.ExtsmSort
iscobol.sort.dir
This property specifies the path of the directory where temporary sort files are stored.
iscobol.sort.maxfiles
This property specifies the maximum amount of files used for sorting.
 
The default value is 16.
iscobol.sort.memsize
This property specifies the maximum amount of memory used for sorting. The value is expressed in bytes.
 
The default value is 1048576.
iscobol.sqlserver.convention
This property specifies the sign convention adopted by the COBOL program that creates the c-tree file. Possible values are:
A = Acucobol-GT convention
D = Data General convention
I = IBM convention
M = Micro Focus convention
N = NCR COBOL convention
R = Realia COBOL convention
V = VAX COBOL convention
 
The default value is A.
iscobol.sqlserver.database
This property specifies the name of the c-tree SQL database that the Framework must connect to. This setting is used when iscobol.sqlserver.iss is set to true.
iscobol.sqlserver.dirlevel
This property specifies how many parts of the file path are to be used to build the table name on c-tree SQL when iscobol.sqlserver.iss is set to true.
 
The default value is 0.
iscobol.sqlserver.grant
This property specifies the permissions for the linked table.
It controls how other users will be able to interact with the table.
 
Possible values are:
 
0 = no permission, access denied to other users
1 = public permission with full access to other users
2 = public permission with read-only access to other users
 
The default value is 0.
iscobol.sqlserver.iss (boolean)
True = The c-tree indexed file is automatically linked into c-tree SQL during the OPEN OUTPUT.
False = The c-tree indexed file is created as a standard c-tree file during the OPEN OUTPUT.
 
The default value is False.
iscobol.sqlserver.iss.mapping.filename
This property creates a mapping between one or more physical file names and an iss file. filename is the name of the physical file, wildcards are supported (e.g. customers*). The value for this property is the basename (no extension) of the iss file to be used for all file names that match the pattern specified by filename.
iscobol.sqlserver.iss.replacement_rules
This property configures the replacements performed by the runtime on the physical file name before linking it as a table when iscobol.sqlserver.iss is set to true.
It affects the name of the iss dictionary that will be searched by the runtime as well as the name of the table in the c-tree SQL database.
 
By default '.' and '-' become '_'.
Before this conversion takes place, you can strip '.', '-' and file extension from the file name by setting this property to the combination between one or more of the following values:
 
0 = don’t omit any character
1 = '.' is omitted
2 = '-' is omitted
4 = the file extension (from the last '.' to the end of the name) is omitted
 
For example, given a file whose name is MY-ARC.01.DAT, the runtime will create the table on the c-tree SQL database with the following criteria:
 
+-------------------+--------------------+
| replacement rules |     table name     |
+-------------------+--------------------+
|                0  | MY_ARC_01_DAT      |
|                1  | MY_ARC01DAT        |
|                2  | MYARC_01_DAT       |
|                3  | MYARC01DAT         |
|                4  | MY_ARC_01          |
|                5  | MY_ARC01           |
|                6  | MYARC_01           |
|                7  | MYARC01            |
+-------------------+--------------------+
 
The property affects also the name of the ISS dictionary used by the runtime to manage the file, unless differently configured via the iscobol.sqlserver.iss.mapping.filename setting. For example, given a file whose name is MY-ARC.01.DAT, the runtime will look for the ISS dictionary with the following criteria:
 
+-------------------+--------------------+
| replacement rules |   ISS dictionary   |
+-------------------+--------------------+
|                0  | my_arc_01_dat.iss  |
|                1  | my_arc01dat.iss    |
|                2  | myarc_01_dat.iss   |
|                3  | myarc01dat.iss     |
|                4  | my_arc_01.iss      |
|                5  | my_arc01.iss       |
|                6  | myarc_01.iss       |
|                7  | myarc01.iss        |
+-------------------+--------------------+
 
The default value is 0.
iscobol.sqlserver.isspath
This property specifies the path where iss files are located. This setting is used when iscobol.sqlserver.iss is set to true.
iscobol.sqlserver.owner
This property specifies the owner of the SQL tables. This setting is used when iscobol.sqlserver.iss is set to true.
iscobol.sqlserver.password
This property specifies the password for connecting to c-tree SQL.
 
This setting is used when iscobol.sqlserver.iss is set to true in the isCOBOL configuration and COMPATIBILITY SQLIMPORT_ADMIN_PASSWORD is present in the c-tree Server configuration (ctsrvr.cfg).
 
Note that the use of COMPATIBILITY SQLIMPORT_ADMIN_PASSWORD is discouraged for security reasons.
iscobol.sqlserver.prefix
This property specifies a prefix to be put before the name of the SQL tables. This setting is used when iscobol.sqlserver.iss is set to true.
Database Bridge and JDBC/ESQL Configuration
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Common JDBC/ESQL Configuration
Property
Meaning
iscobol.esql.default_param_type
This property specifies the default type of parameters passed to stored procedures. If affects stored procedures called via CALL statement as well as stored procedures called in PL/SQL blocks via EXECUTE statement.
The default parameter type specified by this property is overridden by the IN, OUT and INOUT clauses in the CALL statement as well as by storeproc.property and by the $SQL HOSTVAR directive.
 
Possible values are:
IN
OUT
INOUT
 
The default value is INOUT.
iscobol.esql.indicator_trunc_on_call (boolean)
True = set the indicator variable to the length of the stored procedure’s output parameter value when this value doesn’t fit the host variable.
False = set the indicator variable to 0 when the stored procedure’s output parameter value doesn’t fit the host variable.
 
The default value is True.
iscobol.esql.sqlcode.<value>=<new-value> *
This property allows you to remap SQLCODE values to custom values. For example, in order to obtain SQLCODE=1403 instead of SQLCODE=100 when no record is found, set
 
iscobol.esql.sqlcode.100=1403
 
It doesn’t allow to remap SQLCODE values produced by iscobol.esql.value_sqlcode_on_no_data, iscobol.esql.value_sqlcode_on_null and iscobol.esql.value_too_many_rows as well as the value 1405 returned by programs compiled with -csqn option.
 
This property is evaluated after iscobol.esql.error.negative (boolean). If error.negative is true and you wish to remap a SQLCODE value, then you need to remap the negative value.
The following pair of settings
 
   iscobol.esql.error.negative=false
   iscobol.esql.sqlcode.1847=9999
 
produce the same effect of
   iscobol.esql.error.negative=true
   iscobol.esql.sqlcode.-1847=9999
iscobol.esql.value_sqlcode_on_no_data
This property specifies the value of SQLCODE when a query doesn’t affect any row.
The following SQL statements are affected
DELETE
INSERT INTO SELECT
SELECT
UPDATE
 
The default value is 0.
iscobol.esql.value_sqlcode_on_null
This property specifies the value of SQLCODE when an host variable is set to null. This feature is activated by the -csqn compiler option. If the option is omitted, the program sets SQLCODE to zero when an host variable is set to null.
 
The default value is 1405.
iscobol.esql.value_too_many_rows
This property specifies the value of SQLCODE when an EXEC SQL SELECT INTO statement returns more than one result. Destination host variables are however set with the values of the first result.
 
The default value is 0.
iscobol.esql.warnings (boolean)
True = warnings are returned through SQLCA if the ESQL statement produces them.
False = warnings are never returned through SQLCA.
 
The default value is False.
iscobol.esql.error.negative (boolean)
True = SQLCODE values different from 0 and 100 are returned as negative values.
False = SQLCODE values are always positive.
 
The default value is False.
 
Warnings are not affected by this property. See iscobol.esql.warnings (boolean) for information about how to intercept warnings.
 
SQLCODE values can also be changed via the iscobol.esql.sqlcode.<value>=<new-value> * property.
iscobol.jdbc.allocate_type
This property specifies the data type of items allocated through the EXEC SQL ALLOCATE statement. It can be set to one of the constant values of java.sql.Types (https://docs.oracle.com/javase/8/docs/api/java/sql/Types.html).
 
The default value is -16
iscobol.jdbc.auto_connect (boolean)
True = The runtime issues a CONNECT statement automatically if no connection is available for the Embedded SQL.
False = The runtime doesn’t try to automatically connect if no connection is available for the Embedded SQL.
 
The CONNECT issued by the runtime has no parameters, it’s just EXEC SQL CONNECT END-EXEC, so the necessary parameters must have been set in the configuration (e.g. iscobol.jdbc.url).
 
The default value is False.
iscobol.jdbc.autocommit (boolean)
True = The JDBC driver is forced to automatically commit INSERT, UDATE and DELETE statements performed by the ESQL module.
False = INSERT, UPDATE and DELETE statements are not automatically committed. It’s program duty to issue a COMMIT or a ROLLBACK after them.
 
The autocommit mode is set at the CONNECT statement. Changing this property after the connection to the database has been established has no effect.
 
All statements issued after the last COMMIT or ROLLBACK in the runtime session will be committed or discarded on STOP RUN according to the iscobol.jdbc.on_stop_run setting.
The default value is True.
iscobol.jdbc.connection.login.timeout
This property specifies the timeout in seconds before returning a connection refused error to the CONNECT statement. If this property is not set, the connection timeout depends on database settings.
iscobol.jdbc.cursor.concurrency *
Set the internal Cursor type for ESQL.
 
Valid values are:
1007 = Cursors are read-only
1008 = Cursors are updatable
1009 = Cursors are lockable (only for MS SQL Server)
 
Default is 1007
iscobol.jdbc.cursor.type *
This property determines the default cursor type used by the JDBC driver.
 
1 = FORWARD_ONLY allows the cursor to move forward, but not backward, through the data.
2 = SCROLL_INSENSITIVE allows the cursor to move forward and backward through the data. Changes made while the cursor is open are ignored. It provides a static view of the underlying data to which the cursor refers.
3 = SCROLL_SENSITIVE allows the cursor to move forward and backwards through the data. Changes made while the cursor is open are immediately available. It provides a dynamic view of the underlying data to which the cursor refers.
 
The default value is 1.
iscobol.jdbc.datasource
This property allows a custom class to be specified for the JDBC connection. This class is used by the CONNECT statement to get the connection.
 
The class must implement the com.iscobol.rts.MyDataSource interface. Consult the javadoc installed with isCOBOL for specifics.
iscobol.jdbc.dateformat *
This property specifies the format in which PIC x and PIC 9 receive the value of DATE fields from database tables.
yyyy = year
MM = month
dd = day.
 
All supported values are listed in the Java Documentation:
 
The default value is yyyy-MM-dd.
iscobol.jdbc.driver
This property specifies the name of the JDBC driver to be used by the ESQL module.
 
The default value is “sun.jdbc.odbc.JdbcOdbcDriver”.
iscobol.jdbc.driver.ConnectionName
Please consult the Database Bridge documentation, chapter Working with multiple connections, for details on this property.
iscobol.jdbc.fetch_size
This property gives the JDBC driver a hint as to the number of rows that should be fetched from the database when more rows are returned at the opening of a ESQL cursor. If the value specified is 0, then the hint is ignored.
 
The default value is 0.
iscobol.jdbc.kept_spaces
This property specifies the manner in which trailing spaces in ESQL host variables are handled.
 
-1 = Trailing spaces are maintained.
0 = Trailing spaces are removed.
1 = Trailing spaces are removed and the first character of the string is always maintained, regardless of whether it is a space or not.
2 = Trailing spaces and low-values are removed.
 
Trailing spaces are handled before the host variable is passed to the ESQL processor.
 
Note - this property affects only host variables. Constant strings (including the value of the The EDBI-WHERE-CONSTRAINT external variable) are not affected.
 
The default value is 1.
iscobol.jdbc.on_stop_run
This property specifies the behavior of the JDBC driver when the run unit terminates.
commit = Executes a COMMIT statement, then a DISCONNECT statement.
rollback = Executes a ROLLBACK statement, then a DISCONNECT statement. Note that the ROLLBACK will have effect only if you’re not working in autocommit mode, e.g. iscobol.jdbc.autocommit (boolean) must be set to false.
none = Executes only a DISCONNECT statement. A COMMIT or ROLLBACK is performed depending on the database defaults.
 
The default value is none.
iscobol.jdbc.options
This property sets a list of options to be passed to the JDBC driver. Every option consists of a name and a value, separated by the equals (=) symbol. Options are separated by commas. For example:
 
iscobol.jdbc.options=Option1=Value1,Option2=Value2
 
Options must be set before connecting.
 
Note - Due to JDBC rules, options are evaluated only if user and password are not specified in the CONNECT statement.
If you wish to specify user and password in the CONNECT statement, then you should rely on a custom CONNECT implementation in order to set JDBC options. See iscobol.jdbc.datasource for details.
iscobol.jdbc.password
This property specifies the password to log in the database.
 
You should set this property only if the password is not specified neither in iscobol.jdbc.url nor by the CONNECT statement.
iscobol.jdbc.timeformat *
This property specifies the format in which PIC X and PIC 9 receive the value of TIME fields from database tables.
All supported values are listed in the Java Documentation:
 
Default value is HH:mm:ss.SSS.
iscobol.jdbc.timestampformat *
This property specifies the format in which PIC X and PIC 9 receive the value of TIMESTAMP fields from database tables.
 
All supported values are listed in the Java Documentation:
 
Default value is yyyy-MM-dd HH:mm:ss.SSS.
iscobol.jdbc.thread_connection (boolean)
True = Each thread created by PERFORM THREAD or CALL THREAD uses a separate database connection. The thread code is responsible to create the connection. When working with the Database Bridge, EDBI subroutines take care of managing the multiple thread connections.
False = All threads created by PERFORM THREAD or CALL THREAD share the same database connection.
 
The default value is False.
iscobol.jdbc.url
This property specifies the prefix of the JDBC URL used by the ESQL module. Possible values depend on the JDBC driver being used.
 
The URL could include user and password, or you can specify user and password separately by setting iscobol.jdbc.user and iscobol.jdbc.password.
 
For example, the following setting:
iscobol.jdbc.url=jdbc:oracle:thin:scott/tiger@myhost:1521:orcl
is equivalent to:
iscobol.jdbc.url=jdbc:oracle:thin:@myhost:1521:orcl
iscobol.jdbc.user=scott
iscobol.jdbc.password=tiger
 
The default value is “jdbc:odbc:”.
iscobol.jdbc.url.ConnectionName
Please consult the Database Bridge documentation, chapter Working with multiple connections, for details on this property.
iscobol.jdbc.user
This property specifies the user to log in the database.
 
You should set this property only if the user is not specified neither in iscobol.jdbc.url nor by the CONNECT statement.
 
Database Bridge (EasyDB) Runtime Configuration
Property
Meaning
iscobol.easydb.commit_count
Specifies the COMMIT COUNT for EDBI routines.
 
When this property is set to a value greater than 0, a COMMIT is issued after this number of operations. WRITE, REWRITE, and DELETE are counted; READ, START, and READ NEXT are not.
 
The default value is 0.
 
iscobol.jdbc.autocommit (boolean) must be set to false in the configuration, otherwise all the operations are automatically committed.
 
Note - routines generated by the EDBIIS command consider this setting only if the -cc option was used.
iscobol.easydb.commit_count.ConnectionName
Specifies the COMMIT COUNT for EDBI routines. It affects only the connection identified by ConnectionName.
 
When this property is set to a value greater than 0, a COMMIT is issued after this number of operations. WRITE, REWRITE, and DELETE are counted; READ, START, and READ NEXT are not.
 
The default value is 0.
 
iscobol.jdbc.autocommit (boolean) must be set to false in the configuration, otherwise all the operations are automatically committed.
 
Note - routines generated by the EDBIIS command consider this setting only if the -cc option was used.
iscobol.easydb.connection_name.FileName
Please consult Database Bridge documentation, chapter Working with multiple connections, for details on this property.
iscobol.easydb.date_cutoff
This property uses a two-digit value and establishes the two-digit year that will be interpreted by the program as being in the 20th Century and the two-digit year that will be interpreted by the program as being in the 21st Century.
For example, consider setting:
 
iscobol.easydb.date_cutoff=30
 
In this case, 2000 will be added to the two-digit year that are smaller than "30" (or whatever value you give to this variable), and will therefore make them part of the 21st Century. 1900 will be added to the two-digit year that are larger than "30", making them part of the 20th Century. A COBOL date like 99/10/10 will be translated into 1999/10/10. A COBOL date like 00/02/12 will be translated into 2000/02/12.
 
The default value is 20.
 
(iscobol.easydb_date_cutoff is supported for backward compatibility)
iscobol.easydb.dirlevel
This property gives you a method of mapping filenames with directories to the EDBI routine. It determines how many levels of the directory to use as part of the table name. If you set this property to 0, it means no level behavior (default). If you set it to a positive value, it determines how many directory names to keep.
 
For example assuming that a COBOL program opens a file like
"/usr/temp/users/invoice", if easydb.dirlevel=0, the EDBI routine will reference a table named "invoice"; if easydb.dirlevel=1, the EDBI routine will reference a table named "usersinvoice"; if easydb.dirlevel=2, the EDBI routine will reference a table named "tempusersinvoice"; and so on...
 
When this property is set to a value greater than zero, it generates a mismatch between the name of the table and the name of the EDBI routine, so it’s necessary to set iscobol.easydb.mapping as well. With reference to the above example, you should set iscobol.easydb.mapping=*invoice=invoice.
 
The default value is 0.
iscobol.easydb.inv_date
This property is used to establish an invalid date (such as 2000/02/31) in order to avoid problems that can occur when an incorrect date format has been written to the database.
The date must be specified as a eight digits string that is the concatenation between year, month and day.
For example, to use 1st January 2000 as valid date to replace invalid dates, set:
 
iscobol.easydb.inv_date=20000101
 
The default value is 99991230.
 
During record insertion, if the COBOL field contains an invalid date, the date specified by this property is written to the database field. After record read, if the date value matches with the value of this property, the COBOL field is set to zero.
 
(iscobol.easydb_inv_date is supported for backward compatibility)
iscobol.easydb.julian_base_date
This property specifies the base date to resolve julian dates. The value must be specified in the format YYYYMMDD.
For example, to use the 1st January 2000 as base date to resolve julian dates, set:
 
iscobol.easydb.julian_base_date=20000101
 
The default value is 16000101.
 
This property can be set to dates that are greater than the 1st January 1600. If you need a lower date as base date (E.g. 00010101) then you can’t rely on the automatic handling of Julian dates, but you need to write your own date conversion routines. See iscobol.compiler.easydb.julian_routines=<cbdb>;<dbcb> for more information.
 
(iscobol.easydb_julian_base_date is supported for backward compatibility)
iscobol.easydb.limit_dropdown
This property limits the number of queries performed for a START operation.
.
Possible values are:
0 - Perform all the queries in the drop down.
1 - Only for START with SIZE clause, stop after all records matching the START columns have been exhausted.
2 - Only for START without SIZE clause, stop after all records matching the START columns have been exhausted.
3 - Regardless of the kind of START, stop after all records matching the START columns have been exhausted.
 
The default value is 0.
 
See iscobol.easydb.limit_dropdown for more information.
iscobol.easydb.mapping
This property allows you to associate certain filenames with particular EDBI routines. This enables you to use one EDBI routine for many different files with the same data structure. Multiple mappings must be separated by space. For example, setting:
 
iscobol.easydb.mapping=invoice2008=invoice invoice2009=invoice
 
or the equivalent
 
iscobol.easydb.mapping=invoice2008=invoice \
                       invoice2009=invoice
 
means that the Dynamic Filesystem Interface will redirect I/O done from any COBOL program that uses "invoice2008" and "invoice2009" as a physical file basename to EDBI-invoice.
You can also use the wildcard "*" character to simplify file name associations, where "*" matches any number of characters. Note that "*" is the only wildcard supported.
For example,
 
iscobol.easydb.mapping=invoice*=invoice
 
will match all of the above.
The parsing of iscobol.easydb.mapping value is interrupted at the first match found. You should pay attention to the order mappings are listed in order to avoid an unexpected mapping within similar file names. For example, suppose that, in addition to the invoice files shown above you have a different file named "invoices" and you want it to be managed by the routine EDBI-file1. The following setting is wrong:
 
iscobol.easydb.mapping=invoice*=invoice \
                       invoices=file1
 
Because "invoice*" would be valid also for the file name "invoices" and so that file would be associated to the EDBI-invoice routine as well. The correct setting in this case is:
 
iscobol.easydb.mapping=invoices=file1 \
                       invoice*=invoice
 
Dots in the file name are translated to underscores by the Database Bridge. If you need to map a file whose name has an extension, you need to be aware of this rule. For example, if you want that "file1.db" is managed by EDBI-file1, set:
 
iscobol.easydb.mapping=file1_db=file1
 
If no matches are found in iscobol.easydb.mapping, the Dynamic Filesystem Interface will look for matches in the deprecated iscobol.filename.mapping configuration property. This property is still supported for backward compatibility.
iscobol.easydb.max_date
This property is used to establish a high-value date in order to avoid problems in cases where invalid dates have been incorrectly written to the database. The date must be specified as a eight digits string that is the concatenation between year, month and day.
For example, to use 31th December 2099 as valid date to replace dates set to high-values, set:
 
iscobol.easydb.max_date=20991231
 
The default value is 99991231.
 
During record insertion, if the COBOL field contains high-value, the date specified by this property is written to the database field. After record read, if the date value matches with the value of this property, the COBOL field is set to high-value.
 
(iscobol.easydb_max_date is supported for backward compatibility)
iscobol.easydb.min_date
This property is used to establish a low-value (0 or space) date in order to avoid problems that can occur when invalid dates have been incorrectly written to the database. The date must be specified as a eight digits string that is the concatenation between year, month and day.
For example, tuse 1st January 2000 as valid date to replace dates set to low-values, set:
 
iscobol.easydb.min_date=20000101
 
The default value is database dependent.
 
During record insertion, if the COBOL field contains low-value, zero or spaces, the date specified by this property is written to the database field. After record read, if the date value matches with the value of this property, the COBOL field is set to zero.
 
(iscobol.easydb_min_date is supported for backward compatibility)
iscobol.easydb.mysql_row_limit
This property specifies the weight of the cursors used to read data from MySQL. By default the MySQL JDBC driver loads in memory all the records of a table when the COBOL program performs a Start. This behavior might consume resources and affect performance when working on huge tables. If iscobol.compiler.easydb.light_cursors was set to a value grater than 0 at compile time, then EDBI subroutines read data using a paging logic in order to work around the driver behavior.
 
The default value is 100.
 
Note - routines generated by the EDBIIS command consider this setting only if the -dmld or -dmlu options were used.
iscobol.easydb.postgres_row_limit
This property specifies the weight of the cursors used to read data from PostgreSQL. By default the PostgreSQL JDBC driver loads in memory all the records of a table when the COBOL program performs a Start. This behavior might consume resources and affect performance when working on huge tables. If iscobol.compiler.easydb.light_cursors was set to a value grater than 0 at compile time, then EDBI subroutines read data using a paging logic in order to work around the driver behavior.
 
The default value is 100.
 
Note - routines generated by the EDBIIS command consider this setting only if the -dpld or -dplu options were used.
iscobol.easydb.prefix
This property specifies the prefix that the runtime should put before the EDBI routine name before calling it.
 
For example, setting this property to "ora", when the program opens FILE1, the runtime will call ORAEDBI_FILE1.
 
By default, no prefix is used.
iscobol.easydb.prefix.ConnectionName
Please consult the Database Bridge documentation, chapter Working with multiple connections, for details on this property.
iscobol.easydb.replacement_rules
This property configures the replacements performed by the EDBI routines on the physical file basename before using it as database table name.
 
By default '.' and '-' become '_'.
Before this conversion takes place, you can strip '.', '-' and file extension from the file name by setting this property to the combination between one or more of the following values:
 
0 = don’t omit any character
1 = '.' is omitted
2 = '-' is omitted
4 = the file extension (from the last '.' to the end of the name) is omitted
 
For example, given a file whose name is MY-ARC.01.DAT, the runtime will look for the table on the database with the following criteria:
 
+-------------------+--------------------+
| replacement rules |     table name     |
+-------------------+--------------------+
|                0  | MY_ARC_01_DAT      |
|                1  | MY_ARC01DAT        |
|                2  | MYARC_01_DAT       |
|                3  | MYARC01DAT         |
|                4  | MY_ARC_01          |
|                5  | MY_ARC01           |
|                6  | MYARC_01           |
|                7  | MYARC01            |
+-------------------+--------------------+
 
The property affects also the name of the EDBI routine used by the runtime to manage the file, unless differently configured via the iscobol.easydb.mapping setting. For example, given a file whose name is MY-ARC.01.DAT, the runtime will look for the EDBI routine with the following criteria:
 
+-------------------+--------------------+
| replacement_rules |    EDBI routine    |
+-------------------+--------------------+
|                0  | EDBI_MY_ARC_01_DAT |
|                1  | EDBI_MY_ARC01DAT   |
|                2  | EDBI_MYARC_01_DAT  |
|                3  | EDBI_MYARC01DAT    |
|                4  | EDBI_MY_ARC_01     |
|                5  | EDBI_MY_ARC01      |
|                6  | EDBI_MYARC_01      |
|                7  | EDBI_MYARC01       |
+-------------------+--------------------+
 
The default value is 0.
iscobol.easydb.start_on_specific_table (boolean)
True = When a START is performed on a multi-record FD, only the table related to the current record type is used.
False = When a START is performed on a multi-record FD, all the tables related to the FD are used.
 
The default value is False.
 
Note - routines generated by the EDBIIS command consider this setting only if the -esst option was used.
iscobol.easydb.wait_for_lock (boolean)
True = EDBI routines wait for the lock to be released. The EDBI routine must have been generated with easydb.oracle.wait_for_locks=1.
False = EDBI routines return the lock condition.
 
The default value is False.
 
This feature is currently provided only for Oracle.
 
Note - routines generated by the EDBIIS command consider this setting only if the -owfl option was used.
iscobol.edbi.notnum.tracefile
This property specifies the name of the trace file generated by EDBI subroutines for cases of not numeric data in numeric field.
 
The default value is TRACENUM.
 
Note - routines generated by the EDBIIS command consider this setting only if the -t option was used.
isCOBOL Server (thin client) Configuration
isCOBOL Server properties listed below cannot be set by SET ENVIRONMENT within the program. They must appear in the configuration passed to the isCOBOL Server at startup.
(*) The asterisk after the property name means that the property is read every time a Client connects. Other properties instead are read only at server startup.
Property
Meaning
iscobol.as.alias.AliasName *
This property defines an alias.
Aliases are evaluated when iscobol.as.use_aliases (boolean) is set to true.
For more information see Working with Aliases.
iscobol.as.appserver (boolean)
True = Start the Class Server along with isCOBOL Server.
False = Don’t start the Class Server along with isCOBOL Server.
 
This property is evaluated only if iscobol.as.fileserver is set to true, otherwise the Class Server is always started.
 
The default value is False.
iscobol.as.authentication *
This property defines how the users are authenticated in Application Server environment.
 
0 = No password required.
1 = A password is required only for admin functions.
2 = A password is always required.
 
The default value is 1.
iscobol.as.check_alive_interval
This property activates a "check alive" communication between the isCOBOL Server and the connected Clients in Thin Client environment. If the communication fails, then the Server sends a kill signal to the Client. The response of the Client to the kill signal may be affected by the iscobol.as.stop_thread * setting.
 
The property must be set to two numeric values separated by space. The first value specifies the interval in seconds between a ping and another. The second value is the response timeout in seconds.
Optionally, you can specify other two numeric values that specify how many times the isCOBOL Server should retry to communicate with a Client before considering it dead and the delay in seconds between these retries.
 
For example, in order to perform a check each 5 minutes with a timeout of a minute, set:
 
iscobol.as.check_alive_interval=300 60
 
In order to retry up to 5 times in 5 minutes before considering a Client dead, set:
 
iscobol.as.check_alive_interval=300 60 5 60
 
In order to have a trace of the checks that failed, set iscobol.as.logging (boolean) and iscobol.as.logging.exception (boolean) to true.
 
By default the check alive feature is disabled.
iscobol.as.clientupdate.propfile
This property specifies the name of a custom swupdater.properties file to be used instead of the default swupdater.properties.
While the default swupdater.properties includes just the iscobol and iscobolNative packages, this custom file can contain any package.
This is useful to instruct the client to download additional items (e.g. custom items like programs that will be called via CALL CLIENT) in addition to the isCOBOL libraries.
iscobol.as.clientupdate.site
This property specifies the URL of an HTTP server where Clients can connect to look for updates.
The HTTP server could be:
a external HTTP Server like IIS or Apache
a separate isCOBOL Server started with -hs option
the current isCOBOL Server started with both -as and -hs options
 
The URL is in the form http://servername:port.
 
The isUpdater utility, automatically invoked by the isCOBOL Client, will append "swupdater.properties" to the URL in order to download that configuration file.
For example, setting iscobol.as.clientupdate.site=http://192.168.0.1:10996 will cause isUpdater to download the file "http://192.168.0.1:10996/swupdater.properties" via HTTP GET method.
iscobol.as.clientupdate.version
This property specifies the isCOBOL build required client side. If the Client is running a build whose number is less than the value of this property, then the Client will automatically update itself before starting any COBOL program.
 
By default, the value of this property matches with the build of the runtime library installed in the isCOBOL Server.
iscobol.as.debugport_range
This property specifies the range of ports that can be used to connect remote debuggers.
The property is evaluated only when iscobol.as.multitasking is set either to 1 or 2. The debugger will use the first available port in this range, unless a specific port was specified through the -debugport option on the Client’s command line.
The value can be expressed in two ways:
a list of port numbers separated by comma, e.g. "9991,9992,9993.9994",
the minimum port number and the maximum port number separated by hyphen, e.g. "9991-9994".
 
The default value is 9999-10099.
iscobol.as.digest
This property specifies the algorithm used by isCOBOL Server to encrypt passwords. The same algorithm is used by the A$GET_DIGEST library routine.
Possible values are:
 
LEGACY = Use the same hash method used by isCOBOL 2012 R2 and previous releases
MD5 = Use MD5
SHA-1 = Use SHA-1
 
The file password.properties generated with a specific algorithm is not compatible with an isCOBOL Server that uses a different algorithm.
 
The default value is SHA-1.
iscobol.as.fileserver (boolean)
True = Start File Server services along with isCOBOL Server .
False = Don’t start File Server services along with isCOBOL Server .
 
The default value is False.
iscobol.as.fileserver.port
This property specifies the port used by the File Server.
 
The default value is 10997.
iscobol.as.hook
This property specifies the name of the hook program that is be automatically executed by the Application Server each time a client connects.
 
See Hook program for more information.
iscobol.as.httpserver (boolean)
True = Start the HTTP Server feature.
False = Don’t start the HTTP Server feature.
 
The default value is False.
iscobol.as.httpserver.port
This property specifies the port used by the HTTP Server.
 
The default value is 10996.
iscobol.as.httpserver.root
This property specifies the base directory of the HTTP Server.
 
By default, the isCOBOL Server working directory is used.
iscobol.as.ide (boolean)
True = Allow remote IDEs to compile and run programs.
False = Don’t serve remote IDEs.
 
The default value is False.
iscobol.as.info.arguments
This property returns the arguments of the client command-line.
iscobol.as.info.entering
This property returns the client status to the hook program. There are two possible values:
 
1 = Program starting
0 = Program exiting
iscobol.as.info.host
This property returns the hostname of the current client.
iscobol.as.info.program
This property returns the program name of the client command-line.
iscobol.as.info.userid
This property returns the user ID used by the client to connect.
iscobol.as.info.username
This property returns the user name used by the client to connect.
iscobol.as.logfile
This property specifies the path of the log file for the Application Server activities.
iscobol.as.logging (boolean)
True = Application Server activities are traced and logged.
False = Tracing is disabled.
 
The default value is False.
iscobol.as.logging.exception (boolean)
True = Print exceptions caused by remote method invocation (RMI).
False = Hide exceptions caused by remote method invocation (RMI).
 
The default value is False.
 
This property is evaluated only when iscobol.as.logging (boolean) is set to true.
iscobol.as.max_connections
This property sets the maximum number of concurrent connections allowed by the isCOBOL Server.
 
Valid range: 1 ~ 2147483647.
 
The default value is 512.
iscobol.as.multitasking
This property specifies if the isCOBOL Server should create a new thread in the current JVM or a new separate process when a client connects.
Possible values are:
 
0 = Create a new thread for every client.
1 = Create a separate process for every client.
2 = Create a new thread for clients launched without -d option and create a separate process for clients launched with -d option.
 
Programs loaded from iscobol.remote.code_prefix, File Server clients, isCOBOL utilities and the isCOBOL Server Administration Panel are not affected by this property, they always run as internal threads.
 
Setting iscobol.as.multitasking=2 is useful for production environments if you need to debug without blocking other users. Multiple clients launched with -d option must use different debug ports (see -debugport option in Format 6 of isCOBOL Client usage).
 
Clients running in a separate task due to this property are isolated from other clients and therefore
they can’t get the list of connected users by calling A$LIST_USERS,
they can’t get the list of active locks by calling A$LIST_LOCKS,
they can’t share customer information by calling A$USERINFO,
they can’t send messages to other clients by calling A$SEND_MESSAGE.
 
Note - Lock managers activated by iscobol.file.lock_manager * don’t work in the Application Server if multitasking is enabled. When multitasking is enabled, lock managers work only in the File Server.
 
The default value is 2.
iscobol.as.panel.refresh_timeout *
This property sets the timeout in seconds for the automatic refresh of the isCOBOL Server Administration Panel lists. The automatic refresh must be activated by the user by clicking on the “Auto refresh” check box in the tool-bar. The value -1 disables the automatic refresh feature.
 
The default value is 30.
iscobol.as.password_file
This property specifies an alternate name and path for the password.properties file.
Example:
 
iscobol.as.password_file=/etc/as_pwd.txt
 
The default value is "password.properties".
iscobol.as.stop_thread *
This property affects the killing of Client connections performed by the isCOBOL Server. A connection may be killed in three conditions:
if the Client is terminated via the command iscclient -kill.
if the Client is terminated via the isCOBOL Server’s administration panel
if the Client is terminated by the "check alive" feature of the isCOBOL Server (see iscobol.as.check_alive_interval)
 
When set to a value of zero or greater it specifies the number of seconds to wait for the Client to terminate by cleaning up anything it needs to do before dying. When the time expires, if the Client is still alive, then it is terminated regardless of its status.
 
When set to -1, no timeout is used and the Server waits for the Client to terminate in a clean way, even if it means to wait endlessly.
 
The default value is -1.
iscobol.as.use_aliases (boolean)
True = The name of the program specified in the Client command line is searched among aliases defined in the server configuration file.
False = The name of the program specified in the Client command line is actually the program to start.
 
The default value is False.
 
For more information see Working with Aliases.
iscobol.net.ssl.key_store
If this properties contains a path, then isCOBOL Server and Load Balancer will consider that path as a JKS keystore containing a certificate and it will accept only SSL connections: the certificate must contain private and public key and must be suitable for a server.
 
See TLS/SSL support for details.
iscobol.net.ssl.key_store_password
This property specifies the password of the keystore when requested.
 
See TLS/SSL support for details.
The following properties are considered by both isCOBOL Server and Client
iscobol.hostname
This property specifies the host name of the machine that is running the server in an Application Server environment.
 
In the Client configuration it is possible to specify multiple values separated by comma. It’s good practice to have the same number of values in iscobol.port. The client will attempt to connect to the fist available hostname and port pair. Hostnames and ports are paired from the first in the list to the last, such as hostname1:port1, hostname2:port2 and so on.
If the numbers of specified hostnames and ports do not match, the last in the shorter list will be used for creating all remaining pairs.
 
The default value is 127.0.0.1.
iscobol.port
This property specifies the port used by the Application Server.
 
In the Client configuration it is possible to specify multiple values separated by comma. It’s good practice to have the same number of values in iscobol.hostname. The client will attempt to connect to the fist available hostname and port pair. Hostnames and ports are paired from the first in the list to the last, such as hostname1:port1, hostname2:port2 and so on.
If the numbers of specified hostnames and ports do not match, the last in the shorter list will be used for creating all remaining pairs.
 
The default value is 10999.
iscobol.runtime.cs.version
This property returns the version number of the client/server.
The following properties are to be used client side only:
iscobol.net.ssl.trust_store
If this property contains a path, then isCOBOL Client and the HTTPClient class will use an SSL connection, getting information about the sever certificate from the JKS keystore indicated by the path: a special value of '*' directs the framework to use the system Java keystore.
 
See TLS/SSL support for details.
iscobol.net.ssl.trust_store_password
This property specifies the password of the keystore when requested.
 
See TLS/SSL support for details.
iscobol.remote_conf
This property specifies a remote configuration file to be used in an Application Server environment. The settings of this configuration file are appended to the settings in the isCOBOL Server’s configuration, if any, and the resulting configuration is used in the runtime session running within the isCOBOL Server.
 
This property affects both the isCOBOL Client in a thin client environment and the isCOBOL Framework calling remote programs.
 
This property must be set client side but it must point to a file located in the server machine where isCOBOL Server is running.
iscobol.user.name
This property allows you to set the user name to log in to the isCOBOL Server’s services: Application Server, File Server and Remote Calls.
 
The property also specifies the value returned in the USER-ID data item of the SYSTEM-INFORMATION group item.
iscobol.user.password
This property allows you to set the user password to log in to the isCOBOL Server’s services: Application Server, File Server and Remote Calls.
 
(iscobol.user.passwd is supported for backward compatibility)
Load Balancer Configuration
Load Balancer properties can be set exclusively in the configuration file passed as parameter on the iscblancer command-line.
Property
Meaning
iscobol.balancer.hostname
This property specifies the host name of the machine that is running the Load Balancer.
 
The default value is 127.0.0.1.
iscobol.balancer.logfile
This property specifies the path of the log file for the Load Balancer activities.
iscobol.balancer.logging (boolean)
True = Load Balancer activities are traced and logged.
False = Tracing is disabled.
 
The default value is False.
iscobol.balancer.port
This property specifies the port used by the Load Balancer.
 
The default value is 10999.
iscobol.balancer.update.interval
This property specifies the number of seconds between the check-alive operations performed by the Load Balancer.
 
The default value is 60.
iscobol.balancer.update.timeout
This property specifies the connection timeout for the check-alive operations performed by the Load Balancer.
 
The default value is 60.
Print Configuration
Property
Meaning
iscobol.print.default_font
This property specifies the default font to be used while printing text for which no font was specified.
The isCOBOL Framework allows you to specify the font for the whole print job, for specific text or for page columns via the WIN$PRINTER routine and the P$ routines.
When these routines are not involved, an undefined font is used.
This property allows you to specify which font should be used instead in these cases.
 
The value format is: FontName-FontStyle-FontDim
 
FontName is the name of the font, i.e. Consolas.
FontStyle is the style of the font such as bold, italic or bolditalic.
FontDim is the dimension of the font.
 
If FontName cannot be found, then FontStyle and FontDim are applied to the undefined font loaded by the runtime.
iscobol.print.memory (boolean)
True = Print jobs are stored in memory. As a result, the process is faster but more memory is occupied.
False = Print jobs are stored on the hard disk. One or more temporary files will be created in the user’s Temp directory.
 
In a thin client environment this property must be set on the machine where the print job is generated, that by default is the client machine. If you moved the print job to the server side via WINPRINT-SET-PRINTER-AS, then set this property in the server side configuration.
 
The default value is False.
iscobol.print.preview.icon
This property specifies a custom icon for the print preview dialog shown when you close a file whose physical name is “-P PREVIEW”. It must point to a file of type BMP, JPG, GIF, ICO and PNG.
iscobol.print.preview.title
This property specifies the title of the print preview dialog shown when you close a file whose physical name is “-P PREVIEW”. The default title is "Print Preview".
iscobol.printer.channels
This configuration variable is used to define and print to printer channels C01-C12. Specify the line numbers for each channel. Null entries are ignored. Those channels that have line number zero, function-names S01-S052, CSP, or are undefined, are set to line 1.
You can specify only a single line number for each channel.
 
Example:
 
iscobol.printer.channels=1:3::3
 
In this example C01 equals 1, C02 and C04 equal 3, while C03 equals 1 because it’s undefined. If a print statement specifies channel C03, the line is printed at line 1.
Any WRITE BEFORE/AFTER PAGE statements cause positioning to be at line 1. Each line advance increases the line number by one. A request to skip to a line number less than or equal to the current line causes a new page to begin. The appropriate number of line feeds are then generated.
iscobol.printer.dialog.always (boolean)
True = The Choose Printer dialog is shown each time the program opens a print file on a pipe. If the user doesn’t choose a printer, then the OPEN fails.
False = The Choose Printer dialog is never automatically shown by the runtime.
 
The default value is False.
The following properties specify the default attributes for PDF prints. They affect PDF created by writing on a file assigned to "-P PDF" or by using the Save As function in the print preview dialog.
Note that these values are read on the side where the printing takes place, e.g. on the client side if the PDF is written by the client, on the server side otherwise.
The print attributes can be changed at runtime by calling the WINPRINT-SET-ATTRIBUTE function.
Property
Meaning
iscobol.print.attribute.author
This property specifies the author of the PDF document. It can be any text.
iscobol.print.attribute.encryption
This property allows you to activate encryption. It takes a numeric bitwise value where each bit sets a specific feature. If this value is set to 0 then no encryption takes place.
 
You can rely on the following constants, defined in isprint.def, to activate the desired feature:
 
78 pdfcrypt-no value 0.
78 pdfcrypt-std-40 value 1.
78 pdfcrypt-std-128 value 2.
78 pdfcrypt-aes-128 value 3.
78 pdfcrypt-no-metadata value x#08.
78 pdfcrypt-embedded-files-only value x#10.
 
78 pdfcrypt-allow-printing value x#0100.
78 pdfcrypt-allow-modify-content value x#0200.
78 pdfcrypt-allow-copy value x#0400.
78 pdfcrypt-allow-modify-annotations value x#0800.
78 pdfcrypt-allow-fill-in value x#1000.
78 pdfcrypt-allow-screenreaders value x#2000.
78 pdfcrypt-allow-assembly value x#4000.
78 pdfcrypt-allow-degraded-printing value x#8000.
78 pdfcrypt-all-permissions value x#FF00.
 
Permissions are applied only if combined with a valid encryption, otherwise all-permissions is assumed.
 
Usage example:
 
iscobol.print.attribute.encryption=258
 
The resulting PDF will be printable, but it will not be possible to add annotations or copy the text to clipboard, as 258 is the sum between pdfcrypt-std-128 (2) and pdf-crypt-allow-printing (256).
 
The default value is 0.
iscobol.print.attribute.expires
This property specifies the custom property "Expires". It can be any text.
iscobol.print.attribute.font_default
This property affects the generation of PDF files (e.g. files whose physical name starts with "-P PDF")and it specifies the name of the font to be used if the fonts set in the print job cannot be found in the system.
Usage example:
 
iscobol.print.attribute.font_default=arial
iscobol.print.attribute.font_folder
This property specifies the folders where the fonts used in the PDF document are installed. You can specify multiple folders separated by pipe, e.g. "C:\\myCustomFonts|C:\\WINDOWS\\Fonts". The fonts loaded from these folders are not marked as "embedded".
iscobol.print.attribute.font_folder_embed
This property specifies the folders where the fonts used in the PDF document are installed. You can specify multiple folders separated by pipe, e.g. "C:\\myCustomFonts|C:\\WINDOWS\\Fonts". The fonts loaded from these folders are marked as "embedded".
iscobol.print.attribute.jpeg
This property specifies the compression applied to images in the PDF document. It can be 0 if you want to keep images unchanged or it can range from 1 to 100 to indicate the image quality, where 1 is the lowest quality and 100 is the highest quality.
When this attribute is set, all images are internally translated to jpeg; this will remove transparency, if any.
 
The default value is 0.
iscobol.print.attribute.keywords
This property specifies the keywords of the PDF document. It can be any text.
iscobol.print.attribute.owner_password
This property specifies the password of the owner of the document. If this value is not set, then a random password is created. It works only along with iscobol.print.attribute.encryption.
iscobol.print.attribute.pdfa
This property allows you to create a PDF/A document following a specific standard.
Possible values are "PDF/A-1A" and "PDF/A-1B", case insensitive.
This property must be set in conjunction with either iscobol.print.attribute.font_folder or iscobol.print.attribute.font_folder_embed as all the fonts must be available.
 
If this property is not set, then a standard PDF is created.
iscobol.print.attribute.subject
This property specifies the subject of the PDF document, it can be any text.
iscobol.print.attribute.title
This property specifies the title of the PDF document, it can be any text.
iscobol.print.attribute.user_password
This property specifies the password of the user of the document. If this value is not set, then a default password is used as specified in the PDF specifics. It works only along with iscobol.print.attribute.encryption.
IDE Reports Export feature Configuration
Export to Excel feature
The following properties are evaluated only when a Report designed with the IDE is printed to XLS or XLSX file as described in Exporting to Excel file. They’re not considered by the Grid and List-Box’s export features.
Property
Meaning
iscobol.export.excel.cell_ignore_background (boolean)
True = Ignores the background color of the cell.
False = Replicates the background color of the cell.
 
The default value is False.
iscobol.export.excel.cell_ignore_borders (boolean)
True = Ignores the border style of the cell.
False = Replicates the border style of the cell.
 
The default value is False.
iscobol.export.excel.cell_locked (boolean)
True = Mark cells as locked.
False = Don’t mark cells as locked.
 
Locking cells has no effect until you protect the worksheet. This operation can be performed using external tools like Microsoft Excel.
 
The default value is True.
iscobol.export.excel.cell_numeric_format
Specifies the number format for numeric cells. Refer to https://support.microsoft.com/en-us/kb/264372 for a list of valid values.
 
There is no default.
iscobol.export.excel.cell_wrap_text (boolean)
True = Long text wraps in the cell.
False = Long text is truncated.
 
The default value is True.
iscobol.export.excel.collapse_row_span (boolean)
True = Collapse row span and avoid merging cells across rows. It implies iscobol.export.excel.remove_rows_space=true.
False = Don’t collapse row span and allow merging cells across rows.
 
The default value is False.
iscobol.export.excel.detect_cell_type (boolean)
True = Preserve the type of the original Report field expressions and use it for the cell data type.
False = Don’t preserve the type of the original Report field expressions and don’t use it for the cell data type.
 
The default value is True.
iscobol.export.excel.force_page_breaks (boolean)
True = Create page breaks in the Excel sheet.
False = Don’t create page breaks in the Excel sheet.
 
The default value is True.
iscobol.export.excel.freeze_page_header (boolean)
True = The Report page header is shown only on the top of the spreadsheet and is freezed during scrolling. When the content of the header changes, a new sheet is created.
False = The Report page header is shown for each Report page exported in the spreadsheet.
 
The default value is False.
iscobol.export.excel.ignore_images (boolean)
True = Ignore graphics and export only the text.
False = Export both text and graphics.
 
The default value is False.
iscobol.export.excel.remove_columns_space (boolean)
0 = Empty spaces that could appear between columns should not be removed.
1 = Empty spaces that could appear between columns should be removed.
2 = Empty spaces that could appear between columns should be removed. In the resulting output, useless columns are then removed as well.
 
The default value is 0.
iscobol.export.excel.remove_rows_space (boolean)
True = Empty spaces that could appear between rows should be removed.
False = Empty spaces that could appear between rows should not be removed.
 
The default value is False.
iscobol.export.excel.whitepage_background (boolean)
True = Force cell white background.
False = Don’t force cell white background.
 
The default value is True.
Report print
Property
Meaning
iscobol.report.font.default
This property has the same meaning and usage of iscobol.font.default *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.default * to represent the default font.
 
If not set, then iscobol.font.default * is used also during Report print and preview.
iscobol.report.font.fixed
This property has the same meaning and usage of iscobol.font.fixed *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.fixed * to represent the fixed font.
 
If not set, then iscobol.font.fixed * is used also during Report print and preview.
iscobol.report.font.large
This property has the same meaning and usage of iscobol.font.large *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.large * to represent the large font.
 
If not set, then iscobol.font.large * is used also during Report print and preview.
iscobol.report.font.medium
This property has the same meaning and usage of iscobol.font.medium *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.medium * to represent the medium font.
 
If not set, then iscobol.font.medium * is used also during Report print and preview.
iscobol.report.font.small
This property has the same meaning and usage of iscobol.font.small *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.small * to represent the small font.
 
If not set, then iscobol.font.small * is used also during Report print and preview.
iscobol.report.font.traditional
This property has the same meaning and usage of iscobol.font.traditional *,
It is considered by the IDE during Report print and preview, but not during Report painting. The Report Designer relies on iscobol.font.traditional * to represent the traditional font.
 
If not set, then iscobol.font.traditional * is used also during Report print and preview.
Update Facility Configuration
Server Configuration (swupdater.properties)
Property
Meaning
swupdater.items_list[.<os>[.<arch>]].<packageName>
This property defines a list of items that will be included or excluded in the update process. You can specify file names or relative paths. Relative paths will be resolved according to the directory specified by swupdater.lib[.<os>[.<arch>]].<packageName>. Wildcards are accepted. Multiple items must be separated by comma. When specifying a path, the “/” file separator must be used, also on Windows. On platforms that are not Windows, the file names and paths specified by this property are case sensitive.
 
Some examples:
 
A value of “file1,file” includes file1 and file2 in the list.
A value of “file1,mydir/*” includes file1 and all the files under mydir in the list.
 
os is optional and it can be any of the following values: win, linux, mac, solaris. If omitted, this property is considered for all clients regardless of their platform, otherwise the property is considered only for clients of a specific platform.
 
arch is optional and can be either 32 or 64. If omitted, this property is considered for all clients regardless of their bitness, otherwise the property is considered only for clients of a specific bitness.
 
Items list are supported only when swupdater.lib[.<os>[.<arch>]].<packageName> points to a directory. If it points to a ZIP file, items list can’t be used.
 
The inclusion and exclusion of items is controlled by the swupdater.exclude_items_list[.<os>[.<arch>]].<packagename> property.
swupdater.exclude_items_list[.<os>[.<arch>]].<packagename>
This property specifies how to treat the items listed by swupdater.lib[.<os>[.<arch>]].<packageName>. Possible values are:
 
-1 - ignore the items list and include all the files in the update process.
0 - include only the files specified by the items list in the update process and exclude all the others.
1 - include all the files except the ones specified by the items list in the update process.
 
os is optional and it can be any of the following values: win, linux, mac, solaris. If omitted, this property is considered for all clients regardless of their platform, otherwise the property is considered only for clients of a specific platform.
 
arch is optional and can be either 32 or 64. If omitted, this property is considered for all clients regardless of their bitness, otherwise the property is considered only for clients of a specific bitness.
 
The default value is -1.
swupdater.version.<packageName>
This property specifies the release of the package available on the server.
swupdater.lib[.<os>[.<arch>]].<packageName>
This property specifies the ZIP file or the directory containing the new version of the package. This entry can contain an absolute URL or a relative URL.
 
os is optional and it can be any of the following values: win, linux, mac, solaris. If omitted, this property is considered for all clients regardless of their platform, otherwise the property is considered only for clients of a specific platform.
 
arch is optional and can be either 32 or 64. If omitted, this property is considered for all clients regardless of their bitness, otherwise the property is considered only for clients of a specific bitness.
 
(swupdater.zipfile[.<os>[.<arch>]].<packageName> is supported for backward compatibility)
Client Configuration (isupdater.properties)
Property
Meaning
swupdater.site
This property specifies the HTTP URL where to look for the updates.
 
The HTTP server could be either an external HTTP Server like IIS or Apache or an isCOBOL Server started with -hs option.
 
isUpdater will append "swupdater.properties" to this URL in order to download the "swupdater.properties" configuration file.
For example, setting swupdater.site=http://192.168.0.1:10996 will cause isUpdater to download the file "http://192.168.0.1:10996/swupdater.properties" via HTTP GET method.
swupdater.logfile
This property specifies the pathname of the log file where isUpdater traces its activity when logging is enabled.
 
isUpdater environment variables can be used in the value of this property.
swupdater.logging (boolean)
True = Trace the isUpdater activity into the log file defined by swupdater.logfile.
False = isUpdater activity is not traced.
 
The default value is False.
swupdater.jvm_options
This property specifies the Java options to be used with the new JVM instantiated by isUpdater to run program pointed by swupdater.mainclass. Multiple options must be separated by space. For example, if you wish that the new JVM can use up to 500 MB of heap memory and allocates 256 MB for the metaspace, set:
 
swupdater.jvm_options=-Xmx500m -XX:MetaspaceSize=256m
 
Note - the creation of a new JVM is conditioned by the swupdater.new_jvm_always (boolean) configuration property.
swupdater.mainclass
This property specifies the class to run after the update checking. If this entry is missing then the isupdater tool terminates at the end of the update process.
swupdater.net.ssl.trust_store
If this property contains a path, then isUpdater will use an SSL connection, getting information about the sever certificate from the JKS keystore indicated by the path: a special value of '*' directs isUpdater to use the system Java keystore.
 
isUpdater environment variables can be used in the value of this property.
swupdater.net.ssl.trust_store_password
This property specifies the password of the keystore when requested.
swupdater.new_jvm_always (boolean)
True = The program pointed by swupdater.mainclass is always executed in a new JVM.
False = The program pointed by swupdater.mainclass is executed in a new JVM only if an update occurred.
 
The default value is False.
swupdater.http.ignore_certificates (boolean)
True = If the handshaking fails due to invalid certificates, continue and connect anyway.
False = If the handshaking fails due to invalid certificates, stop.
The default value is False.
Note - this property should be set to true only for test purposes. It’s not good practice to ignore handshaking errors.
swupdater.version.<packageName>
This property specifies the release of the package <packageName> currently installed. This is free text, both letters and numbers are allowed. The version can be expressed in dotted form as usually software versions are expressed. If the expession between dots is a decimal number then it will be evaluated in such way, otherwise it will be evluated as alphabetical expression, for example: "10.4" is less than "10.10" and "10.4a" is greater than "10.10a".
The isupdater tool will download new files only if the version specified by this property is less than the version available on the server.
swupdater.directory.<packageName>
This property specifies the directory in which the new software will be downloaded. If this entry is missing, then files are downloaded in the isupdater working directory.
 
isUpdater environment variables can be used in the value of this property.
swupdater.directory.clean.<packageName> (boolean)
True = Clean the content of the client directory before downloading files from the server. Some jar libraries may not be removed as they’re locked by the client JVM, in this case they are made zero bytes in size.
False = Just download the files from the server to the client directory.
 
Note - the client runtime must be version 2018 R1 or greater for this feature to work. Previous runtime versions don’t support it.
 
The default value is False.
isUpdater environment variables
The following variables can be used in the isUpdater client configuration:
Variable
Value
${iscobol.home}
The isCOBOL home directory.
 
This path is calculated by removing the last directory from the path of the isupdater.jar library. For example, if isupdater.jar was loaded from '/opt/isCOBOL/lib', then iscobol.home will be '/opt/isCOBOL'.
${java.home}
The Java home directory.
${user.home}
The user’s home directory.
${user.temp}
The user’s temp directory.
For example, if you wish the log to be generated in the user’s home directory, set:
swupdater.logfile=${user.home}/isupdater.log
isUpdater will internally translate "${user.home}/isupdater.log" to "C:\Users\UserName\isupdater.log" when running on Windows and "/home/UserName/isupdater.log" when running on Linux/Unix.
Library Routines Configuration
C$COPY
Property
Meaning
iscobol.ccopy.client_temp_as_base_dir (boolean)
True = In thin client, for client-side files, use the user TEMP folder as base directory for relative file paths.
False = In thin client, for client-side files, use the client working directory as base directory for relative file paths.
 
The default value is False.
C$EASYOPEN
Property
Meaning
iscobol.easyopen.method
This property specifies which method must be used by C$EASYOPEN to open the file. Possible values are:
JDIC = use the JDIC component
JAVA = use the java.awt.Desktop class
START = use the START command on Windows
WINAPI = call the ShellExecuteA Windows function.
 
The default value is JAVA.
C$MYFILE
Property
Meaning
iscobol.cmyfile.classname_only (boolean)
True = only the class name (without path) is returned by C$MYFILE.
False = a full file name (path and file name) is returned by C$MYFILE.
 
The default value is False.
C$SOCKET
Property
Meaning
iscobol.csocket.keepalive (boolean)
True =The attribute SO_KEEPALIVE is turned on for sockets managed by the C$SOCKET routine.
False = The attribute SO_KEEPALIVE is turned off for sockets managed by the C$SOCKET routine.
 
The default value is False.
iscobol.csocket.maxbuffersize
Sets the SO_RCVBUF option value for sockets created by C$SOCKET.
 
The default value is 0.
iscobol.csocket.reuseaddr (boolean)
True =The attribute SO_REUSEADDR is turned on for sockets managed by C$SOCKET routine.
False = The attribute SO_REUSEADDR is turned off for sockets managed by C$SOCKET routine.
 
The default value is False.
iscobol.csocket.tcp_nodelay (boolean)
True =socket packets are sent immediately.
False = socket packets are delayed using the Nagle algorithm.
 
The default value is True.
C$XML
Property
Meaning
iscobol.cxml.indent_number
This property changes the layout of XML files generated by C$XML.
Possible values are:
 
-1 = all elements in the same line, no line feeds and no indentation.
0 = every element in a separate line, no indentation.
>0 = every element in a separate line, with a given indentation. The value of the property is the number of spaces used for the indentation.
 
The default value is -1.
Utilities Configuration
COBFILEIO
Property
Meaning
iscobol.cobfileio.efd_path
Specifies the directory containing the EFD file
iscobol.cobfileio.output_path
Specifies the output directory where COBFILEIO will place the generated items
iscobol.cobfileio.package
Specifies the Java package name to be defined in the generated source code
iscobol.cobfileio.use_resource_file
If set to ‘1’ or ‘True’, this setting causes all the strings to be generated with the ‘-r’ prefix so that they will be loaded from resource files at run time. For a correct result, the following entries must be available in the resource file:
 
number_too_large=Number Too Large. Field
max_number=Max Number
current_number=Current Number
string_too_long=String Too Long. Field
max_length=Max Length
current_length=Current Length
wrong_scale=Wrong Scale. Field
max_scale=Max Scale
current_scale=Current Scale
GIFE
iscobol.gife.efd_directory
This property specifies the default folder where to look for EFD dictionaries. In the "Open File" dialog, GIFE fills automatically the "EFD File Path" field if:
a EFD dictionary with the same name of the file exists in the folder where the opened file is located, or
a EFD dictionary with the same name of the file exists in the folder pointed by iscobol.gife.efd_directory
iscobol.gife.encrypt
This property is considered for JIsam files.
 
True = GIFE considers the file as encrypted. It uses the key specified by the property iscobol.file.encryption.key * to decrypt the file content.
False = GIFE considers the file as plain.
 
The default value is False.
iscobol.gife.open_mode_io (boolean)
True = GIFE opens the file for i/o as default
False = GIFE opens the file for input as default
 
The default value is False.
iscobol.gife.rel_rec_size=n
This property specifies the record size for the open of a relative file.
n can be any positive number.
iscobol.gife.num_convention=conv
This property specifies the numeric convention used to represent numeric fields when a EFD dictionary is provided.
conv can be any of the following:
-dca
-dcb
-dcd
-dcdm
-dci
-dcii
-dcm
-dcmi
-dcn
 
The default value is -dca.
KEISEN
iscobol.keisen.method
This property specifies the line drawing method for the KEISEN routines. Valid values are 1 and 2.
 
The default value is 1.
ISL
Property
Meaning
iscobol.isl.execute_debug (boolean)
True = The "-d" check-box will be checked in the ISL GUI.
False =The "-d" check-box will not be checked in the ISL GUI.
 
The default value is False.
iscobol.isl.java_options
This property specifies the options to be passed to the Java Runtime. If set, the corresponding field in the ISL GUI will be automatically filled with this value.
iscobol.isl.laf
This property specifies the LAF used by the launched program. If set, the corresponding field in the ISL GUI will be automatically filled with this value.
Possible values are:
 
system
--system
metal
--metal
motif
--motif
GTK
--GTK
nimbus
--nimbus
iscobol.isl.nodisconnecterr (boolean)
True = The "-nodisconnecterr" check-box will be checked in the ISL GUI.
False =The "-nodisconnecterr" check-box will not be checked in the ISL GUI.
 
The default value is False.
iscobol.isl.prog_arguments
This property specifies the arguments for the COBOL program. If set, the corresponding field in the ISL GUI will be automatically filled with this value.
iscobol.isl.prog_name
This property specifies the name of the COBOL program. If set, the corresponding field in the ISL GUI will be automatically filled with this value.
iscobol.isl.updater_conf_file
This property specifies the configuration file for the isUpdater utility that is invoked when the user activates the -update option.
ISMIGRATE
Property
Meaning
iscobol.ctree.library
Set this property to “ctreestd” to use the c-tree standalone library (ctreestd) instead of the client/server library (ctree) for data migration. The standalone library is faster than the client/server library in reading and writing c-tree data. However, the standalone library is suitable only for data migration as it lacks of many features if compared with the client/server library (for example, file encryption is not supported). The use of this setting in a COBOL application not suggested.
iscobol.ismigrate_additional_bytes
This property increases the output record length by the specified number of bytes.
iscobol.ismigrate_hook
This property specifies the name of a custom program that ISMIGRATE will call for each record read from the input file before writing the record to the output file. The feature allows you to alter the record content during the migration process.
The hook program is called as a standard COBOL program so it must be available in the code-prefix or in the Classpath, depending on the current configuration.
The program receives the following Linkage parameters:
 
01 INPUT-FULLNAME PIC X ANY LENGTH.
01 INPUT-RECORD   PIC X ANY LENGTH.
 
As the parameter names say, the former receives the full path name of the input file while the latter receives the content of the record read.
The length of INPUT-RECORD shouldn’t be changed by the hook program otherwise an unexpected result may occur since ISMIGRATE uses the original record length.
 
If the hook program exits with a negative return code (e.g. GOBACK -1), then the record is skipped by ISMIGRATE.
iscobol.ismigrate_ignore_write_errors (boolean)
True = Continue the data migration even if write errors occur.
False = Stop if a write error occurs.
 
The default value is False.
iscobol.ismigrate_input_encrypt (boolean)
True = Consider the input files as encrypted.
False = Don’t consider the input files as encrypted.
 
If the input files are JIsam, use iscobol.ismigrate_input_encryption_key to specify the encryption key.
 
The default value is False.
iscobol.ismigrate_input_encryption_key
This property specifies the encryption key to be used when reading JIsam files during the migration process.
It’s evaluated when iscobol.ismigrate_input_encrypt (boolean) is true.
 
It overrides iscobol.file.encryption.key * if both properties are set.
iscobol.ismigrate_input_file_index
This property defines the source file system.
The possible values of iscobol.file.index are suitable also for this property.
iscobol.ismigrate_input_jdbc_driver
This property specifies the jdbc driver for the input files when migrating between two databases using “easydb” as ismigrate_input_file_index.
 
If you're not migrating between two databases, but between a database and another file system, then set the standard iscobol.jdbc.driver .
iscobol.ismigrate_input_jdbc_url
This property specifies the jdbc url for the input files when migrating between two databases using “easydb” as ismigrate_input_file_index.
 
If you're not migrating between two databases, but between a database and another file system, then set the standard iscobol.jdbc.url .
iscobol.ismigrate_logfile
This property specifies the path name of the ismigrate log file. By default, a file named “ismigrate.log” is created in the working directory.
iscobol.ismigrate_logging
0 = The ISMIGRATE activity isn’t traced and no dump files are generated.
1 = The ISMIGRATE activity is traced in the file pointed by ismigrate_logfile, but no dump files are generated.
2 = The ISMIGRATE activity is traced in the file pointed by ismigrate_logfile, and a dump file is generated for each migration that failed for one of these reasons:
a unique key violation occurred and ismigrate_ignore_write errors is set to true
the verification performed due to ismigrate_verify_records=true found one or more records that don’t match
 
The log file contains information about the active configuration and the i/o operations.
The dump files contain the hex content of the problematic records.
The dump files are generated in the same directory as the log file and they have the same name of the input files that were not successfully migrated.
 
The default value is 0.
iscobol.ismigrate_make_encrypt (boolean)
True = The output files are created with the encrypted flag. Note that some file handlers ignore such flag.
False = The encryption flag is not used to create the output files.
 
If the output files are JIsam, use iscobol.ismigrate_output_encryption_key to specify the encryption key.
 
The default value is False.
iscobol.ismigrate_no_alphabet (boolean)
True = Don’t pass the collating sequence to the output file handler. This is useful when migrating to file systems like Dci, which do not support collating sequences.
False = Pass the collating sequence to the output file handler.
 
The default value is False.
iscobol.ismigrate_no_directories (boolean)
True = Consider the first parameter (InputFile) as the name of the source file, and the second parameter (OutputDir) as the name of the destination file. Useful to migrate one file at a time.
False = Consider the first parameter (InputFile) as a list of files, and the second parameter (OutputDir) as the name of the destination folder. Useful to migrate multiple files at a time.
 
The default value is False.
iscobol.ismigrate_no_echo (boolean)
True = No output is printed on the system output. It might be useful in a scenario where you call ISMIGRATE from a COBOL program managing errors and record count via Linkage parameters without the need to have them printed on the console.
False = Some information is printed on the system output.
 
The default value is False.
iscobol.ismigrate_no_make (boolean)
True = Don’t perform the build of the output file. This is useful when optimizing the migration of file systems like EasyDB, which create a table when opening a file.
False = Build the output file.
 
The default value is False.
iscobol.ismigrate_no_output_directory (boolean)
True = Ignore the second parameter.
False = Consider the second parameter.
 
This setting is useful when migrating to databases unless you wish to include a portion of the file path in the destination table name (e.g. if you set iscobol.easydb.dirlevel to value greater than zero).
 
The default value is False.
iscobol.ismigrate_open_extend (boolean)
True = ISMIGRATE will open the output files in EXTEND mode. The output files must already exist, otherwise their opening will fail.
False = ISMIGRATE will open the output files in OUTPUT mode, creating them if they don’t exist or resetting them if they exist.
 
The default value is False.
iscobol.ismigrate_output_encryption_key
This property specifies the encryption key to be used when writing JIsam files during the migration process.
It’s evaluated when iscobol.ismigrate_make_encrypt (boolean) is true.
 
It overrides iscobol.file.encryption.key * if both properties are set.
iscobol.ismigrate_output_file_index
This property defines the destination file system.
The possible values of iscobol.file.index are suitable also for this property.
iscobol.ismigrate_output_jdbc_driver
This property specifies the jdbc driver for the output files when migrating between two databases using “easydb” as ismigrate_output_file_index.
 
If you're not migrating between two databases, but between a database and another file system, then set the standard iscobol.jdbc.driver .
iscobol.ismigrate_output_jdbc_url
This property specifies the jdbc url for the output files when migrating between two databases using “easydb” as ismigrate_output_file_index.
 
If you're not migrating between two databases, but between a database and another file system, then set the standard iscobol.jdbc.url .
iscobol.ismigrate_remove_extension
This property removes the file extension. This is useful when migrating from filesytems like JISAM or C-Tree because they have a native .dat extension that should be ignored.
 
For example, in order to make ISMIGRATE ignore the .dat extension that is automatically added by JISAM and C-Tree, set iscobol.ismigrate_remove_extension=dat.
iscobol.ismigrate_strip_extension (boolean)
True = Remove the extension from the input file name and use the resulting name as output file name.
False = Use the input file name as output file name without changes.
 
The default value is False.
iscobol.ismigrate_verify_records (boolean)
True = Check if the records in the output file match with the records in the input file after the file has been migrated.
False = Don’t check if the records in the output file match with the records in the input file after the file has been migrated.
 
The default value is False.
SYSTEM
Property
Meaning
iscobol.system.exec
This property specifies the name of a command to be executed when the SYSTEM routine is called. The parameter of the SYSTEM routine will be passed to the command. For example, setting iscobol.system.exec=sh -c and executing CALL "SYSTEM" using "ls >out" will cause the following command to be executed: sh -c "ls >out".
 
If this property is set to the special value "c" (lower case), the system() C routine will be used by isCOBOL in place of the Java API each time the SYSTEM library routine is called.
In order to have the system() C routine available on Windows, the msvcrt library must be loaded in memory, therefore you should set also iscobol.shared_library_list=msvcrt.dll in the configuration.
 
Programs compiled with the -cp option require the parameter passed to SYSTEM to be null terminated.
 
Quotes may be used to isolate a command line parameter that includes spaces. When this property is set either to "c" or to the system command interpreter, quotes are stripped under Linux/Unix and preserved under Windows.
isCOBOL Code Coverage Configuration
The following property must be set when the runtime starts and are evaluated if the -coverage option is used.
Property
Meaning
iscobol.coverage.analysis.excludes
This property specifies a comma separated list of COBOL classes that must be excluded from the analysis. It can contain "*", for example a value of "PROG*" will exclude all classes whose name starts with "PROG" from the analysis.
iscobol.coverage.analysis.includes
This property specifies a comma separated list of COBOL classes that must be included in the analysis. It can contain "*", for example a value of "PROG*" will include all classes whose name starts with "PROG" from the analysis.
All the other classes will be excluded from the analysis.
iscobol.coverage.append
This property specifies if the coverage report must be merged with existing reports or not. It affects only XML reports, so it’s considered only if iscobol.coverage.xml is set.
Possible values are:
0 = if the XML file already exists, overwrite it
1 = if the XML file already exists, merge the contents of the existing XML with the content of the current XML.
 
This property can also be set to a comma-separated list of existing XML reports, e.g.
iscobol.coverage.append=C:\\Reports\\report1.xml,C:\\Reports\\report2.xml
In such case, the resulting XML will be obtained by merging all the XML files in the list with the new coverage report.
 
The default value is 0.
iscobol.coverage.classfiles
This property specifies the list of paths where the Coverage engine can find the class files used to build the report. Multiple paths must be separated by the line feed character or by the current operating system path separator.
 
By default the report is built using the classes loaded by the runtime.
iscobol.coverage.html
This property specifies the directory where the Coverage engine generates the HTML report. If the directory doesn’t exist, it’s automatically created.
 
The default value is "./htmlReport".
 
The default folder "./htmlReport" is created only if iscobol.coverage.xml is not set.
iscobol.coverage.sessionname
This property specifies the name of the session. This name appears on top of the index.html file of the HTML report.
 
The default value is the name of the main program as specified on the command-line.
iscobol.coverage.sourcefiles
This property specifies the list of paths where the Coverage engine can find the COBOL sources. Multiple paths must be separated by the line feed character or by the current operating system path separator.
 
The default value is "." (the current directory).
iscobol.coverage.xml
This property specifies the pathname of a file that will host the coverage report in XML format. If this property is not set, then the XML report is not generated.
 
If this property is set but iscobol.coverage.html is not set, then only the XML report is generated.
Unit Test Configuration
The following property must be set when the runtime starts and are evaluated if the -iut option is used.
Property
Meaning
iscobol.unit_test.html
This property specifies the directory where the Unit Test engine generates the HTML report. If the directory doesn’t exist, it’s automatically created.
 
The default value is "./htmlReport".
 
The default folder "./htmlReport" is created only if iscobol.unit_test.xml is not set.
 
If the Unit Test is performed along with Code Coverage, then this property is ignored and the report is generated in the folder specified by iscobol.coverage.html.
iscobol.unit_test.list_file
This property specifies the pathname of one or more text files that includes the list of programs to be included in the test.
Multiple pathnames must be separated by \n character sequence or by the current operating system path separator.
Within these files, each program must be indicated on a separate line.
The runtime takes care of normalizing the program name, stripping the extension, making it upper-case and replacing dashes with underscores, same as it happens on the runtime command line.
If this property points to an invalid file, like a file that doesn’t exist, then an empty report is generated.
iscobol.unit_test.xml
This property specifies the pathname of a file that will host the coverage report in XML format. If this property is not set, then the XML report is not generated.
 
If this property is set but iscobol.unit_test.html is not set, then only the XML report is generated.
Profiler Configuration
The following properties must be set when the runtime starts and are evaluated if the -profile option is used.
Property
Meaning
iscobol.profiler.excludes
This property specifies the list of programs that must not be analyzed by the profiler. Multiple values must be separated by comma.
 
By default, all programs are profiled.
iscobol.profiler.html
This property specifies the directory where the profiler generates the HTML report. If the directory doesn’t exist, it’s automatically created.
 
The default value is "./hprofHtmlReport".
 
The default folder "./hprofHtmlReport" is created only if iscobol.profiler.xml is not set.
iscobol.profiler.includes
This property specifies the list of programs that must be analyzed by the profiler. Multiple values must be separated by comma.
 
By default, all programs are profiled.
iscobol.profiler.xml
This property specifies the pathname of a file that will host the profiler report in XML format. If this property is not set, then the XML report is not generated.
 
If this property is set but iscobol.profiler.html is not set, then only the XML report is generated.
Internal Objects Configuration
JSONSTREAM
Property
Meaning
iscobol.jsonstream.allow_backslash_escaping_any_character (boolean)
True = When the JSONStream Class (com.iscobol.rts.JSONStream) reads a JSON stream, backslash is allowed before any character.
False = When the JSONStream Class (com.iscobol.rts.JSONStream) reads a JSON stream, backslash is allowed only in escapes: \b, \f, \n, \r, \t, \" and \\.
 
The default value is False.
iscobol.jsonstream.indent_number
This property specifies the number of columns for the indentation of items in JSON files generated by the JSONStream Class (com.iscobol.rts.JSONStream). When this property is set to a value of 0 or grater, each element is generated on a separate line, that means your stream will include CRLF.
 
The default value is -1, that disables indentation and allows you to obtain a single line stream without CRLF.
iscobol.jsonstream.omit_empty_elements (boolean)
True = empty elements are not generated by the JSONStream Class (com.iscobol.rts.JSONStream)
False = empty elements are generated by the JSONStream Class (com.iscobol.rts.JSONStream)
 
An element is considered empty when it’s alphanumeric and it’s 0 bytes in size. This condition can occur if the underlying data item is an initialized ANY LENGTH item or if the value has been trimmed by iscobol.jsonstream.rtrim (boolean).
 
The default value is True.
iscobol.jsonstream.rtrim (boolean)
True = remove trailing spaces from JSON items value
False = keep trailing spaces in JSON items value
 
The default value is False.
 
This property is evaluated before iscobol.jsonstream.omit_empty_elements (boolean).
XMLSTREAM
Property
Meaning
iscobol.xmlstream.indent_number
This property specifies the number of columns for the indentation of items in XML files generated by the XMLStream Class (com.iscobol.rts.XMLStream). When this property is set to a value of 0 or grater, each XML element is generated on a separate line, that means your XML stream will include CRLF.
 
The default value is -1, that disables indentation and allows you to obtain a single line XML stream without CRLF.
iscobol.xmlstream.omit_empty_elements (boolean)
True = empty elements are not generated by the XMLStream Class (com.iscobol.rts.XMLStream)
False = empty elements are generated by the XMLStream Class (com.iscobol.rts.XMLStream)
 
An element is considered empty when it’s alphanumeric and it’s 0 bytes in size. This condition can occur if the underlying data item is an initialized ANY LENGTH item or if the value has been trimmed by iscobol.xmlstream.rtrim (boolean).
 
The default value is True.
iscobol.xmlstream.resolve_references (boolean)
True = resolve href/id references in the read XML stream
False = don’t resolve href/id references in the read XML stream
 
The default value is False.
iscobol.xmlstream.rtrim (boolean)
True = remove trailing spaces from XML values
False = keep trailing spaces in XML values
 
The default value is False.
 
This property is evaluated before iscobol.xmlstream.omit_empty_elements (boolean).
Keyboard Configuration
(*) The asterisk after the property name means that the property is static, it’s inquired only once by the Framework and then changing it using the SET ENVIRONMENT statement has no effect.
Property
Meaning
iscobol.kbd_auto_return
When set to a non-zero value, this property specifies the termination value that is stored into crt status when ACCEPT terminates automatically due to a AUTO-TERMINATE clause.
 
The default value is 0.
 
(iscobol.keyboard.kbd_auto_return is still supported for backward compatibility)
iscobol.key.accepted_control_characters
Specifies which control characters should be accepted and displayed by Entry-Field, Combo-Box and Grid as well as character-based input fields.
A control character or non-printing character (NPC) is a code point in a character set, that does not represent a written symbol. Control characters are used as signaling to cause effects other than the addition of a symbol to the text.
 
Set this property to the list of control characters using hex notation.
For example, in order to allow 0x1D and 0x1E to be inserted in an Entry-Field, Combo-Box or Grid, set the property as follows in the configuration file:
 
iscobol.key.accepted_control_characters=\u001d\u001e
 
The property can also be set dynamically by COBOL programs with this syntax:
 
set environment "key.accepted_control_characters" to x"1d1e"
 
Note - The control characters are usually discarded because it is assumed that they are already used for different actions than displaying a character in an input field. For example, the character 0x08 (backspace) deletes a character in the text component. Adding 0x08 to the list of accepted control characters would cause the backspace to display an odd symbol in the field instead of deleting a character. Use this property carefully in order to avoid side effects.
iscobol.key.default_shortcuts_enabled (boolean) *
True = Copy/Cut/Paste/Undo/Redo (Ctrl+C/X/V/Z/Y) actions are enabled on all controls, so their exception codes can’t be caught by the program.
False = Copy/Cut/Paste/Undo/Redo (Ctrl+C/X/V/Z/Y) actions are disabled and their exception codes can be caught by the program.
 
When the property is set to False, the Copy/Cut/Paste/Undo/Redo (Ctrl+C/X/V/Z/Y) actions can be enabled using this code:
 
SET ENVIRONMENT "KEYSTROKE" TO "Exception=101 ^C".
SET ENVIRONMENT "KEYSTROKE" TO "Exception=102 ^X".
SET ENVIRONMENT "KEYSTROKE" TO "Exception=103 ^V".
SET ENVIRONMENT "KEYSTROKE" TO "Exception=104 ^Z".
SET EXCEPTION 101 TO copy-selection
SET EXCEPTION 102 TO cut-selection
SET EXCEPTION 103 TO paste-selection
SET EXCEPTION 104 TO UNDO
 
However, they affect only the Entry-Field and Combo-Box controls in this case.
 
The default value is True.
iscobol.key.KeyName
This property specifies the keyboard configuration. See below for further details.
iscobol.key.*f1.system (boolean)
True = The keystroke CTRL+F1 is not intercepted by the isCOBOL Framework and affects the COBOL window directly.
False = The keystroke CTRL+F1 is intercepted by the isCOBOL Framework and doesn’t affect the COBOL window, but it can be handled by the COBOL program.
 
The default value is True.
iscobol.key.@f4.system (boolean)
True = The keystroke ALT+F4 is not intercepted by the isCOBOL Framework and affects the COBOL window directly.
False = The keystroke ALT+F4 is intercepted by the isCOBOL Framework and doesn’t affect the COBOL window, but it can be handled by the COBOL program.
 
The default value is True.
iscobol.key.f4.system (boolean)
True = If the focus is either on a combo-box or on a paged list-box, then the F4 key produces a system action (e.g. drop the combo-box or trigger the list-box search respectively) and doesn’t generate an exception in the current ACCEPT.
False = The key F4 always generates an exception in the current ACCEPT.
 
The default value is True.
 
(iscobol.gui.f4_drops_combobox is still supported for backward compatibility)
iscobol.key.f10.system (boolean)
True = If the window where the current ACCEPT is performed includes a menu bar, pressing F10 activates the menu bar.
False = The key F10 always generates an exception in the current ACCEPT.
 
The default value is True.
iscobol.keystroke.firstlast_on_screen (boolean)*
True = edit=first and edit=last allow to move the cursor to the first or last field of the screen respectively.
False = edit=first and edit=last have no effect.
 
The default value is False.
iscobol.keystroke.updown_like_prevnext (boolean) *
True = edit=up has the same effect of edit=previous and edit=down has the same effect of edit=next in key settings.
False = key settings preserve their behavior.
 
The default value is False.
 
This property affects the ACCEPT of user input on both character based and GUI screens. When set to true, the No-Group-Tab style is assumed for every RADIO-BUTTON.
Function and special keys can be configured using the corresponding property.
Property
Key
iscobol.key.enter
Enter
iscobol.key.tab
Tab
iscobol.key.escape
Esc
iscobol.key.backspace
Backspace
iscobol.key.end
End
iscobol.key.home
Home
iscobol.key.insert
Ins
iscobol.key.delete
Del
iscobol.key.clear
Clear
iscobol.key.help
Help
iscobol.key.left
Left
iscobol.key.right
Right
iscobol.key.up
Up
iscobol.key.down
Down
iscobol.key.pageup
PageUp
iscobol.key.pagedown
PageDown
iscobol.key.f1
F1
iscobol.key.f2
F2
iscobol.key.f3
F3
iscobol.key.f4
F4
iscobol.key.f5
F5
iscobol.key.f6
F6
iscobol.key.f7
F7
iscobol.key.f8
F8
iscobol.key.f9
F9
iscobol.key.f10
F10
iscobol.key.f11
F11
iscobol.key.f12
F12
iscobol.key.f13
F13
iscobol.key.f14
F14
iscobol.key.f15
F15
iscobol.key.f16
F16
iscobol.key.f17
F17
iscobol.key.f18
F18
iscobol.key.f19
F19
iscobol.key.f20
F20
iscobol.key.divide
/ (NumPad)
iscobol.key.multiply
* (NumPad)
iscobol.key.subtract
- (NumPad)
iscobol.key.add
+ (NumPad)
iscobol.key.decimal
. (NumPad)
iscobol.key.numpad0
0 (NumPad)
iscobol.key.numpad1
1 (NumPad)
iscobol.key.numpad2
2 (NumPad)
iscobol.key.numpad3
3 (NumPad)
iscobol.key.numpad4
4 (NumPad)
iscobol.key.numpad5
5 (NumPad)
iscobol.key.numpad6
6 (NumPad)
iscobol.key.numpad7
7 (NumPad)
iscobol.key.numpad8
8 (NumPad)
iscobol.key.numpad9
9 (NumPad)
iscobol.key.mmov
mouse moved
iscobol.key.mldw
left mouse button pressed
iscobol.key.mlup
left mouse button released
iscobol.key.mldc
left mouse button double-clicked
iscobol.key.mmdw
middle mouse button pressed
iscobol.key.mmup
middle mouse button released
iscobol.key.mmdc
middle mouse button double-clicked
iscobol.key.mrdw
right mouse button pressed
iscobol.key.mrup
right mouse button released
iscobol.key.mrdc
right mouse button double-clicked
The characters "^", "*" and "@" represent the [Shift], [Ctrl] and [Alt] key, respectively. Put one or more of them after the key name to define key combinations.
For example, [F1] is iscobol.key.f1, [Shift+F1] is iscobol.key.^f1, [Ctrl+F1] is iscobol.key.*f1 and [Alt+F1] is iscobol.key.@f1. Any combination of "^", "*" and "@" is valid, [Shift+Ctrl+Alt+F1] is iscobol.key.^*@f1.
Letter and number keys can be configured using properties in the form iscobol.key.# (where # is a letter from 'a' to 'z' or a number from '0' to '9'), but unlike function and special keys, letter and number keys can be configured only in conjunction with Alt, Ctrl or Shift. For example:
setting iscobol.key.a has no effect
setting iscobol.key.*a allows you to configure the keystroke [Ctrl+A]
setting iscobol.key.@a allows you to configure the keystroke [Alt+A]
setting iscobol.key.^a allows you to configure the keystroke [Sift+A]
setting iscobol.key.^*@a allows you to configure the keystroke [Shift+Ctrl+Alt+A]
Pressing either the "Ctrl" key or the "Shift+Ctrl" key combination in conjunction with a key letter (A-Z) causes an exception whose number varies from 1 (if the letter is A) to 26 (if the letter is Z) by default. The behavior of these key combinations can be redefined using the properties iscobol.key.*a through iscobol.key.*z and iscobol.key.^*a through iscobol.key.^*z.
iscobol.key.KeyName can be set to one or more of the following values:
data=Value
Value represents the character sent to the program.
exception=Value
Value is a numeric value from 1 to 65536 representing the exception value generated for the program.
termination=Value
Value is a numeric value from 1 to 65536 representing the termination value generated for the program.
hotkey=Value
Value is the program to be called.
edit=Value
Value represents how the cursor is moved within controls belonging to the same Screen Section. Possible values are:
 
next = the cursor goes to the next control
previous = the cursor goes to the previous control
first = the cursor goes to the first control [A]
last = the cursor goes to the last control [A]
up = the cursor goes to the nearest control above the current one
down = the cursor goes to the nearest control below the current one
pageup = the cursor moves as if Page-Up was pressed
pagedown = the cursor moves as if Page-Down was pressed
backspace = the cursor moves back by one digit deleting the character
delete = the digit next to the cursor is deleted
insert = the insert mode is changed
clear = the field content is erased and the cursor is placed at the beginning of the field.
cl2end = the content from the current cursor position to the end of the field is erased
erase-all = all fields controlled by the ACCEPT statement are erased and the cursor is moved to the home position of the first field. This value should not be used in conjunction with exception or termination.
search=Context
Context represents where the keystroke will trigger a search. Possible values are:
 
grid = the Grid control
print-preview = the Print Preview dialog
tree-view = the Tree-View control
web-browser = the Web-Browser control
 
You can specify one or more contexts, separated by comma.
 
By default, the following setting is active: iscobol.key.*f=search=print-preview,web-browser,grid,tree-view , so the search is always triggered by Ctrl-F.
Let’s assume for example that you don't want the search with Ctrl-F on Grid and you want the search with Alt-F on the print preview; then you would set
iscobol.key.*f=search=web-browser,tree-view
iscobol.key.@f=search=print-preview
[A] Supported only if iscobol.keystroke.firstlast_on_screen (boolean)* is set to true.
Note - Function and special keys cannot be configured to send characters to the program, the data= setting has no effect for them.
Note - On graphical screens, if the active graphical control intercepts some keys for its own functionality, these keys are not returned to the COBOL program and therefore they don’t raise any exception. This is the reason why for example F5 and ESC are not intercepted by the COBOL program while the focus is on a web-browser.
Default Keyboard Configuration
Property
Value
iscobol.key.enter
termination=13
iscobol.key.tab
termination=9 edit=next
iscobol.key.^tab
edit=previous
iscobol.key.escape
exception=27
iscobol.key.end
edit=last
iscobol.key.home
edit=first
iscobol.key.help
exception=90
iscobol.key.left
edit=left
iscobol.key.right
edit=right
iscobol.key.up
exception=52 edit=previous[A]
iscobol.key.down
exception=53 edit=next[A]
iscobol.key.pageup
exception=67 edit=pageup
iscobol.key.pagedown
exception=68 edit=pagedown
iscobol.key.backspace
edit=backspace
iscobol.key.insert
edit=insert
iscobol.key.delete
edit=delete
iscobol.key.f1
exception=1
iscobol.key.f2
exception=2
iscobol.key.f3
exception=3
iscobol.key.f4
exception=4 or none, depending on iscobol.key.f4.system (boolean)
iscobol.key.f5
exception=5
iscobol.key.f6
exception=6
iscobol.key.f7
exception=7
iscobol.key.f8
exception=8
iscobol.key.f9
exception=9
iscobol.key.f10
exception=10 or none, depending on iscobol.key.f10.system (boolean)
iscobol.key.f11
exception=11
iscobol.key.f12
exception=12
iscobol.key.f13
exception=13
iscobol.key.f14
exception=14
iscobol.key.f15
exception=15
iscobol.key.f16
exception=16
iscobol.key.f17
exception=17
iscobol.key.f18
exception=18
iscobol.key.f19
exception=19
iscobol.key.f20
exception=20
iscobol.key.divide
data=/
iscobol.key.multiply
data=*
iscobol.key.subtract
data=-
iscobol.key.add
data=+
iscobol.key.decimal
data=, or data=. depending on the current locale
iscobol.key.numpad0
data=0
iscobol.key.numpad1
data=1
iscobol.key.numpad2
data=2
iscobol.key.numpad3
data=3
iscobol.key.numpad4
data=4
iscobol.key.numpad5
data=5
iscobol.key.numpad6
data=6
iscobol.key.numpad7
data=7
iscobol.key.numpad8
data=8
iscobol.key.numpad9
data=9
iscobol.key.mmov
exception=80
iscobol.key.mldw
exception=81
iscobol.key.mlup
exception=82
iscobol.key.mldc
exception=83
iscobol.key.mmdw
exception=84
iscobol.key.mmup
exception=85
iscobol.key.mmdc
exception=86
iscobol.key.mrdw
exception=87
iscobol.key.mrup
exception=88
iscobol.key.mrdc
exception=89
[A]With the default configuration key.up and key.down behaves as follows: if there are fields below the current cursor location, the cursor moves to the one on the closest lower line. If there is more than one field on that line, the cursor moves to the one closest to its current horizontal location. The cursor will try to stay in the same column. If there are no fields below the current line, then no action is taken unless an EXCEPTION or TERMINATION value has been assigned, in this case key.up and key.down act as termination keys.
 
Acucobol-GT key codes
The Acucobol-GT KEYSTROKE configuration property is supported for compatibility. You can set this property in the program using a Format 6 SET statement or using the C$KEYSTROKE routine. Setting the property in a configuration file has no effect.
The following key codes are supported:
Key Code
Description
ZB
Backspace
8
Backspace
9
Tab
13
Enter
27
Escape
127
Delete
^M
Enter
^H
Backspace
^I
Tab
^[
Escape
^A - ^Z
Ctrl+A - Ctrl+Z
A0 - A9
Ctrl+0 - Ctrl+9
k1 - k10
F1 - F10
kd
Down
kh
Home
kl
Left
kr
Right
ku
Up
kA
Insert
kB
Shift+Tab
kE
Ctrl+End
kL
Ctrl+Delete
kN
Pag Down
kP
Pag Up
K1 - K0
Shift+F1 - Shift+F10
KB
Ctrl+Pag Down
KC
Ctrl + Home
KE
End
KI
Insert
KT
Ctrl+Pag Up
KX
Delete
Kd
Ctrl+Down
Kl
Ctrl+Left
Kr
Ctrl+Right
Ku
Ctrl+Up
K?
Help
S1 - S0
Shift+Ctrl+F1 - Shift+Ctrl+F10
U1 - U2
F11 - F12
U3 - U4
Shift+F11 - Shift+F12
U5 - U6
Ctrl+F11 - Ctrl+F12
U7 - U8
Alt+F11 - Alt+F12
U9 - U0
Shift+Ctrl+F11 - Shift+Ctrl+F12
a1 - a0
Alt+F1 - Alt+F10
Mv
mouse moved
Ml
left mouse button down
ML
left mouse button up
M1
left mouse button double clicked
Mm
middle mouse button down
MM
middle mouse button up
M2
middle mouse button double clicked
Mr
right mouse button down
MR
right mouse button up
M3
right mouse button double clicked
For example, in isCOBOL you can assign an exception value of 100 the the Backspace key in two ways:
Standard isCOBOL way
set environment "key.backspace" to "exception=100"
Acucobol compatible way
set environment "keystroke" to "exception=100 ZB"
Acucobol-GT key codes for W$KEYBUF routine
The following key codes can be used with the W$KEYBUF routine:
Key Code
Key
ZB
Backspace
^A - ^H
Ctrl+A - H
^I
Tab
^J - ^L
Ctrl+J - L
^M
Enter
^N - ^Z
Ctrl+N - Z
^[
Escape
^\
Ctrl+Backslash
^]
Ctrl+Closed bracket
^^
Ctrl+Circumflex
^_
Ctrl+Underscore
127
Ctrl+Backspace
k1 - k0
F1 - F10
K1 - K0
F11 - F20
kd
Down arrow
kh
Home
kl
Left arrow
kr
Right arrow
ku
Up arrow
kA
Ctrl+Insert
kB
Shift+Tab
kE
Ctrl+End
kL
Ctrl+Delete
kN
Page down
kP
Page up
Kc
Cancel
Kd
Ctrl+Down arrow
Kl
Ctrl+Left arrow
Kr
Ctrl+Left arrow
Ku
Ctrl+Up arrow
Kx
Alt+E
KA
Alt+A
KB
Ctrl+Page down
KC
Ctrl+Home
KD
Alt+D
KE
End
KF
Alt+F
KI
Insert
KL
Alt+L
KM
Alt+M
KP
Alt+P
KR
Alt+R
KS
Alt+S
KT
Ctrl+Pageup
KV
Alt+V
KX
Delete
K?
Alt+H
A1 - A0
Alt+Numpad 1 - Numpad 0
U1
F11
U2
F12
U3
Shift+F11
U4
Shift+F12
U5
Ctrl+F11
U6
Ctrl+F12
U7
Alt+F11
U8
Alt+F12
U9
Ctrl+Shift+F11
U0
Ctrl+Shift+F12
C1 - C0
Ctrl+F1 - F10
A-
Alt+Minus
A=
Alt+Equals
AB
Alt+B
AC
Alt+C
AG
Alt+G
AJ
Alt+K
AN
Alt+N
AO
Alt+O
AQ
Alt+Q
AT
Alt+T
AU
Alt+U
AW
Alt+W
AY
Alt+Y
AZ
Alt+Z
a1 - a0
Alt+F1 - F10
S1- S0
Ctrl+Shift+F1 - F10
RM/COBOL key codes for C$MBAR, C$RBMENU and C$TBAR routines
The following key codes can be used with the W$KEYBUF routine:
Key Code
Key
\a
Alt
\b
Backspace
\\
Bacslash character
\c
Control
\d
Delete
\e
Escape
\f0
F10
\f1
F1
\f2
F2
\f3
F3
\f4
F4
\f5
F5
\f6
F6
\f7
F7
\f8
F8
\f9
F9
\fa
F10
\fb
F11
\fc
F12
\g
AltGr
\i
Insert
\n
New line
\p
Pause
\qa
ATTN
\qc
Caps Lock
\qp
PA1
\s
Shift
\t
Tab
\wa
Applications
\wc
CRSEL
\we
EREOF
\wl
Left Windows Logo
\wp
PLAY
\wr
Right Windows Logo
\wx
EXSEL
\x
Exit program
\zb
Begin
\zc
Clear
\zd
Down Arrow
\ze
End
\zh
Home
\zl
Left Arrow
\zm
ZOOM
\zn
Page Down
\zp
Page Up
\zr
Right Arrow
\zs
Scroll Lock
\zu
Up Arrow
\z9
Num Lock