Backward Compatibility with
Studio Enterprise Edition
- File Control Description (FCD)
- The FCD format for file handling operations in 32-bit applications defaults to FCD3 in
Visual COBOL; in
Studio Enterprise Edition, it defaulted to FCD2.
Backward Compatibility with
Net Express and
Net Express with .NET 5.1
- Treatment of DBCS literals
- In Net Express, under the NCHAR directive, if an alphanumeric literal contained only DBCS characters, then the literal was
treated as class NCHAR. In
Visual COBOL, this is not true, and you are required to prefix literals in the procedure division with N to achieve equivalent behavior
(for example:
IF N"dbcs-chars" =
data-item-1.), which is significant when performing comparisons, where NCHAR literals get padded with double byte spaces. In
Visual COBOL, all literals that are surrounded by quotes without any character specified (B", N", etc...) are always treated as alphanumeric.
-
Note: In the following scenario, the literal is still treated as a NCHAR literal:
01 data-item pic N value "dbcs-charaters".
- Default working mode
- In
versions of
Visual COBOL R4 and earlier, the default working mode set by the COBMODE environment variable was 32-bit. With the current release of
Visual COBOL and
Enterprise Developer, it is 64-bit.
- Format of the index files
- In
Net Express, the default setting of the IDXFORMAT option was 4. With the current release of
Visual COBOL, it is 8.
- FILEMAXSIZE File Handler configuration option
-
In
Net Express, the default setting for FILEMAXSIZE was 4. With the current release of
Visual COBOL, it is 8.
Applications developed using
Net Express 5.1 or
Net Express with .NET 5.1 might require some changes when you move it to
Visual COBOL. In particular,
Visual COBOL does not include support for the following functionality that was available in Net Express 5.1:
- Debugging tools:
- Animator
- Data Tools (Data File Converter, Data File Editor, Fix File Index, and IMS Database Editor)
Note: You can separately install the
Micro Focus Data File Tools Add Pack which includes the Data File Converter, Data File Editor, and Record Layout Editor. Download the
Add Pack from the
Micro Focus
SupportLine site.
- FSView
- Remote development
- Diagnostic tools:
- FaultFinder
The FaultFinder tool has been removed from the current version of
Visual COBOL. This includes the removal of the following tunables:
- faultfind_level
- faultfind_outfile
- faultfind_recsize
- faultfind_config
- faultfind_cache_enable
You should either remove these tunables from your application or set the tunable
cobconfig_error_report=false in your configuration file.
- Runtime/Deployment support:
- Single-threaded run-time system
- Static-linked run-time system
- Programming features:
- Btrieve
- ISAPI
- Mainframe subsystems (CICS, JCL, and IMS)
- NSAPI
Backward Compatibility with Earlier Versions of
Visual COBOL
- Updated run-time system
-
COBOL Server now provides an execution environment capable of running applications that were each built using different development products.
A consequence of this is that If your application has a main COBOL executable (.exe) that was built with a version of
Visual COBOL prior to version 2.3, you should ensure that the executable is rebuilt and packaged with the new run-time system.
You can rebuild from the IDE or the command line.
Other COBOL subprograms built with previous versions of
Visual COBOL are not required to be rebuilt.
- Calling program search order
- In previous versions of
Visual COBOL (and earlier
Micro Focus products) you could use a run-time tunable to define a specific order in which the run-time system searches for called sub-programs.
Due to changes in the run-time system, there is only one viable specific search order, and therefore the program_search_order
tunable is no longer available; remove the tunable from any configuration you have set. The default (and only) order used
is:
- If the sub-program is already loaded, or is statically linked, it is located and the search ends.
- If COBPATH is set, the list of paths in the variable are searched, in order; if COBPATH is not set, the current directory
is searched.
- On Windows platforms, if you are calling shared objects (.so), without a specific path, the LD_LIBRARY_PATH or LIBPATH environment variable is searched.
- The path of the calling program is searched.
If the sub-program cannot be located using one of the above methods, a run-time error is produced.
- Using parentheses in member reference
- In managed COBOL syntax, you may only use parentheses when referencing methods. You can no longer specify parentheses when
referencing fields or properties, as this will produce a syntax error.
-
For example:
set intLength to testString::Length()
must change to:
set intLength to testString::Length
- Calling RM/COBOL compatible library routines
- Previously, to call an RM/COBOL compatible library routine, you had to set the DIALECT"RM" Compiler directive, which ensured
the correct
call-convention was used. To set this functionality now, you must explicitly use the correct
call-convention in the CALL statement.
- ILUSING
- If you set this Compiler directive using the
$set command, the imported namespace is only applicable to programs, classes and referenced copybooks in that file. If you set
the directive through the IDE or from the command line, the imported namespace is applicable to all programs and classes in
the project or specified on the command line.
- FLAGCD
- This Compiler directive is no longer available in
Visual COBOL. Remove it from your code, otherwise you receive a
COBCH0053 Directive invalid or not allowed here error.
- CALLFH
- If your code specifies the
ACUFH parameter, it may now produce adverse effects when used. You should replace it with the methods described in
Configuring Access to Vision Data Files or
Configuring Access to RM/COBOL Data Files. Both of these methods offer a fuller-functioning solution to handling these types of data files.
- Compatible ACUCOBOL-GT file handling environment variables
- The following environment variables, introduced for ACUCOBOL-GT compatibility, have been replaced with other environment variables
or configuration options that you add to your File Handler configuration file. No other ACUCOBOL-GT file handling environment
variables are supported.
Redundant variable
|
Replaced with
|
FILE_CASE
|
FILECASE configuration option
|
FILE_PREFIX
|
COBDATA environment variable
|
FILE_SUFFIX
|
FILESUFFIX configuration option
|
APPLY_FILE_PATH
|
n/a
|
FILE_ALIAS_PREFIX
|
dd_ mapping
|
Setting these environment variables will have no effect.
Coexisting with Earlier
Micro Focus Products
- Run-time system error due to COBCONFIG
- A run-time system error occurs if either the COBCONFIG or COBCONFIG_ environment variable is set when you run
Visual COBOL applications or when you use
Visual COBOL to edit or create projects and the configuration file it refers to contains entries that are not valid for
Visual COBOL.
For example, this might happen if you have
Net Express or
Studio Enterprise Edition installed and either COBCONFIG or COBCONFIG_ is set for it.
-
To work around this issue, ensure that
Visual COBOL is not running and then modify the configuration file by doing one of the following:
- Licensing error due to environment settings
- The message "Micro Focus License Manager service is not running" can occur when you invoke a
Net Express or
Studio Enterprise Edition utility from
Visual COBOL. This happens when the tool is invoked with
Visual COBOL environment settings while it requires the
Net Express or
Studio Enterprise Edition ones.
This happens when you edit files such as .dat that have a file association with
Net Express or
Studio Enterprise Edition.
This can also happen when invoking a utility within the
Net Express or
Studio Enterprise Edition products as an external tool from
Visual COBOL.
-
You can workaround this problem in
Visual COBOL as follows:
- Create a batch file that unsets COBREG_PARSED before the tool is invoked. The batch file contains:
Set COBREG_PARSED=
Call [PathToUtility] %1
Where
PathToUtility is the path to the
Net Express or
Studio Enterprise Edition utility.
- In the Visual Studio IDE, add the batch file instead of the utility itself as an external tool.
This ensures that the proper environment is established when running that tool.
Directives Scan
The default options for directives scan (click
Tools > Options > Micro Focus > Directives > COBOL in the IDE) have been changed since the previous release of
Visual COBOL.