Features Added in Visual COBOL 4.0

This release provides enhancements in the following areas:

Integration with Eclipse

Back to Top

This release provides the following general enhancements:

  • Support for Eclipse 4.7 Oxygen (64-bit) and 64-bit project templates - the 64-bit Eclipse 4.7 is now installed by default. Project templates are available for both 32-bit and 64-bit applications. You can set a default project template (either 32-bit or 64-bit) to use so that all future new projects will use that as the preference. On platforms only capable of building to 64-bit, the 64-bit templates are the default ones.

    The 32-bit Eclipse is still supported on 64-bit Windows platforms, however you need to manually install it and a 32-bit Java.

    Support for Eclipse 4.4 and 4.5 has been discontinued.

  • Starting with release 4 Patch Update 4, you can plug Visual COBOL into Eclipse 4.8 (either 32-bit or 64-bit) installed on your machine. On Red Hat, this requires that you have Red Hat 7 or later.
  • Support for SUSE 12 - only the 64-bit SUSE 12 platform is supported and you can only use the 64-bit Eclipse with 64-bit projects on it.
  • (Native COBOL projects only) The Project Settings page in the project's properties now include a search option. This enables you to find files and build configurations that have settings different from the ones set at project level.
  • Remove File Directives - a context menu command in the explorer view enables you to reset a file's directives.
  • IVP diagnostic tool enhancements - it is now possible to run the server-side IVP diagnostic tool for diagnosing issues with a remote connection from within Eclipse installed at the client side. The IVP tool now also performs a check for whether XTERM is installed on the remote machine.
  • IMTK service mappings are now automatically regenerated if you make a change to the interface fields in the underlying program.

The following enhancements are available for JVM COBOL projects and package handling:

  • New wizards for creating ENUM, DELEGATE and VALUETYPE types.
  • Additional code snippets for Method-Id and Property-Id.
  • Showing and grouping packages in the COBOL Explorer view - use the COBOL JVM Project Presentation command from the View menu in the explorer to either display COBOL categories or packages.
  • Refactoring by renaming the package name - available from the context menus in the COBOL Editor and in COBOL Explorer.
  • Refactoring by moving source folders, packages or compilation units - available from the explorer context menu.
  • Support for switching off the package name mapping using the Each part of the package name corresponds to a subdirectory option in the Build Configuration page.
  • Support for packaging .class files in a .jar file when building COBOL JVM projects.
  • Open Type Hierarchy and Open Call Hierarchy context menu commands - available in the COBOL editor, COBOL Explorer and in the outline views while seeing the packages presentation in the IDE.

The following editor improvements are available:

  • A Properties context menu command - enables you to access a file's properties directly from the editor.
  • A Show In context menu command - enables you to locate the file in the COBOL Explorer.
  • Edit > Convert Tabs to Spaces command - enables you to convert any tabs in your COBOL source files to a specified number of spaces.

Automatic relinking of applications created with Visual COBOL 3.0:

  • Visual COBOL 4.0 can automatically relink existing projects created with Visual COBOL 3.0 that have executable link artifacts. Eclipse displays a warning in the Problems view that the project requires relinking. It then offers a Quick Fix action for you to execute that will link your project with the most recent version of the run-time system.

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.

Application Workflow Manager

Back to Top

Improvements have been made in the following areas:

  • Model editor - now includes:
    • A new Edit action. Enables you to edit any model component instead of working with the Properties view. The new action enables you to change the attribute values of several model components at a time.
    • An Outline and a Relationship Hierarchy view.
    • Improved backwards and forwards navigation in the model.
    • Automated sequence numbering in the model.
    • The context menu of the model editor has been restructured for more clarity.
    • Context help.
    • Tool creation has been improved. Dependent components are generated from the function package tool definition.
  • Development of models:
    • Newly created empty models now contain all categories. The new models also validate without any errors or warnings.
    • A new AWM system type, “Custom System”, is available. This system type supports the model development process by facilitating the creation, change, load and reload of a model.
  • New modelling features:
    • The “Return Property Value” tool in the function package now supports several additional use cases.
    • The “Transfer File” tool in the function package offers improved support for mass processing.
    • Support for properties with an application-wide scope.
    • A modelling capability to structure the local file cache for copybooks and include files downloaded by the background parser in the editor. Additional tools are provided to check the existence of or clear the file cache for copybooks and include files.
  • The product help includes some tutorials showing how to create new models and extend the functionality of existing models. See the Tutorials Guide.
  • A number of template models are now available and can be used as a base to develop your own models.

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 Eclipse 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:

  • Support has been added in Eclipse for code coverage for procedural copybooks.

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

The following enhancements have been made to reverse debugging and live recording:

  • Reverse debugging and live recording have been enhanced significantly, and are now considered GA features. You can now debug using watchpoints and conditional breakpoints, and reset execution points. Debugging multi-threaded applications is now supported, and so are programs that contain OSVS performs and nested programs.
  • A command line utility, cobeslr, has been introduced to enable you to configure live recording for particular services or application instances of an enterprise server region.
  • You can now use the CBL_DEBUG_START and CBL_DEBUG_STOP library routines to start and stop a live recording session.

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.
  • CBL_DEBUG_START and CBL_DEBUG_STOP - these library routines have been enhanced to start and stop a live recording session.

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

Managed COBOL

Back to Top

Deploying JVM COBOL to an Application Server:

  • Running JVM COBOL under WebSphere 9.0 and WebLogic 12.2.1 is now supported.

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.

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.
  • SUSE platforms - this release only supports SUSE Linux 12 SP2, 64-bit.

    On this platform, you can only build COBOL programs to 64-bit executables. This applies when using Eclipse on SUSE or with remote projects when Visual COBOL Development Hub is installed on SUSE.

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.