Features Added in Visual COBOL 2.3

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:

  1. Enable Profiler in the COBOL property page for a project, a build configuration, or a file.
  2. Compile your application to apply the changes.
  3. Create a run configuration that has Profiler enabled.
  4. 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 also provides a standard RPM installer on most Linux platforms. 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.