This release provides enhancements in the following areas:
Integration with the Eclipse IDE
Back to list
This release ships with Eclipse version 4.4.2.
Support for Eclipse versions 3.7 and 3.8 has been deprecated. This affects any applications that were created using an earlier
version of
Visual COBOL that have a JVM COBOL part. Such applications must be rebuilt using
Visual COBOL 2.3 to avoid receiving errors during compilation or execution.
In addition, when
Visual COBOL is installed, you can optionally install the
Visual COBOL plugin in other instances of Eclipse installed on your machine (supported versions of Eclipse are 4.2, 4.3 and 4.4 for the
32-bit IDE).
See
Related Information at the end of this topic.
General IDE enhancements - Eclipse
Back to list
- The
Variables view now shows the file status of an internal file name.
- The
Find All References and
Go To Definition commands are now supported for JVM COBOL applications.
- Support is provided for the SOCKS5 proxy server for debugger communication over SSL.
For more information see
Related Information at the end of this topic.
See
Related Information at the end of this topic.
Building JVM COBOL projects incrementally
Back to list
To minimize the number of modules to compile when building JVM COBOL projects,
Visual COBOL now enables you to configure your projects so that they are built incrementally - the IDE only rebuilds the files that have
changed.
To enable incremental builds for JVM COBOL applications that contain namespaces, check the
Use incremental build (Technical preview feature) option on the project build configuration tab in the project's properties.
For JVM COBOL applications that do not contain namespaces, you can use the
Use dynamic calls option available on the build configuration tab in the project's properties. When the project is built with this setting,
calls to modules are resolved at run time rather than during compilation. This has the effect of not requiring every module
to be compiled when rebuilding the application.
For more information see
Related Information at the end of this topic.
COBOL editor
Back to list
Content Assist support for COBOL includes various enhancements and is now also available in JVM COBOL:
- Context sensitive proposal - Content Assist only shows proposal that are relevant for the position of the cursor in the code
or for the type of project
- Enhanced proposal lists - lists include any relevant COBOL verbs, clauses and words, copybooks, code templates, data items
and section and paragraph names
- Intelligent assistance with completing statements - when you have entered a COBOL verb, Content Assist shows proposals for
the relevant clauses and identifiers that you can use to complete the statement.
- Automatic completion for items - Content Assist automatically inserts single suggestions in the code.
- Qualifying non-unique names - Content Assist qualifies data items whose names are not unique.
- Configuration preferences for Content Assist - enable you to configure what suggestions appear in the completion lists, whether
suggestions are added in insert or overwrite mode, and the case of the inserted words.
- Code templates - code templates are now included in the Content Assist proposals.
For more information see
Related Information at the end of this topic.
Code analysis
Back to list
Visual COBOL now offers more advanced code analysis features and enables you to run various analysis queries (rules and groups of rules
called rule sets) against your code to ensure adherence to standards such as standards for coding or performance.
You can run analysis rules against programs in a project in the IDE at user request or you can run analysis rules at the end
of a project's build.
For more information see
Related Information at the end of this topic.
Code coverage
Back to list
Visual COBOL now provides support for code coverage of native COBOL applications directly from within the IDE where code coverage uses
the Test Coverage functionality. You can produce code coverage reports for applications running in the COBOL run-time and
for applications that run in
Enterprise Server.
To produce reports, you need to enable code coverage in a project's, a build configuration's, or a file's properties, compile your application and then run your application with code coverage to produce the relevant reports. For
applications that require an
Enterprise Server instance, you start the enterprise server with code coverage.
For more information see
Related Information at the end of this topic.
Compiler directives
Back to list
The following Compiler directives are new in this release:
- EOF-1A
- Treats a 0x1a character in the source file as the end of file.
- JVMDECIMAL
- Determines the type in which certain items are exposed. This directive affects COBOL data items of type 'decimal' and non-integral
numeric items exposed as a result of either ILSMARTLINKAGE usage or the PROPERTY keyword.
- NLS-CURRENCY-LENGTH
- Specifies the number of bytes to allocate for the currency symbol in a PIC field.
- NULL-ESCAPE
- Treats a 0x00 character in the source file as an escape character for other non-printable characters in the source code.
The following Compiler directives contain new parameters in this release:
- DBSPACE
- The new parameter "MIXED" extends the DBSPACE directive to be able to evaluate data items in programs that contain a mix of
single-byte and double-byte strings.
For more information see
Related Information at the end of this topic.
Data File Structure command line utility
Back to list
The Data File Structure Command Line (DFSTRCL) utility is a DOS-based command line utility that enables you to create record
layout (.str) files from COBOL debug information (.idy) files. You can use the utility to process a single
.idy file or batch process up to 100
.idy files.
For more information see
Related Information at the end of this topic.
Data File Tools (Technology Preview)
Back to list
Note: This is a technology preview feature only. It is being made available to allow you to test and provide feedback on this new
capability; however, this feature is not intended for production use and it is not supported as such. Furthermore, Micro Focus
does not guarantee that this feature will be delivered at a GA level and if it is, then the functionality provided might differ
considerably from this technology preview.
The Data File Tools (Technology Preview) is a new standalone text editor in which you can create and edit data files. By nature
of it being a 'technology preview' product, it does not currently include all the functionality that was available in the
previous version of Data File Tools - now referred to as Classic Data File Tools. If you require any of the functionality
not provided in this version, you can still use the classic version by accessing it in the usual way.
To run Data File Tools (Technology Preview), type
mfdatatools2 from
Visual COBOL's command prompt
or a terminal.
To use the new editor directly from the Eclipse IDE, use the
Open with option on the shortcut menu when selecting a data file or structure file, and select
Data File Tools. Eclipse remembers the last tool used for a particular file type, and so will use Data File Tools (Technology Preview) until
you select a different editor.
For more information see
Related Information at the end of this topic.
Database access
Back to list
This release provides the following enhancements to database access:
- COBSQL
- This release provides:
- Selection and configuration of the Oracle Pro*COBOL preprocessor for compiling COBSQL applications in project properties on
the
SQL Preprocessor tab and in the build configuration settings.
- Support for COBOL directives SOURCEFORMAT=TERMINAL and SOURCEFORMAT=VARIABLE for Pro*COBOL applications.
- HCO for DB2 LUW
- This release provides:
- Support for MFHCO mode across all platforms by default via the new HCO (NOHCO) DB2 compiler directive option. See the
HCO DB2 compiler directive option topic for details.
- A new DB2 compiler directive option, OPTPER (NOOPTPER), that enhances performance for CHARSET EBCDIC processing. See the
OPTPER DB2 compiler directive option topic for details.
- A new DB2 directive option, BINDDIR, which specifies an alternative directory in which to write the DBRM file created during
compilation.
You can set BINDDIR from the command line or specify it in your project properties.
See the
BINDDIR DB2 compiler directive option topic, and the
Binding topic for details.
- OpenESQL
-
- Date/Time Processing
- This release provides streamlined datetime processing for ODBC and JDBC.
- Performance
- This release includes a new SQL compiler directive option, OPTPER (NOOPTPER), that enhances performance for CHARSET EBCDIC
processing. See the
OPTPER SQL compiler directive option topic for details.
- PostgreSQL
- In this release, PostgreSQL 9.4 has been tested with OpenESQL using the following PostgreSQL software:
- Server software
- PostgreSQL EnterpriseDB version 9.4.4
- Client software
-
- psqlODBC driver version 09.03.04.00
- JDBC41 PostgreSQL driver version 9.4-1201
PostgreSQL 9.4 has been tested with OpenESQL on the following UNIX platforms:
- X86-64 running Red Hat Linux, 32- and 64-bit
- X86-64 running SuSE Linux, 32- and 64-bit
Note: Micro Focus provides compatibility for PostgreSQL but does not directly contribute to or support the PostgreSQL open source project.
Any issues relating to PostgreSQL functionality should be addressed through an open source support vendor.
- SQL Server
- This release provides support for the SQL Server OUTPUT clause.
- XA Switch Modules
- In this release, the XA interface has been redesigned to provide:
- Consistent look and feel for SQL Server, DB2, and Oracle user personalization
- Consistent look and feel for both RM dynamic and static registration (SQL Server, DB2, Oracle, generic one-phase commit for
ODBC)
- Additional support for two instances of the same switch module using
Web Services applications via the new XAID compiler directive
For more information see
Related Information at the end of this topic.
File handling
Back to list
This release contains the following new configuration options:
- ACUFH
- Enables or disables the use of the ACU file handler (ACUFH), which is required to handle Vision and RM/COBOL indexed files.
- ESACUFH
- Enables or disables the use of the ACU file handler (ACUFH) for file handling operations running under Enterprise Server.
ACUFH must also be enabled for this option to take effect.
For more information see
Related Information at the end of this topic.
File locking
Back to list
In versions prior to
Visual COBOL 2.3, the semantics of the sharing phrase specified in an OPEN statement or used within a call to CBL_OPEN_FILE were not correctly
applied in some cases on UNIX and Linux platforms. From version 2.3 onwards, the sharing phrase is correctly honored when
the tunable
strict_file_locking=true is set, which is the default setting.
Example of potential changes in behavior:
- Process-A opens a file with read-only access and a sharing mode that denies other processes write access (SHARING WITH READ ONLY).
- Process-B then attempts to open the file with read-only access and a sharing mode that denies other processes read access (SHARING
WITH NO OTHER).
With
strict_file_locking=true,
Process-B is unable to open the file, because
Process-A has successfully opened the file allowing only read access.
With
strict_file_locking=false,
Process-B successfully opens the file.
If your application encounters unexpected OPEN conditions or fails to open files, it might be as a result of the new file
locking behavior. In such circumstances, we recommend that you review the file locking and sharing requirements of your application
and refactor your source code to work with the default setting. The original file locking and sharing behavior can be restored
by setting
strict_file_locking=false.
For more information see
Related Information at the end of this topic.
JCL parsing editor
Back to list
A new parsing JCL editor provides assistance with writing JCL code to users who are not experienced mainframe programmers.
This is especially useful when using the
Enterprise Developer Connect to edit source files on a remote mainframe machine. Features include:
- Block selection - use the button from the toolbar to toggle the mode.
- Content assist for JCL constructs.
- Configurable background syntax parsing
- Configuration settings for the editor - you can hide or show the horizontal ruler, turn on or off visible lines for the margins,
and configure the syntax coloring and the smart edit mode.
- Folding support - enables you to collapse and expand blocks of code.
- Horizontal ruler
- Locate definitions
- Margins
- Outline view - shows a structure of the procedure and structure declarations within a program. Clicking on an item in the
Outline view positions the cursor on that item in the code and vice versa.
- Renumber and Unnumber - support for renumbering and unnumbering lines of code.
- Submit JCL command directly from the editor.
- Smart edit mode - defines the word wrapping behavior when breaking lines or around margins, moving the cursor using the Home
and End keys.
- Syntax colorization
- Syntax error reporting - uses red squiggles to denote errors in the code.
- Task creation - inserting a TODO or a FIXME in a comment in the code automatically creates a task that appears in the Task
view.
- Templates for the most common JCL constructs.
Note: The following limitations apply:
- There is no support for VSE dialect statements in the editor. JES2 and JES3 are supported.
- PROCS is not supported in the editor so that it is not possible to read in libraries of JCL routines from a PDS.
For more information see
Related Information at the end of this topic.
Library routines
Back to list
The following library routines are new in this release:
- CBL_MANAGED_SESSION_GET_USERDATA
- Retrieves user data saved in the current RunUnit.
- CBL_MANAGED_SESSION_SET_USERDATA
- Sets user data in the current RunUnit.
The following library routines contain new parameters in this release:
- CBL_LOCATE_FILE
- You can now specify a file name that is a null-terminating string, which has resulted in three new values available for the
user-mode parameter.
For more information see
Related Information at the end of this topic.
Managed COBOL syntax
Back to list
The following enhancements have been made to the managed COBOL syntax:
- The
TYPE OF type-name[ANY...] syntax enables you to obtain the
System.Type (.NET) or
java.lang.Class (JVM) object for a generic class, interface, or delegate.
- The
self:: or
super:: syntax is no longer required to access inherited data within a subclass.
- The
ATTRIBUTE-ID syntax enables you to define new attribute types, which can be used in various contexts.
For more information see
Related Information at the end of this topic.
Micro Focus Unit Testing Framework
Back to list
Note: This is a technology preview feature only. It is being made available to allow you to test and provide feedback on this new
capability, but it is not intended for production use and is not supported as such. Furthermore, Micro Focus does not guarantee
that this feature will be delivered at a GA level and if it is, then the functionality provided might differ considerably
from this technology preview. During the preview, you are encouraged to share your feedback and experiences via the Micro
Focus community forum -
https://community.microfocus.com/t5/Enterprise-Developer-User/bd-p/forumid-9).
The Micro Focus Unit Testing Framework is an xUnit style testing framework, available from the command line, for procedural
COBOL applications.
It includes much of the architecture you would expect in an xUnit framework. The test runner is a 32- or 64-bit executable
that you run from a
Visual COBOL
shell
prompt. A test fixture or suite is a COBOL program compiled to
.so that can include the setup, the test case code, and the teardown associated with the test case.
Test results are available in a number of formats. By default, results are displayed to screen and to a
.txt file, but you can use additional parameters on the command line to produce reports in JUnit format.
For more information see
Related Information at the end of this topic.
Preprocessors
Back to list
Support has been added in the IDE for enabling and using multiple preprocessors with your projects.
A new page,
Additional Preprocessors, has been added to the project's and the files' properties of native COBOL applications to enable you to choose one or more
preprocessors to use when building your application and to specify their order of execution.
New reporting capability is now available for user preprocessors: resp-main code 18 indicates that a buffer contains a data
name to be marked as modified by the immediately preceding preprocessed line. The data name may be qualified and resp-more
contains the column information for the reference.
For more information see
Related Information at the end of this topic.
Profiler
Back to list
Visual COBOL now provides support for Profiler for native COBOL applications directly from within the IDE. To produce reports, you need
to:
- Enable Profiler in the COBOL property page for a project, a build configuration, or a file.
- Compile your application to apply the changes.
- Create a run configuration that has Profiler enabled.
- Run your application with Profiler to produce the relevant reports.
For more information see
Related Information at the end of this topic.
Remote connections
Back to list
This release provides the following enhancements:
- An improved diagnostic tooling to help determine connection problems - enhancements are available for both the client and
the server installations.
- It is now possible to specify the Remote System Explorer (RSE) type of connections to create remote mainframe COBOL and PL/I
projects. This is to cater for scenarios when it is not possible to use SAMBA or NFS connections within your environment.
Note: The following features and utilities are not supported when remote projects use the RSE connection type:
- The file layout editor and the file editor in the Classic Data File Tools and Data File Tools (Technology Preview) utilities.
- Changing the type of a remote connection - it is now possible to change the type of the remote connection from RSE to NFS
and vice versa using the
Remote Settings for remote projects.
For more information see
Related Information at the end of this topic.
Remote PL/I applications
Back to list
Support is provided in Eclipse for editing, compiling and debugging of 32-bit and 64-bit PL/I applications running on remote
UNIX and Linux machines.
All PL/I editor features available for local projects are present in the editor for remote PL/I applications. Improvements
have been made to the syntax recognition of the PL/I editor parser.
For more information see
Related Information at the end of this topic.
REST service interfaces
Back to list
RESTful service interfaces utilizing JSON as the media type in request and response messages are now supported using the Interface
Mapping Toolkit. This enables you to extend COBOL applications using modern transport payloads and protocols.
For more information see
Related Information at the end of this topic.
RPM UNIX installer
Back to list
In addition to its proprietary installer for installing
Visual COBOL on UNIX and Linux,
Micro Focus provides a standard RPM installer for installing
Visual COBOL on Linux. RPM Package Manager (RPM) is a technology available on all Linux operating systems for managing the installation
of products.
The RPM installer for
Visual COBOL supports all the RPM functionality.
For instructions on how to install using the RPM installer, refer to the
Installation section in your product help.
For more information see
Related Information at the end of this topic.
Single file support
Back to list
The recommended way to work with files within
Visual COBOL is to include them in a project. For situations where you might want to quickly open edit a single file,
Visual COBOL now provides support for native COBOL files in the IDE when the file is not opened as part of a project. There is limited
support for the IDE editing, compiling and debugging features as full support requires a project file.
For more information see
Related Information at the end of this topic.
Tunables
Back to list
This release of
Visual COBOL contains the following new tunables:
- putenv_interface
- Provides backward compatibility for UNIX systems in which the operating system's putenv() function is required when setting
environment variables.
- strict_file_locking
- Enables a new, more reliable method of file locking for UNIX systems. See
File Locking for more information.
This release of
Visual COBOL contains the following updates to tunables:
- default_cancel_mode
- A new parameter, and default, has been introduced for this tunable; see
default_cancel_mode for more information.
- subsystem_cancel_mode
- A new parameter has been introduced for this tunable; see
subsystem_cancel_mode for more information.
For more information see
Related Information at the end of this topic.
Updated run-time system
Back to list
COBOL Server has been updated to provide 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 previous version of
Visual COBOL, 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.
For more information see
Related Information at the end of this topic.
z/Server installation and configuration
Back to list
- XML configuration files - a single XML configuration file replaces the five separate configuration files that were used in
previous releases. This helps reduce the complexity of the z/Server installation and configuration. An XML schema is supplied
and enforced. The input parameter values for type and range are checked at execution time and can also be externally verified
using standard or custom tooling before they are applied.
- z/Server Configuration Utility (Technical Preview only) - this release provides a technical preview of a new web-based z/Server
Configuration Utility.
Note: This is a technology preview feature only. It is being made available to allow you to test and provide feedback on this new
capability; however, this feature is not intended for production use and it is not supported as such. Furthermore, Micro Focus
does not guarantee that this feature will be delivered at a GA level and if it is, then the functionality provided might differ
considerably from this technology preview.
- The
Application Workflow Manager now requires that you have both z/Server and Mainframe Access Server (MFA) installed.