Features Added in Visual COBOL 4.0

This release provides enhancements in the following areas:

Integration with Visual Studio

Back to Top

This release includes the following editor improvements:

  • Inline rename refactoring - overwriting a variable name directly in the editor now invokes rename refactoring so you no longer need to select Refactor from the editor context menu.
  • Extract to section - a new quick action (Visual Studio 2015 and later only) is available in the editor. It enables you to refactor your code by adding more sections in the code. This can help you create more entry points that you can use during unit testing.
  • Automatic insertion of END-EXEC, END-TRY and END-PERFORM statements - the closing statements are now automatically inserted after you have typed the opening statements.
  • IntelliSense filters (Visual Studio 2017 and later only) - when IntelliSense displays a list of suggestions, a number of icons at the bottom of the IntelliSense window now enable you to filter the suggestions.

Working with files:

  • Copybook graphs - a context menu command, Show Copybook Graph, in Solution Explorer enables you to display the graphical representation of the copybook dependencies of COBOL programs.
  • Open Folder mode (Visual Studio 2017 only) - support is now available for editing, compiling and debugging files opened in Solution Explorer in Open Folder mode without having to create projects.
  • The file property pages now display a list of all Compiler directives that apply to the file.

New IDE configuration option:

  • You can use the Limit IntelliSense Search Scope setting in Tools > Options > Text Editor > Micro Focus COBOL > Advanced that helps improve the editor performance.
Relinking existing applications:
  • You can now configure Visual COBOL to check whether applications created with older releases must be relinked. If the application uses an older version of the C runtime, Visual COBOL can automatically relink the existing executable or .dll to the new version of the C runtime without the need to recompile the application first.

    If a project needs relinking, Visual Studio displays a message in the status bar (Visual Studio 2015 and 2017) or a dialog box (Visual Studio 2013) providing an option for you to choose and relink the project.

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

Application Server JCA Support for Enterprise Server

Back to Top

This release includes the following enhancements:

  • COBOL Resource Adapters now support WebSphere 9.0 and WebLogic 12.2.1.
  • Tomcat 7.0 support for servlet generation with J2SEBeans.
  • NullSearch utility - for COBOL resource adapters, this new utility provides assistance in locating NULL fields in mappings passed to Enterprise Server. When a large number of arguments is provided in the parameters passed to Enterprise Server, it is difficult to locate NULL fields, which are not allowed. The NullSearch utility isolates NULL fields, so the Java application can be corrected.

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

Build Tools for Windows

Back to Top

This release includes Visual COBOL Build Tools for Windows, a separately-installable component of Visual COBOL that has been designed to be used in environments where you want to work with your COBOL projects but you don't want the overheads associated with the Visual Studio IDE.

Build Tools provide a lightweight, easy-to-install development environment that is well-suited for use in Docker containers and continuous integration or continuous delivery systems.

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

Code coverage

Back to Top

This release provides the following enhancements:

  • In Visual Studio, the Micro Focus Code Coverage window now offers a File View in addition to the existing Program View.

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

Codeset support

Back to Top

Support has been added to enable codeset mapping to additionally be configured to use IBM's Conversion Tables directly instead of the Micro Focus supplied tables. You need to download IBM's conversion tables from IBM's Web site. Then you can use the MFCODESET environment variable to convert between IBM's CCSIDs.

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

Compiler directives

Back to Top

The following Compiler directives are new in this release:

  • DISPSIGN - determines the display output of numeric fields with included signs, under an IBM mainframe dialect only.
  • GNTLITLINKSTD - stops the suppression of call-convention 8 when both call-convention 2 and call-convention 8 are in effect for a .gnt file in an Intel x86 32-bit environment.
  • ILSMARTANNOTATE - adds attributes to the items generated by ILSMARTLINKAGE, based on their data type, which can be used to identify the size or range of the item in COBOL.
  • ILSMARTTRIM - trims any trailing spaces from a string item returned by the get property associated with an alphanumeric item processed by ILSMARTLINKAGE.
  • MAINFRAME-FLOATING-POINT - specifies the format of a program's floating point data items: either IBM hexadecimal format or IEEE format. This directive is supported in managed code only.

The following Compiler directives contain new parameters in this release:

  • CHECKDIV - a new parameter 'ACOS' now emulates a divide by zero operation on an ACOS mainframe system: the quotient and the remainder are set to the value of the dividend.
  • OOCTRL - a new parameter, L, specifies whether to include directory location comments in .cls and .ins inheritance files.
  • NUMPROC - a new parameter 'ACOS' provides partial compatibility with the behavior of NEC ACOS COBOL processing of invalid data in USAGE DISPLAY data items and invalid sign information in USAGE COMP-3 data items.

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

Data File Tools

Back to Top

It is now possible to export any filtered results. When filtering a data file, you can use the results to create a new data file - click Search > Export Results when a filter is applied to save the filtered records to a new file. You can:

  • Save the filtered records to a new file.
  • Save the records that match the specified filter (such as customer information or orders).
  • Download a subset of the data from a remote file.
  • Save a small portion of the data for testing purposes.

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

Database Connectors

Back to Top

Database Connectors for Microsoft SQL Server

The following enhancements have been made to Database Connectors for Microsoft SQL Server:

  • Database Connectors for MSSQL is now available on Linux/UNIX platforms where MSSQL server is supported; see the Microsoft SQL Server support web pages for an up-to-date list of specific supported platforms.

    With Database Connectors for Microsoft SQL Server, you can connect to both an instance running on a Linux machine, or an instance running on a Windows machine. You can also use it to connect to an instance of SQL Server running on Linux from a Windows client. (Note that setting up SQL Server on a Linux machine is beyond the scope of our documentation.)

    See To install Database Connectors for Microsoft SQL Server for more information.

  • Database Connectors for MSSQL now supports connecting to a Microsoft SQL Server running a multi-subnet failover cluster. To use this feature requires changes to the connection string sent to the server, which is accomplished by using the following 4 new configuration variables:
    • A_MSSQL_MULTI_SUBNET_FAILOVER - set to TRUE to enable a connection that supports multisubnet failover support. If set to FALSE (the default) support is not enabled, and the other configuration variables have no effect.
    • A_MSSQL_FAILOVER_PARTNER - the name of the failover partner used. Refer to your SQL Server documentation for valid values.
    • A_MSSQL_FAILOVER_PARTNER_SPN - the name of the failover partner SPN used. Refer to your SQL Server documentation for valid values.
    • A_MSSQL_SERVER_SPN - the name of the Server SPN. Refer to your SQL Server documentation for valid values.
  • Database Connectors for MSSQL now supports columns of type GUID for existing SQL tables. A new configuration variable, A_MSSQL_IGNORE_GUID_COLUMNS, determines the behavior when handling existing tables that contain a column of this type.
    Note: Database Connectors for MSSQL cannot create a new column of this type.

Database Connectors for ODBC

  • Database Connectors for ODBC is now available, allowing you to use ODBC connectivity to access supported databases from your COBOL programs. See Database Connectors for ODBC for more information.

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

Debugging

Back to Top

This release includes the following enhancements:

  • Enhanced .NET debugging in Visual Studio 2017 - a number of advanced debug features are now available when debugging .NET COBOL code. Features include support for performance tips, backwards debugging, an expression evaluator, integration with the Diagnostic Tools window, remote debugging of .NET COBOL applications, as well as support for IntelliSense in the debug windows (such as the Immediate, Watch, and QuickWatch windows).

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

Docker

Back to Top

This release provides support to enable you to run your COBOL applications in Docker containers, taking advantage of the many benefits offered by the Docker platform such as portability, performance, agility, isolation, and scalability.

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

Documentation on working with large applications

Back to Top

The product help now includes a new section, Working with a Large Code Base, that includes recommendations and best practices for working with large applications inside the IDE. It includes tips on how to structure your projects, how to optimize the performance of the IDEs, and step-by-step workflow showing how to move an existing legacy application into Visual COBOL.

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

Enterprise Server

Back to Top

The following enhancements have been made to Enterprise Server:

  • Conversation filtering - the Enterprise Server Communications Process (MFCS) can now restrict access to listeners by client address. You can specify any permitted or forbidden addresses either by IP address, network mask, or domain name, and use wildcards. Filters can be applied to individual listeners, communications processes, or to entire regions. More specific filter rules override any general ones.
  • The Enterprise Server Security Facility now starts throttling Verify requests when it receives more than 100 requests per second.

    This can be used to limit the effectiveness of denial-of-service and brute force attacks. You can configure the value where throttling occurs. See Verify Request Throttling for more information.

  • (Technology Preview only) Support for adding, deleting, and modifying XA resources in a live Enterprise Server region.

    It is now possible to add, edit, or delete XA resources while an enterprise server instance is running. Any changes made come into effect after any in-flight transactions have completed. The ability to make these changes in a live environment comes under the control of the existing enterprise server permissions.

  • XA-compliant Resources (XARs) - this release provides enhanced CTF tracing that allows more flexible reporting of warnings and errors on the RM switch module level.
  • A new Communications Server resource class - enables you to control the access to the Enterprise Server Console Log and Communications Server Log when external security is in effect for an enterprise server region; see Resource Classes for Communications Server for more information.
  • Improved catalog availability - there is now an improved resilience to temporary communication issues with the catalog and error reporting enabling a region to stay active if a region has multiple catalogs defined and one of the catalogs is not available.
  • Enhanced SSL/TLS certificate support - for communications with TLS (formerly SSL), additional certificate and key file formats are supported. Servers may now be configured with both an RSA and an ECC key and certificate.
  • Enhanced SSL/TLS cipher configuration - for communications with TLS (formerly SSL), the permitted cipher suites and their preferred order can now be configured. The minimum size of Diffie-Hellman groups for DH key exchange can also be configured. The defaults have been made more secure.
  • The Historical Statistics Facility (HSF) now enables you to write user-defined data to the records produced within a .csv file. Use the ES_WRITE_CUSTOM_HSF or ESCSTHSF library routines within your COBOL programs to define the custom data, and use the ES_HSF_CFG environment variable to configure up to five custom fields in the generated record.
  • You can also use the ES_HSF_CFG environment variable to configure the number of CICSF, TSQ, and TDQ fields that are written to the record.

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

File Handler

Back to Top

This release provides the following enhancements:

  • The DFSORT and SYNCSORT emulations now support the NULLOFL parameter of the OUTFIL statement.
  • The ASCIISOSI configuration option is now available. It adds the required SOSI characters to the relevant EBCDIC DBCS character strings in order for them to be displayed or written out correctly.

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

Library routines

Back to Top

The following library routines contain new functionality:

  • CBL_GET_OS_INFO - this library routine can now detect if the program is running within a Docker container: cblte-osi-rts-capabilities parameter, bit 7.

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

Micro Focus Unit Test Framework

Back to Top

This release provides support for the following functionality:

  • Generation of unit test stubs for selected entry points within your program.
  • Support has been added to Visual Studio for unit testing of managed procedural projects.

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

OpenESQL

Back to Top

This release provides the following new features:

  • Support for SQL Server 2017.
  • The SQL(TRANSACTION) compiler directive has been enhanced to clearly define transaction boundaries.
  • A new SQL(NOWHERECURRENT) compiler directive that allows you to define updateable cursors that do not do positioned updates or deletes with PostgreSQL or MySQL.
  • Larger communication area (PID) that accommodates longer plan and program names.
  • SQL(OPTIMIZECURSORS) has been enhanced for consistent and better cursor performance across all OpenESQL backends.

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

Platform support

Back to Top

Note the following changes in platform support for this release:

  • Windows 8 and Windows Server 2012 are no longer supported for developing applications. They are still supported for deployment.

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

XML Extensions

Back to Top

Two new state management statements have been introduced, XML GET WHITESPACE-FLAGS and XML SET WHITESPACE-FLAGS, that enable you to control how whitespace is handled when importing data; refer to the topic Handling spaces and whitespace in XML for more information.

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