Features Added in Visual COBOL 9.0

Learn Micro Focus™ COBOL Extension for Visual Studio Code and Micro Focus™ COBOL Fundamentals Course

Back to Top

Micro Focus has released a new video-based training course in COBOL, Micro Focus™ COBOL Fundamentals Course. The course teaches the fundamentals of the COBOL language, introduces the Micro Focus™ COBOL syntax, and usage of Micro Focus COBOL tools.

The course is ideal for developers familiar with C, Java, or .NET who want to learn COBOL. It doesn't matter what language you know, as long as you have experience of standard programming concepts, this course is for you.

A new Learn Micro Focus™ COBOL Extension for Visual Studio Code is available. The extension comes with the training materials for the COBOL training course. For information about the COBOL course, and the Learn Micro Focus™ COBOL Extension for Visual Studio Code, visit www.cobol.com.

Note: This extension is not included with the Visual COBOL installer.

Micro Focus COBOL Extension for Visual Studio Code

Back to Top

The following features are now available in the Micro Focus COBOL Extension for Visual Studio Code when you use it with Visual COBOL 9.0:

  • JVM COBOL debugging
  • COBOL notebooks where you can have text and executable blocks of COBOL code in the same file.
  • Colorization for COBOL directives files, cobol.dir.
  • A new button, , Debug COBOL Program or Run COBOL Program in the top right corner of the editor, present for the current COBOL program.
  • Configuration setting for custom tab stops.
  • A Micro Focus COBOL terminal in the TERMINAL pane.
  • You can now specify the COBOL main file context for copybooks if a copybooks is referenced in more than one program.
Note: This extension is not included with the Visual COBOL installer.

.NET Support

Back to Top

This release provides the following enhancements to .NET support:

  • This release installs several NuGet packages each of which contains the assemblies for a specific Visual COBOL functionality. New .NET projects, as well as existing projects you edit or build in 9.0 are linked to a core package, MicroFocus.COBOL.Runtime.Core, that includes the basic functionality for the projects. You need to add any additional packages (such as a specific file handler, COBOL Accept/Display etc.) manually to the projects. The new packages enable better granularity of distributions, and provide more flexibility and control over what is packaged with the application.
  • New SDK version - the Micro Focus SDK version has changed to version 2.1. See Upgrading existing .NET COBOL project files for details on how to upgrade your existing projects.

Application Workflow Manager

Back to Top

This release offers the following improvements:

  • A new Git Function Package - provides tools that support common Git interactions such as Clone, Add, and Commit. This function package provides tool types to integrate the distributed revision control system Git into your AWM model and enabling you to build a development workflow that includes Git version control actions within the AWM Team Developer perspective.
  • The Micro Focus z/Server connection is now supported in Visual COBOL (UNIX) in the Remote Systems view. A Micro Focus z/Server connection provides access to an IBM z/OS system enabling you to work on data sets of the MVS subsystem, manage job output from the JES subsystem, and work on files of the USS file system.

COBOL Language

Back to Top

This release provides the following new features and enhancements to the COBOL language:

  • Double-colon, ::, qualification is now available as a qualifier for data names and when dereferencing pointers.
  • PERFORM frame local variables - variables that are DECLAREd are now properly scoped. Reentering the SECTION, whether recursively or after leaving, gives a new instance of such variables. This provides better locality of data, and helps with writing of better structured code.
  • Parameterized sections - syntax that allows program sections to accept arguments and return values.
    • PERFORM of a SECTION can now pass arguments to that SECTION.
    • A result can be returned to the code that PERFORMed the SECTION.
    • Sections that return a value can be used as functions, in contexts where an identifier is expected.
  • Compiler can identify platform at compile time - the compile-time constants __unix, __windows, __dotnet, __jvm, and __native have been introduced. These can be tested in $if statements to tailor code to the platform being used.
  • Enhanced CBL_STRING_CONVERT library routine - CBL_STRING_CONVERT can now convert strings to and from Base64.

The following enhancements add further support for the IBM Enterprise COBOL version 6.4:

  • User-defined functions - user-defined functions are now available in an Enterprise COBOL dialect for version 6.4 compatibility. Reference the product Help, General Reference > COBOL Language Reference > Part 3. Additional Topics > Additional Dialect Support > Enterprise COBOL Syntax Support > User-Defined Functions under ENTCOBOL dialect. A new Compiler directive, MANAGED-FNC-PARAM-BY, enables you to specify whether the managed behavior of numeric function parameters should default to BY VALUE or BY REFERENCE.
  • Enhanced mechanism for interoperation between Java and COBOL - The COBOL and Java interoperability has been enhanced to extend the capabilities of your COBOL applications with Java. It removes the need to write object-oriented (OO) COBOL, as your native COBOL and Java programs can now interoperate in the following scenarios:
    • COBOL programs can be marked as JAVA-CALLABLE, meaning that they can be called from Java as though they were Java static methods.
    • COBOL program can call Java static methods using the java.class.method call.
    • COBOL data can be shared with Java programs by marking it as JAVA-SHAREABLE.
  • Comprehensive support for automatic conversion between a wide variety of popular Java data types and their corresponding COBOL types so that parameter passing and returned value handling require no special processing in user code.

Compiler Directives

Back to Top

This release provides the following enhancements.

A new mechanism for setting Compiler directives (Technology Preview):

  • Common directives files - this release introduces common directives files, directives.mf files, that enable you to automatically provide all required directives needed to compile multiple COBOL applications without having to specify the directives individually. This feature is not available for Assembler or IMS.
    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.

New Compiler directives:

  • ALPHA-LIT-CONT - determines whether the right margin or the end-of-line is used to delimit the continuation of a non-numeric literal.
  • DECLARE - defines the behavior of locally declared variables.
  • ILEXPOSEALPHA/ILEXPOSEGROUP - these two directives can expose alphanumeric or group items passed by value to parameterized sections or methods in JVM COBOL programs as byte arrays (the default is to expose as string objects).
  • ILSTRINGLOAD - where JVM COBOL programs with a very large number of distinct alphanumeric literals cause internal limits to be exceeded, use this directive to create these literals in a backing file, which can then be converted to strings at run time.
  • MANAGED-FNC-PARAM-BY - determines whether user-defined function parameters are passed BY VALUE or BY REFERENCE by default when compiled with JVMGEN.
  • INITIAL - determines how Working-Storage is initialized for programs marked as IS INITIAL.

A family of new Compiler directives has been introduced to support the new mechanism for interoperation between Java and native COBOL:

  • JAVA-SHAREABLE - use the JAVA-SHAREABLE ON and JAVA-SHAREABLE OFF directives to bracket one or more WORKING-STORAGE data items to indicate that they are to be made read and write accessible from Java applications interoperating with this COBOL program.
  • JAVA-CALLABLE - instructs the Compiler to make the COBOL program automatically callable from Java.
  • JAVA-GEN-PROGS, JAVA-GEN-STRG, JAVA-OUTPUT-PATH, and JAVA-PACKAGE-NAME - control the behavior of COBOL programs that interoperate with Java through the JAVA-CALLABLE or JAVA-SHAREABLE directives or by calling Java static methods using the CALL statement.

Data Modernization Advice

Back to Top

The product Help now includes advice on moving your COBOL data files, such as flat files, VSAM, indexed or sequential files, etc. to a relational database (RDBMS). The documentation lists the solutions included in Visual COBOL that enable you to achieve this, including advice on the best option for your application as well as performance considerations.

Debugging

Back to Top

This release provides the following new feature:

  • In Eclipse, new Debug and Run configurations have been added for debugging and running COBOL/Java Interoperability applications. These enable you to debug COBOL programs calling Java static methods. To debug Java code calling a COBOL program, you must create a Java Application launch configuration and manually define the VM arguments property -Djava.library.path with a value representing the output path to the native library produced from the COBOL builder.

Eclipse

Back to Top

Enhancements are available in the following areas:

Eclipse IDE:

  • Eclipse 4.24 (2022-06) support, which is shipped and installed with Visual COBOL. Versions of Eclipse prior to this one are not supported.
  • Exporting code coverage results - an option has been added to the Code Coverage view to allow you to export the current code coverage results to a .tcz file.
  • The Problems view now displays a sequence number column.
  • A new project template is available for COBOL/Java interoperability applications. The project enables you to compile both COBOL and Java sources at the same time.

COBOL editor:

  • Auto-indenting on end-*.
  • Collapsible regions for EVALUATE statements, and for 01 group items - a new option, Enable folding for group level items, has been added to the Eclipse preferences (Window > Preferences > Micro Focus > COBOL > Editor > Folding).
  • Local variables support.
  • Parameterized sections - support is available in the editor for parameterized sections.
  • Paste JSON as COBOL classes - you can now copy JSON data and do a Paste JSON As Classes into a JVM COBOL file. This generates COBOL classes which enable you to deserialize the data in those classes.
  • A Quick Fix is available for end of scope termination. To enable this, your project must have the NOIMPLICITSCOPE Compiler directive set, and error level to warning as errors.
  • Renumber lines on save - line numbers can be automatically applied to a source file when it is saved, by selecting Perform line numbering on save from Window > Preferences > Micro Focus > COBOL > Editor > Line Numbering.
  • Case preference for COBOL keywords on code clean up. A new preference in the code clean up profiles enables you to convert all COBOL keywords to uppercase or lowercase, if required.

Enterprise Server

Back to Top

This release provides the following enhancements:

  • A new casverify command-line utility is available. This utility enables you to verify the configuration of a specified enterprise server region without attempting to start it, and also enables you to create immediate diagnostics information in JSON or human-readable output. Verification stages are modular, enabling you to specify which validation checks to run.
  • You can now list job steps to enable users to perform advanced restarts. Job steps can be output to JSON by specifying casout /%jnumber or output to a table by specifying casout /%tnumber. See casout for more information.
  • Installation improvements on UNIX - when upgrading from releases 6.0, 7.0, or 8.0 on UNIX, Visual COBOL now preserves more configuration details. During the installation of the product, a set of configuration files are moved to a config location before the upgrade occurs. These are linked back to the product install location on completion. When you reinstall the full product, install a patch update, or install an upgrade to the same location, the previous configurations settings are maintained.

    Previously, the upgrade process required manual intervention to redeploy existing configuration settings. This now occurs automatically.

Enterprise Server Common Web Administration (ESCWA)

Back to Top

Enhancements are available in the following areas:

  • Accessibility improvements - provide improved compliance with 508 and WCAG 2.1 standards.
  • API, version 2 extensions - includes updated versions of some of the existing API version 1 endpoints, and has been extended to contain more endpoints.
  • Merged Archived Spool - you can now configure an enterprise server region to view a merged archived spool in the UI. You can view multiple archived spools from a single region, and view old spool information for multiple jobs that have ran under a previous name
  • Page search facility - you can now search for a page that contains a specified search string. This enhancement is part of the WCAG 2.1 requirements for accessibility.
  • PAC clients - the ESCWA UI lists all TN3270 clients connected to a PAC. This enables you to administer and monitor clients across the entire PAC from a single PAC region.
  • TLS-enabled Redis connections. ESCWA now supports administering and monitoring PACs with a TLS Redis SOR.

Enterprise Server Security

Back to Top

This release provides the following new features and enhancements:

  • Demo CA - the component has been completely redesigned and is now included as part of Visual COBOL. Demo CA supports multiple installations, uses up-to-date cryptographic support, and generates modern version 3 certificates with SANS, PKIDs, AKIDs, etc. signed by an intermediate CA. Demo CA is now easier to use and has improved interoperability with third-party SSL/TLS systems.
    Note: Micro Focus strongly recommends that Demo CA is only used for SSL/TLS development and testing and is not intended for use in a production environment.
  • esfupdate support for the Vault Facility - the esfupdate utility now supports the use of the Vault Facility for credentials it needs to connect to MFDS.
  • OpenSSL 3.0 - OpenSSL has been updated to use the current Long Term Supported OpenSSL cryptographic library.
  • VSAM External Security Manager (EAP) - the VSAM ESM Module is a new option for Enterprise Server security which is simpler and more convenient than using LDAP-based security. The VSAM ESM Module provides a security manager for Enterprise Server which keeps security data in COBOL data (VSAM) files. It provides many of the features of the MLDAP ESM Module but does not require an LDAP server or other third-party solution. Security data can be imported from a YAML file, facilitating the securing of Enterprise Server and the modification of its security data.
    Attention: This feature is in Early Adopter Program (EAP) release status. We intend to provide the finalized feature in a future release. Please contact OpenText Support for Micro Focus Products if you require further clarification.

HCO for SQL Server

Back to Top

This release includes support for the following:

  • The Define Lists tool in the HCOSS UI has been enhanced to enable you to select a dependency mode to use when creating a transfer list. The available modes are:
    Default
    Automatically include all parent objects of the selected object.
    Family tree
    Automatically include all parent objects of the selected table.

    Automatically include the child objects of each parent object.

    Repeat until no more parents and children are found.

    No dependency handling
    Include the selected table only (do not include any parent or child objects).
  • The Transfer Data Tool now includes the start and end date and time for each table transfer.