Features Added in Visual COBOL 2.3

This release provides enhancements in the following areas:

Integration with Visual Studio 2015

Back to list

This release provides a new Visual COBOL flavor that takes advantage of the new features of Visual Studio 2015, including:

Light Bulbs
You can use the light bulb feature (light bulb) to quickly implement unimplemented interfaces or to resolve unknown types.
Compatibility (Project Round-Tripping)
Visual COBOL supports the Visual Studio project round-tripping feature which enables you to work with COBOL projects in Visual Studio 2012, Visual Studio 2013 or in Visual Studio 2015 without the need to upgrade the project file.
.NET Framework 4.6 Compatibility
Provides support for creating managed COBOL applications that target version 4.6 of the .NET Framework.
Microsoft Help Viewer 2.2
Provides support for the Micro Focus Help in Microsoft Help Viewer 2.2.

For more information see Related Information at the end of this topic.

General IDE enhancements - Visual Studio

Back to list

  • Menu items - the following Micro Focus utilities were previously available under the Tools > Micro Focus menu and have been moved as follows:
    • ADO.NET Connection Editor - now accessed from View > Micro Focus SQL Tools.
    • OpenESQL Assistant - now accessed from View > Micro Focus SQL Tools.
    • OpenESQL Configuration Utility - now accessed from View > Micro Focus SQL Tools.
  • Managed COBOL project properties - a new setting, Expose group linkage items to managed code, is now available on the COBOL tab in the properties of managed COBOL projects. Checking this sets the ILSMARTLINKAGE directive that specifies that group linkage items in your code are to be exposed as properties of a class. A related button, Options, enables you to also specify whether to remove specific prefixes from the names of COBOL data items, whether to make the new classes serializable, expose Linkage Section items as nested classes of the program class or to limit the property generation to non-redefining elementary items.
  • Resetting the file properties - a new button, Use Project Defaults, on the file property pages of COBOL files in native projects now enables you to reset the file properties of COBOL files in native COBOL projects.

For more information see Related Information at the end of this topic.

Building applications

Back to list

Visual COBOL now supports Visual Studio's parallel builds for COBOL projects. Parallel building enables you to build multiple projects faster on multi-CPU machines. Following this change, in order for your multi-project solutions to build in parallel successfully, ensure that the project dependencies and build order are set correctly for your solution using Project > Project Dependencies. For more information about parallel building, see Tips on Building COBOL in your product help and your product Release Notes.

Note: Parallel builds are not supported with Personal Edition licensing.

See Related Information at the end of this topic.

COBOL editor

Back to list

The COBOL editor includes the following enhancements and new features:

  • Improved Intellisense writing assistance for COBOL in both native and managed COBOL:
    • Context sensitive suggestions - IntelliSense only shows suggestions that are relevant for the position of the cursor in the code or for the type of project.
    • Enhanced completion 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, IntelliSense shows suggestions for the relevant clauses and identifiers that you can use to complete the statement.
    • Automatic completion for single items - IntelliSense automatically inserts single suggestions in the code.
    • Qualifying non-unique names - IntelliSense qualifies data items whose names are not unique.
    • Configuration preferences for IntelliSense - 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.
    • Snippets - code snippets are now included in the IntelliSense suggestions.
  • $IF-$ELSE-$END statement colorization - parts of a $IF Compiler-control statement that are not executed are now colored in grey.
  • $REGION statement - support is provided for the $REGION Compiler-control statement. You can use $REGION - $END-REGION to surround blocks of code that you want to folded or expand in the editor.
  • Copybook glyphs (copybook glyph) in the left-hand margin on a copy line - indicate that a copybook can be expanded inline.
  • Creating copybooks from a selection of code - a new context menu command, Extract to Copybook in the editor enables you to move a selection of COBOL code into a new copybook file. The file is added to the project and the code in the original program is replaced with a COPY statement that refers to the new copybook.
  • Expanded copybook view - provides indicators for read-only copybooks
  • Outlining - outlining is now available on comment blocks, paragraphs and on $REGION and $IF statements.
  • Task List comments - the COBOL editor now provides support for Visual Studio-style Task List comments in COBOL. Typing TODO, HACK or UNDONE in the code immediately after the declaration of the COBOL comment (*>, *>> or * in column 7) creates a task that appears in the Task List window.

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 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.

Command line compilation and linkage

Back to list

When using the cbllink command to compile and link, there is a new -y option. Use this option to create an executable that includes support to be able to run on Windows XP and Windows Server 2003.

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.
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.

Converting additional directives to project's properties

Back to list

The Update Project Properties utility allows you to convert additional directives in your project to project properties. This option is presented on opening a project. You can select to not show this dialog again by unchecking Check Additional Directives for project properties in Tools > Options > Micro Focus > General.

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 Visual Studio IDE, clear the Use classic data file tools check box, available from Tools > Options > Micro Focus > Data File Tools. When cleared, the Data File Tools (Technology Preview) version is used, when possible. When this editor does not support the action you are attempting to complete, Classic Data File Tools is used instead. This check box is selected by default.

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 tab.
  • 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. See the BINDDIR DB2 compiler directive option topic for details.
OpenESQL
ADO.NET Connection Editor
In this release:
  • The ADO.NET Connection Editor has been redesigned using a series of Wizards that guide you through the processes of adding, copying, and removing connections.
  • Context Help is now provided for the main window, and each Wizard page and dialog box.
Date/Time Processing
This release provides streamlined datetime processing for ODBC and ADO.NET.
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 and OpenESQL Assistant using the following PostgreSQL software:
Server software
PostgreSQL EnterpriseDB version 9.4.4
Client software
  • psqlODBC driver version 09.03.04.00
  • Npgsql ADO.NET 4.0 driver version 2.2.5
PostgreSQL 9.4 has been tested with OpenESQL and OpenESQL Assistant on the following Windows platforms:
  • Windows 32-bit
  • Windows 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.

Enterprise Server for .NET

Back to list

This release provides enhancements in the following areas:

  • CICS class library - the public API has been enhanced to contain types that can be used from applications that are running specifically under the control of CICS. This enables you to call CICS functions from within your CICS applications.
  • IDE support:
    • Integration with Micro Focus Rumba
    • Support for submitting JCL files from within the IDE
    • Character-set support
    • Configuring the dynamic debugging setting from the IDE
    • Starting a server when debugging starts
    • Stopping running servers on when closing the solution or the IDE
    • Viewing the console log from within the IDE
    • Creating or activating a listener if no listener is running
    • Server Explorer view of the available servers
    • Start, restart and stop commands for servers in Server Explorer
    • Command for associating a server with your project
  • Dynamic listener configuration - it is now possible to configure a listener both from the command line tool and from within the Administration tool. Enables you to dynamically configure some aspects of a listener's behavior such as to enable, disable, add or remove ports, or do disconnect sessions.
  • EBCDIC support - CICS regions now support applications that use EBCDIC.
  • EZASOKET - limited support is provided for EZASOKET to enable you to run applications that use IBM's EZA functionality. Support is provided for the basic open, close, read and write statements and for some control functionality for IBM's EZACICAL and EZASOKET APIs.

    See the Enterprise Server for .NET product help for details about the supported functionality and the current limitations.

  • JES REST API - support is provided for JES control using the HTTP REST interface. This enables you to use HTTP REST requests to perform JES functions. For example, you can use HTTP REST requests to add initiators and printers, change a job class or to release jobs.
  • Historical Statistics Facility (HFS) - when HSF is enabled for an Enterprise Server for .NET CICS region, event records are created in the region database at run-time for transactions. These records can be subsequently processed to provide detailed information of their execution. A GUI and a command line tool are provided to analyze these statistics.
    Note: HFS is available only in CICS regions. SQL API calls are not supported.
  • Minidump support - you can now configure a region to automatically produce a minidump when an exception occurs. This enables you to diagnose your system and trace any application faults.
  • Importing and exporting resource definitions - you can now use the command line tool to export resource definition information Enterprise Server for .NET into the Enterprise Server format. This enables you to move your resource definitions between Enterprise Server for .NET and native enterprise servers instances within Enterprise Server.

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.

iFileshare - Fileshare support under Enterprise Server (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.

Should you wish to test and provide feedback for this feature please contact Micro Focus Support Line for instructions on how to enable the new functionality.

You can configure iFileshare to offer enhanced availability for mission critical files by configuring a high availability group, consisting of a primary iFileshare server and a number of stand-by servers. (Currently, this type of configuration only supports having one stand-by server)

Files that are critical to your application can be replicated from a primary server onto the stand-by servers. Should the primary server fail, you have up-to-date data (minus any in-flight transactions) available.

To reduce the complexity and to increase the stability of an iFileshare high availability group, it is recommended that each region is configured as a dedicated iFileshare server. If other Enterprise Server work is hosted within the group, the setup must be consistent on each server so that in the event of a fail-over, the non-Fileshare work can be continued on the new primary server.

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 Rumba

Back to list

Micro Focus Rumba version 9.4 is now supplied with the Visual COBOL 2.3 setup file. The license for Visual COBOL will license all components of Rumba.

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 - http://community.microfocus.com/microfocus/).

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 command prompt. A test fixture or suite is a COBOL program compiled to .dll 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.

Microsoft Azure support

Back to list

Visual COBOL support for Microsoft Azure has been updated to version 2.6 of the Microsoft Azure SDK.

Support has been added to the product for making any future versions of the Microsoft Azure SDK available before the next major release of Visual COBOL. Micro Focus will deliver support for these only upon customers' requests.

Note:

2.3 HotFix 1 update: This HotFix provides support for version 2.7 of the Microsoft Azure SDK in Visual COBOL for Visual Studio 2013 and 2015.

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, 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.
  2. Compile your application to apply the changes.
  3. Run your application with Profiler to produce the relevant reports.

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.

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.

To enable full IDE support for single files, Visual COBOL provides a path for creating projects from them - right-click such files in the editor, and click Create COBOL Project.

For more information see Related Information at the end of this topic.

Tunables

Back to list

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.