Features Added in Enterprise Developer 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 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

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

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:

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

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

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.

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

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:

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

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 debugger in Eclipse

Support is available for the following features:

  • STEP out of the end of an ON Unit.

    When stepping off the end of a PL/I ON-unit, the debugger attempts to determine the next debuggable statement, and then pause execution. This allows you to continue stepping through the program upon completion of the ON-unit. Stepping through a PL/I GOTO statement from an ON-unit continues to be supported as well.

  • Improved monitoring of variables that is not based on the procedure in which they are declared.
  • Support for debugging PL/I application using Solaris (SPARC) 11.4 or later.
  • PLIDUMP now generates information for STATIC variables and displays the HEAP data storage.
  • Changes have been made to remove the variable scoping limitation which existed in previous releases. Prior to this version, variable watches were limited to the procedure in which they were declared/used. If a variable was passed to another subroutine, the debugger would only stop after returning from that subroutine and recognizing that the variable value had been changed - so it wasn't possible to know exactly where in the subroutine it had happened unless an additional variable watch was set in the subroutine itself.

    In this release, the variable's address and size are now being stored away for watch instead of the procedure name and variable name. This allows the address/size to be monitored from the time it is established until you cancel the watch. By doing this, the debugger is stopped as soon as it recognizes a change of value - regardless of where it is in the user program.

    Since the watch is active until you cancel it, it is possible to be watching an address/size which is no longer allocated or active depending on the flow of the user program. In this situation, execution will be stopped if/when the memory space is reused for some other reason.

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.

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 Enterprise Developer. Requesting F1 help from within Eclipse now opens the documentation available on the Micro Focus Customer Care 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.