Features Added in Visual COBOL 6.0

Application Workflow Manager

Back to Top

Improvements have been made in the following areas:

  • REST modelling - the REST function package now supports the following:
    • HTML formatted text fields.
    • Copying and pasting of JSON format template into a JSON structured file descriptor in the AWM model editor.
    • Specify a general status code handling, which is applicable for all tools from the REST function package.
    • Handling loops when specifying a status code handler.
    • Uploading and downloading text files to and from a REST based application.
    • Automatic retrieving of valid values for a dialog input field without the need to click Retrieve.
    • Auto-completion in dialog input fields.
    • Specify clearing dependencies between dialog input fields.
  • Local Java development - the following features supporting local projects for Java development have been added:
    • A Java function package with the corresponding property, element types, and tools
    • A sample AWM model for local Java development
  • The function package developer guide now provides more details.
  • AWM extension templates are now available
  • AWM model editor improvements:
    • The AWM model properties now only display the relevant attributes in the Properties view.
    • Auto-completion of fields which enable you to specify property references.
    • The Used by dialog now displays property reference usage.

Building Applications

Back to Top

This release includes the following new functionality:

  • Maven build support - you can use the Apache Maven support in Eclipse to build COBOL JVM projects and COBOL JVM Unit Test projects.

COBOL Application Console Size

Back to Top

The maximum console size of a COBOL application has increased. It can now be 255 lines by 255 columns, configurable using the screen_lines and screen_cols run-time tunables.

COBOL Language Enhancements

Back to Top

The following enhancements are available:

  • Enterprise COBOL 6.2 Update - new syntax, library routines, and the respective analysis tooling are available for compatibility with IBM's Enterprise COBOL 6.2 Update:
    • New intrinsic functions are supported: BIT-OF, BIT-TO-CHAR, BYTE-LENGTH, HEX-OF, HEX-TO-CHAR, NUMVAL-F, TEST-NUMVAL, TEST-NUMVAL-C, TEST-NUMVAL-F, and TRIM
    • A number of intrinsic functions now support national data (especially surrogate pairs): REVERSE, ULENGTH, UPOS, USUBSTR, USUPPLEMENTARY, UVALID, and UWIDTH.
    • A LOC phrase has been added to the ALLOCATE statement to define whether memory is allocated above or below the 16MB line.
  • CONSTANT qualifier - it is now possible to define data items as constants. This improves the code readability and usability, and helps detect programming errors. The ability to create constant items is already in .NET COBOL and JVM COBOL, and many other languages.
  • Local variable declarations in native COBOL - it is now possible to declare data items inline in the code and not only in a separate DATA DIVISION. This provides better locality of data, making the source code easier to reason about.
  • Native data type to hold strings of utf-8 characters - in native COBOL, support is now available for the PIC U data type as introduced by IBM in Enterprise COBOL version 6.3. Direct support is available for utf-8 data.
  • Performance improvements - this release provides various performance improvements, most significantly on 32-bit Intel x86 platforms. When using the highest optimization level, opt(4), the performance of native code generated by the COBOL Compiler has improved. A number of cases are affected, most particularly those where it is beneficial to locate PERFORM ranges inline.

Code Analysis

Back to Top

Support is provided in Visual COBOL for accessing the Application Analysis Server which is part of the Micro Focus Enterprise Analyzer and Micro Focus COBOL Analyzer products.

If you have one of these products installed, you can connect to the Application Analysis Server from Server Explorer and access the Enterprise Analyzer web client. Enterprise Analyzer web client provides quick searches for repository objects, detailed code searches, diagrams, reports, and data item impact analysis and other features such as viewing and editing of business rules (separate license required).

Code Analyzer Refactoring

Back to Top

Support is now available for extracting program logic from COBOL code and moving it to a new program. The following commands are available from the editor context menu:

  • Create program from Section
  • Create program from Computation
  • Create program from Condition

In Eclipse, you can now refactor your code using the Extract to Section command available from the Refactor menu.

Compiler Directives

Back to Top

The following Compiler directives are new in this release:

  • DISPLAY-AT - specifies a default foreground and background color for DISPLAY AT and ACCEPT AT statements that do not specify any color attributes.
  • DPC-IN-DATA - controls whether the DECIMAL-POINT IS COMMA clause (if specified) is applied to the output from the XML GENERATE and JSON GENERATE statements.
  • ILCONDITIONPARAM - switched on by default. Enables the support for conditional expressions as method parameters.
    Important: Applications that use the old COBOL syntax for specifying named parameters as custom-attributes will not compile with the ILCONDITIONPARAM specified. This can result in any older applications failing to compile in the current version of the product. See ILCONDITIONPARAM in your product Help for details about how to work around this issue.

The following Compiler directives have new options:

  • CHECKREFMOD - now takes an additional parameter (NOZEROLENGTH), which acts as CHECKREFMOD, but does not permit reference modifier lengths of zero.
  • PROTOTYPE - now supports options that specify whether prototypes are required, and the severity of error messages issued for prototype mismatches.

Containers

Back to Top

Support has been added to enable you to work with containers from the IDE. In particular you can now create a Dockerfile for a COBOL project, and build, debug and run a COBOL project in a container, all from the IDE.

Support has been added to enable the use of tools that are compatible with the Open Container Initiative (OCI) on platforms where they are supported. This is currently available on Red Hat Enterprise Linux 8.

Database Access - DB2 ECM

Back to Top

Support for the following has been added to this release:

  • Multi-row fetch (MRF) and insert (MRI) statements with or without the FOR ROWS clause
  • Array update and delete statements
Notes:

Database Access - XA Switch Modules

Back to Top

Restriction: This feature applies only when the Enterprise Server feature is enabled.

Support for the following has been added to this release:

  • XA switch modules have been enhanced to enable storage of sensitive information in the Micro Focus Vault Facility. This new functionality includes a customizable program, ESXAEXTCFG.CBL, you can use to obfuscate xa-open strings by storing them as secrets.

Data File Tools

Back to Top

The following enhancements have been made to the Data File Editor:

  • Double-byte character sets are now supported within the editor.
  • Insert mode is now available when editing a formatted record, except for numeric fields.
  • When editing DBCS data in EBCDIC files, the required Shift-out and Shift-in characters are automatically added when editing a formatted record and you are editing in Insert mode.
  • You can now load and unload structure files for an open data file.
  • A ruler at the top of the editing pane can be toggled on/off.

Debugging

Back to Top

This following enhancements are available:

  • Breakpoints - in JVM COBOL, you can now access a breakpoint's properties from the breakpoint's context menu in the editor.
  • Expressions - you can now specify complex expressions in the Expressions view. The supported expressions are: normal numeric arithmetic expression with intrinsic functions and the single use of alphanumeric intrinsic functions. See Views in the Debug Perspective in the product Help for details.

Deploying Applications

Back to Top

This release supports easier deployment of native COBOL applications from an Eclipse project. A new page in the project's properties, Micro Focus > Build Configuration > Deploy, enables you to specify a deploy folder and which files will be deployed. Building the project deploys certain executables and supporting files to this folder. In addition, you can archive and deploy the files on application servers, cloud storage such as AWS buckets and access the application files with AWS services, and so on.

Eclipse Integration

Back to Top

The following enhancements are available:

  • COBOL compile settings summary - this pane, which is displayed when viewing the COBOL project settings at the project, folder, and file level, now indicates the settings that are inherited and the ones that are set at that level. Settings inherited from the level(s) above are shown in <>.
  • Deploy folder - a new build configuration feature in the project's properties enables you to copy build artifacts and supporting files essential for deployment, to a particular folder.
  • Context menu improvements - the editor context menu has been reorganized, where certain options have been grouped together under a logical heading, and other redundant options removed.
  • Copybook tooltips - hovering COPY statements in the editor now displays the path to the referenced copybook.
  • Collapsible statements - it is now possible to collapse IF, EVALUATE, and PERFORM statements in the editor.
  • Dark theme with COBOL - you can enable the dark theme from Window > Preferences > General > Appearance > Theme.

Enterprise Server

Back to Top

The following enhancements are available:

  • IPv6 support (EAP) - This feature is in Early Adopter Program (EAP) release status. Some Enterprise Server components and features now support Internet Protocol version 6 (IPv6) network addressing and connectivity. Due to limitations with IPv4, IPv6 is becoming more common within corporate networks and on the public Internet. In some cases, the use of IPv6 can improve interoperability and simplify network configuration.
  • Administrative Commands - the add command in cascertreg now contains new options (-cwi setting, -dcas setting, -issuer, and -subject).

Enterprise Server Security

Back to Top

This release provides the following enhancements:

  • Micro Focus Secrets file storage permissions

    The Micro Focus Secrets Vault provides centralized storage for sensitive information such as passwords, with some protection against accidental disclosure or discovery by unauthorized users. Prior to this release, the only supported storage mechanism was a conventional file containing encrypted data. In this release, the permissions on the storage file and on the Secrets configuration file are set more restrictively to help protect the secrets.

  • Certificate wildcard support

    The X.509 digital certificates used to identify servers when making TLS (SSL) connections permit the use of fully-qualified domain names with wildcards for some parts of the name. This enables administrators to use a single certificate issued to, for example, *.mycorp.com for any number of servers with fully-qualified names like www.mycorp.com, server1.mycorp.com, and so on. These wildcard-bearing certificates are now supported by client programs using Micro Focus communication technology when validating a server's certificate.

  • Improved ACL wildcard support

    In the Access Control Lists used for resource access control with LDAP-based security in Enterprise Server, the ".**" wildcard sequence now behaves more similarly to mainframe RACF. A number of additional options for wildcard processing are also available.

  • PAM ESM module

    On Linux platforms, Enterprise Server now includes an External Security Manager module which integrates with the Pluggable Authentication Modules (PAM) operating system feature. The PAM ESM module can be used to authenticate Enterprise Server users with the same mechanism used for Linux users, or with any other mechanism available through PAM.

  • PKIX compliance for TLS certificate validation

    The standard for using X.509 digital certificates to authenticate servers when making TLS (SSL) connections is known as PKIX, for Public Key Infrastructure (X.509). It is defined by a series of IETF RFC documents, currently RFC 5280 and others. In previous releases, the certificate validation performed by this product did not conform to PKIX in a number of ways, most notably in using DNS address-to-name resolution in an attempt to match a certificate to a host. With this release, clients using Micro Focus Common Client technology, such as COBOL web service proxy programs, CAS utility programs, and customer applications that use the CICS Web Services Interface feature, will by default, use stricter procedures for validating certificates which more closely conform to PKIX. This improves TLS security and interoperability.

  • Security improvements for XML parsing

    In this release the third-party components used for parsing XML data have been updated, or have had bug fixes integrated into the version used by Micro Focus, to address published security vulnerabilities. Also, XML external-entity support has been disabled except where it is required by a particular product feature; this prevents XML External Entity (XXE) attacks on customer systems by attackers who can trick a customer application into parsing a malicious XML document.

Enterprise Server Common Web Administration (ESCWA)

Back to Top

This release offers the following new features and improvements:

  • MFDS User Interface functionality replacement - ESCWA can now communicate with remote MFDS instances, and displays the equivalent pages of MFDS. Configuring regions, and their IMS, PL/I, MQ, and XA options, and security, is now available.
  • ESMAC User Interface functionality replacement - ESCWA can communicate with remote ESMAC instances, and can replicate functionality and display all the information provided by ESMAC.
  • Configurable User Interface access - you can now configure the ESCWA security manager to control user and group access to certain aspects of the user interface, such as, native, and security menu items.
  • Usability improvements
    • Starting and stopping regions from the navigation tree.
    • The native menu items are not displayed if the region features are not configured correctly.
    • Configuration of the display colors for MFDS hosts and regions to distinguish them with ease.
  • Scale-Out support - ESCWA has improved the way it displays a Scale-Out Repositories (SORs) association with its PAC and member regions.
  • Redis support - Redis is supported as a SOR when running this product in a PAC. Features include:
    • Redis cluster support
    • A Mfredis configuration file - enables you to configure reconnection when any network errors occurs. You can also use the file to configure Lua scripts tracing on servers.
    • Authentication support for the standalone Redis server.
  • Kubernetes support - when ESCWA is run in a Kubernetes cluster, it is now possible to configure it to automatically discover the pods hosting MFDS within the cluster, and display them in the ESCWA user interface.

File Handling

Back to Top

Fileshare password files can now be stored in the Vault Facility, ensuring that sensitive user credentials are encrypted. Firstly, create the password file in the usual way, and then upload it, with a path of microfocus/fh, using the mfsecretsadmin utility.

To ensure the Fileshare server uses the file stored in the vault, start the server with the /uv option.

Interface Mapping Toolkit

Back to Top

Improvements are available in the following areas:

  • Resource-based REST APIs - the following enhancements enable the creation of resource-based REST APIs:
    • Operations in JSON RESTful Web services can now have a customizable URI path that identifies a resource. Operation paths have support for dynamic templating.
    • API resources can now be automatically identified from COBOL groups in a COBOL program, and a set of operations can be generated for each API resource.
    • It is now possible to specify the location of interface fields in the service request or response. An interface field can either be a parameter in the URI path, a query parameter, or be in the JSON message body.
  • Summary support for OpenAPI - the IMTK now supports the OpenAPI Specification (originally called Swagger) which is the most widely-accepted format for REST API specifications. Features include:
    • Consumption of OpenAPI 3.0 and Swagger 2.0 files for purposes of client and service generation.
    • Generation of OpenAPI 3.0 files to describe the APIs of a JSON RESTful Web service.
  • REST service output filtering and field selection - Enterprise Server JSON RESTful Web services now include the following features:
    • Automatic filtering of the JSON response body of a Web service by path and query parameters received in the request URI.
    • A special query parameter "$fields" that can be used to indicate that the JSON response body is to contain only certain specified fields, and to exclude all other fields.
  • REST API discovery - Enterprise Server API discovery is now supported. For a JSON RESTful Web service, a list of all its available operations, and their URI paths, can be retrieved. This enables a client to efficiently navigate an Enterprise Server REST Web service without having information about the service’s operations ahead of time.

Library Routines

Back to Top

The following library routines are new:

  • MFU_GET_FILE and MFUGETF - both these routines are used with data-driven tests in the Micro Focus Unit Testing Framework. If the .csv file under test references external data in one of its cells (using the @file-name notation), use either of these routines to load that external file into memory before such tests are run.

The following library routine contains new functionality:

  • CBL_GET_EXIT_INFO - this library routine has been enhanced to better detect the circumstances in which an exit procedure has been invoked.

The Micro Focus Unit Testing Framework

Back to Top

The following enhancements have been made to the Micro Focus Unit Testing Framework:

  • You can now run unit tests against an executable file from both the IDE (new in Eclipse) and the command line. Before you run such tests from the command line, you must initially rebuild the executable in order to link it into the testing framework.
  • The .csv source files used in data-driven tests can now reference external data: use the @file-name notation in a cell to use the contents of file-name in the tests. The external source files must be loaded into memory, using the MFU_GET_FILE or MFUGETF library routines, before the tests are run.
  • Two new elements are available for data-driven tests: a data-driven setup and a data-driven teardown. Conventional setup and teardown entry points would run multiple times during a data-driven test; these two entry points run only once per test run.

Multi-Threaded Applications

Back to Top

This release includes the following improvements:

  • Improved validation of detached threads on UNIX - the reliability for applications with many threads, when using the CBL_THREAD_KILL routine and during abnormal process termination, such as when an error occurs, has been improved.
  • Thread local storage optimizations - the thread termination in applications with many threads has been optimized.

Problem Determination

Back to Top

The following enhancement is available:

  • Consolidated Tracing Facility (CTF) on UNIX - CTF is now always present during process termination, such as when an application, or a third-party code, calls exit() directly.

Product Documentation

Back to Top

The following functionality is new in this release:

  • Online context help in Eclipse - online context Help is now the default setting for Visual COBOL. Requesting F1 help from within Eclipse now opens the documentation available on the Micro Focus OpenText Support for Micro Focus Products website: https://www.microfocus.com/en-us/support/documentation/. You can configure Eclipse to show either local or online help. See Viewing the Product Help.