Features Added in Enterprise Developer 6.0

.NET Core

Back to Top

Support has been added for .NET Core 3.1, and a number of new .NET Core project templates have been added.

Note: Because Enterprise Developer requires .NET Core version 3.1 and .NET Core version 3.1 is not supported by Visual Studio 2017, you must be using Visual Studio 2019 to be able to use Enterprise Developer to create COBOL applications to be deployed for use with .NET Core.

Building Applications

Back to Top

This release includes the following new functionality:

  • Compiling Mainframe Subsystem Application projects now continues on error - all compiler tasks for the different file types will now continue to run, if one of the tasks reports an error.

CICS Support

Back to Top

This release provides the following enhancement:

  • Viewing CICS Resources inside Visual Studio (Technical Preview)

    You can now view CICS PCT resources from within Visual Studio. You can do this with the help of a context menu command, Show CICS Resources, for an enterprise server in Server Explorer.

    A context-menu command, New PCT, is available in Solution Explorer for COBOL programs which are part of a Mainframe Subsystem Application project associated with an enterprise server instance.

    In 6.0 Patch Update 4, support has been added in the CICS Resources window for FCT and PPT CICS resources .

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:
    • 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 Enterprise Developer 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

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.


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.

Database Access - HCO for DB2 LUW

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
  • These new features are supported for DB2 LUW version 11.1 Mod 4 Fix Pack or newer. Currently, IBM does not support either of these features with DB2 LUW 11.5.
  • For coding examples, see the IBM DB2 LUW documentation: Embedded SQL/COBOL Support for MRI and MRF.

Database Access - XA Switch Modules

Back to Top

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.


Back to Top

The following enhancements are available:

  • Debug profiles - COBOL projects now support debug profiles, a feature of Visual Studio, where a debug profile stores a set of properties which specify how to start debugging the application. You can create and manage multiple debug profiles available on the Debug tab in the project's properties.
  • Expressions - you can now specify complex expressions in the Watch window. The supported expressions are: normal numeric arithmetic expression with intrinsic functions and the single use of alphanumeric intrinsic functions. See Watch Window for details.
  • Debugging MSS applications - a new Visual Studio configuration option, Do not stop on program entry, is available. With this option enabled, the debugger does not stop execution on any entry to a program in a native Mainframe Subsystem Application and continues to run until it detects a breakpoint.

Enterprise Server

Back to Top

The following enhancements are available:

  • Definition Import/Export Tool - a new utility, casesxml, has been added to enable you to import and export enterprise server definitions. Using casesxml you can do the following:
    • generate .xml files, in casesxml export format, that contain structured definitions of a region, a CICS resource definition file, and the catalog
    • import a casesxml export format .xml file to update the definitions of a region, a CICS resource definition file, and the catalog
  • 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 for .NET

Back to Top

This release includes the following improvements:

  • SOAP web services for CICS (EAP) - an Early Adopter Program (EAP) feature. Enables you to create SOAP web services for CICS transactions. This enables you to expose CICS transactions as SOAP web services using IIS, including translating data between SOAP and COBOL formats, and applying security rules.
  • ELF and DCAS - Enterprise Server for .NET now provides the Digital Certificate Authentication Service (DCAS) and supports the TN3270 Express Login Facility (ELF), also known as Certificate Express Login (CEL).

    CICS users can be signed on to the region using TN3270-over-SSL and a client certificate. Enterprise Server for .NET can also be integrated with DCAS-based mainframe SSO technologies such as Micro Focus Host Access for Cloud (formerly Host Access Management and Security Service).

  • EXCI enhancements - the External CICS Interface (EXCI) feature now supports channels and containers, which allows larger requests and responses. It also includes some additional security features. This provides an improved integration between Enterprise Server for .NET CICS and external applications, whether standalone programs or application code running under other servers such as IIS.
  • Administration ESF and LDAP-based security - the MMC Administration console now uses the External Security Facility to control access to administration functions. The role-based security provided with earlier versions of the MMC UI has been integrated into ESF as the default security option for the MMC UI, but it is now also possible to use LDAP-based security and/or Windows authentication. This provides you with more administration security options, including using the same security manager and schema for region and administration security.
  • LDAP-based security enhancements - the LDAP ESM Module for Enterprise Server for .NET offers a number of enhancements, including fixes for bind-mode user authentication, support for the "user ID attribute" configuration setting, support for long passwords, and the passtoken/passticket feature. This provides a greater flexibility for organizations using LDAP-based security with Enterprise Server for .NET. Passtoken and passticket support was also used to enable the DCAS feature.

Enterprise Server Security

Back to Top

This release provides the following enhancements:

  • Micro Focus Secrets file storage permissions

    The Micro Focus Secrets feature (also known as the Vault feature) 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.

  • 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, Enterprise Server for .NET, 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.
  • CICS resource support - the following resources are supported: ICEs, DocTemp, TCPIPService, URIMap, Bundle, Pipeline, and WebServices.
  • 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.

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.

IMS Support

Back to Top

Improvements are available in the following areas:

  • BMP inbound and outbound message processing - full support is available for BMP inbound and outbound message processing. Batch message processing programs (BMPs) can now access the IMS message queue for input and output, in addition to their batch-type processing and data-access capabilities.
  • Commands - the following commands are now supported: - /START TRAN ALL, /DISPLAY Q TRAN, and /DISPLAY STATUS TRAN.
  • DB Control SUSPEND / RESUME commands in an active system - IMS DB Control supports the SUSPEND command while transactions are active. DB Control will block any new units of work and allow active UOWs to complete during a quiesce. Once DB Control reaches a state with no outstanding UOWs it suspends. Note a long running BMP may prevent a system from suspending.

    This enables support for administrative tasks such as database and transaction log archiving. It also enables the creation of new transaction logs when roll forward recovery is enabled.

  • IMS BTS trace - IMS BTS trace is now visible from active SSTM and batch jobs. WIDTH and NOHEX options have been added for additional control of trace output format.

    This enables BTS output to be viewed when debugging a batch IMS application. Previously the job step had to complete before the trace was visible. This also enables you to view the trace output in an active SSTM job. Previously the MPR had to be stopped to make trace output visible.

  • User DB handler exit - database exit support has been added for GSAM databases. This provides programmatic control of the DB Catalog setting for a database instead of using the defined DB Catalog. Also, this exit can process DL/I calls completely, for example, to map DL/I calls into VSAM I/O requests. Previously, this exit was available only for full function databases.

    To assist you with writing an exit, a template file, USERDB.CBL, and an explanatory text file, USERDB.TXT, are available with your IMS classic samples.

  • Visual Studio IDE support - a new context menu command, Show DBD List, for Visual Studio projects enables you to view a list of all generated databases used by the project.
  • JES Alias support - the JES aliasing feature can be used with IMS DLI and BMP applications run from JCL.

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.

JCL Support

Back to Top

The following features have been added to the JCL support:

  • The sample printer exit in the product has been enhanced to retrieve extended information. The structure defined by idadoutp.cpy now contains two new entries (ws)-extended-output and (ws)-extended-data. The item (ws)-extended-output contains the version of the extended output data; currently, this should be set to 1. The item (ws)-extended-data is a pointer, that if null means there is no extended data; otherwise, it points to a new structure defined in outpext.cpy. That structure contains the extended output information for a given job. This is demonstrated in the provided sample - sampprnx.

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 Database File Handler

Back to Top

Support for Db2 and Microsoft Azure databases has been added to the Micro Focus Database File Handler (MFDBFH). This support is equivalent to that of the existing databases.

The following features have been added for all databases:

  • I-O optimizations for sequential, line sequential, and ESDS/KSDS/RRDS files opened for output.
  • Using direct connection strings to make a database connection (as an alternative to using ODBC DSNs).
  • Creation of databases using script files.
  • Maintaining database configuration files with a command line utility, dbfhconfig.
  • Using the dbfhdeploy utility to delete data files from a datastore.
  • Database configuration files can now store confidential information in the Vault Facility.
  • CTF tracing of ODBC and Vault operations.
  • Recovering of locked processes or files can with the dbfhadmin utility.
  • The dbfhconfig and dbfhdeploy utilities are now capable of executing commands batched up in a response file.

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 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.
  • You can now produce a report file that can be opened and viewed in Microsoft Visual Studio. Use the -report:trx command line option to generate a .trx file.
  • 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.

The Microsoft Build Tools and Windows SDK Configuration Utility

Back to Top

On Windows, the Enterprise Developer setup file now installs the Microsoft Build Tools and the Windows SDK packages, as these are dependencies for a number of features and operations of the product.

You can use the Microsoft Build Tools and Windows SDK configuration utility to view the package versions in use in your COBOL environment. You can also use this utility to set the environment to use other versions of these packages that you have installed.

Multi-Threaded Applications

Back to Top

This release includes the following improvements:

  • Thread local storage optimizations - the thread termination in applications with many threads has been optimized.

PL/I Support

Back to Top

Enhancements are available in the following areas:

PL/I compiler

Improvements in the compiler make it easier to migrate existing applications to new platforms. Support is available for:

  • The GENERIC attribute on an ENTRY declaration.
  • The COPY option of the GET statement.
  • Assignment of an ENTRY to an ENTRY LIMITED variable.
  • The INONLY attribute.
  • Support for a SELECT with no WHEN or OTHERWISE modified to match IBM’s behavior.
  • Support for new compile option which allows specification of the FIXED DECIMAL precision for intermediate operations.
  • The ability to use LIKE on a structure that contains * for element names.
  • Built-in functions:
    • New functions - FIXEDDEC and FIXEDBIN
    • The TRIM built-in function to support its usage with structures.
    • The VALID function - improved support when used with FIXED DEC arguments.
    • Function precision of 15 or 31 (see the –bifprec compiler option)
  • PL/I bytestream IO via FILEREAD, FILEWRITE, FILETELL and FILESEEK statements.
  • Improved compatibility - when using DEFAULT RANGE with patterns; for use of the STRING pseudovariable.
  • Improved support for - structures declared with the LIKE attribute where the referenced structure members contained NOINIT attribute(s).

Improved functionality for customers using Open PL/I to develop z/OS applications is available:

  • Improved compiler listing to show attributes of parameters to an ENTRY declaration.
  • Improved expanded listing showing line numbers for code generated by preprocessors.
  • Improved compiler diagnostics when trying to use BIT operators on non-BIT operands.
  • Improved compiler diagnostics when an unqualified name is resolved to a structure member rather than a matching non-member declaration of the same name in a parent block - Informational (I-level) diagnostic (MFPLI01305I).
  • A string indicating which compiler was used to generate the object code is now embedded in every compiled routine to facilitate ease of upgrading and troubleshooting by customers.
  • *PROCESS statements are now mapped to the equivalent Open PL/I compiler options where appropriate.

PL/I EXEC preprocessor

  • Information about host variable references and modifications is now available for the background parsing.
  • %SDEBUG and %RDEBUG statements now indicate the line and column where the macro invocation starts or ends.

Macro preprocessor

  • Supports the new SOURCEFILE() built-in function
  • Improved compatibility for %DO statements
  • %SDEBUG and %RDEBUG statements now indicate the line and column where the macro invocation starts or ends

Run-Time System

  • Support is available for bytestream IO via FILETELL, FILESEEK, FILEREAD and FILEWRITE for RECFM(U) files.
  • Support for the COPY option of the GET statement.
  • It is now possible to use a STATIC FIXED BIN(31) variable to control the RECSIZE of a file at OPEN time.
  • The JCL utility IKJEFT01 can now be driven from PL/I as a callable interface.

Visual Studio Integration

Back to Top

The following enhancements are available:

  • New formatting options - you can now specify different indents for the parent and child items in group item data in Tools > Options > Text Editor > Micro Focus COBOL > Formatting > Data Division.
  • Tooltips for END delimiters - tooltips are available for END delimiters such as end-if, end-perform, or end-of-statement period. The tooltips show the opening statements.
  • Code style preferences - a new category of preferences, Tools> Options > Text editor > Micro Focus COBOL > Code Style, combines all Visual Studio preferences for the format and style of your COBOL code.
  • Lightbulbs - quick actions are available for inserting an end-of-scope terminator (such as END-IF), and for extracting sections to new programs.
  • Snippets - a new snippet for indexers is available.
  • Editor navigation bar - now shows the project that includes the file opened in the editor:

  • Uppercase mode in the COBOL editor - to toggle uppercase mode, click Force uppercase in the editor (Force upper case in the editor) in the COBOL toolbar, or enable it from Tools > Options > Text Editor > Micro Focus COBOL > Text Casing). With this option enabled, code you insert or paste in the editor, including snippets, is forced to upper case. This functionality must not be used with .NET COBOL.
  • Uppercase mode in the Assembler, BMS, IMS, and JCL editors - you can enable upper case from Edit > Advanced > Force Uppercase, or in Tools > Options > Text Editor, and from the pages of the specific programming language. This option applies to all code inserted into the source file, whether typed, pasted or automatically inserted.
  • QuickInfo - information in the QuickInfo details is now colorized.
  • Copybook properties - the Properties window now displays the full path for copybooks that are stored outside of the project.