Features Added in Enterprise Developer 2.2 Update 1

This release provides enhancements in the following areas:

Micro Focus Heartbleed Update

This product includes OpenSSL version 1.0.2j.

AppMaster Builder

This release provides updated AppMaster Builder support that integrates more fully into the Eclipse IDE. In addition, the following enhancements have been added:
  • Code generation and compilation in an Eclipse COBOL project
  • Enhanced Program Painter
  • Enhanced Job Queue

Assembler Support

This release provides Assembler support from within the IDE. Features include:

  • Support for creating Assembler programs (.mlc extension), macro files (.mac or .cpy extenstions) or Assembler linker files (.lin) from within the IDE.
  • Support for building Assembler programs and for linking Assembler linker files from within the IDE. You can choose to exclude certain files from the build.
  • Assembler editors for Assembler and macro files - includes content assist for reserved words and colorization.
  • Support for using Ant for building .asm, .mlc and .cap files and for linking .lin files.
  • IDE support for configuring the Assembler compiler and linker options on project, build configuration and file levels.
  • Configuring the macro paths.

Btrieve Support

Support for the Btrieve file handling system from Pervasive Software Inc. has been added into Enterprise Developer.

Support is restricted to native COBOL, in a Windows environment.

COBOL Source Information

The Quick Browse option is now available as a context menu command in the editor.

Compare and Synchronization Monitor

Note: This feature is only available in a Windows environment.

With the release of Enterprise Developer 2.2 Update 1, the Compare and Synchronization Monitor has been updated to version 2.

Version 2 is greatly improved in terms of performance, especially during initial checkout of partitioned data sets or when synchronizing a large number of members. Also, the user interface has been improved, and some of the functions available in the old version have now changed or become obsolete.

Compiler Directives

The following Compiler directives have been added in this release:
ILPARAMS
Determines the way in which you call a method that contains an array as its last receiving parameter.
INIT-BY-TYPE
Initializes Working-Storage Section data items to a default value, according to their type.
  • Alphabetic, alphanumeric, alphanumeric edited, and numeric edited items are initialized to spaces.
  • Numeric items are initialized to zero.
  • Pointer items are initialized to null.
  • Index items are initialized to the value 1.

Database Access

The following new features have been added as part of database access support:

HCO for DB2 LUW
  • Support added for DB2 LUW version 10.5.
  • Enhanced RETURN-CODE processing.
  • The HCO DDL processor now accepts column names with a length greater than 18 characters.
  • The HCO Import Data tool now processes CLOB data less than 32K in size.
  • The HCO Import Data tool can now convert DSNTIAUL import files to delimited format, enabling the actual import to be done by DB2 LUW IMPORT and LOAD utilities. This is done using the new SAVEDEL and CHARDEL parameters.
HCO for SQL Server (HCOSS)
  • Support for the mainframe SET CURRENT SQLID statement.
  • Support for the mainframe LEFT and RIGHT scalar functions.
  • Data Migration tools now support the mainframe ALIAS and SYNONYM objects.
OpenESQL
  • Enhanced internationalization support for UNICODE, DBCS and MBCS.
  • Enhanced GET DIAGNOSTICS statement support.
  • Enhanced LOB support for CLOB, BLOB and DBCLOB data types.
  • Enhanced IDE support for OPTION directives.
  • Now provides support for the creation of save points and rolling back to save points.
XA Switch Modules
Restriction: This feature applies only when the Enterprise Server feature is enabled.
  • New two-phase commit module for SQL Server based on Microsoft's XA switch. This provides support for xa_recover.
  • Support for DB2 LUW version 10.5.
  • Support for Oracle version 12.1.

Eclipse IDE

Assigning memory to Linkage Section items
If the debugger steps on a line with an unassigned linkage item (for example, if you are debugging only a part of your application and no memory has been allocated to that linkage item), debugging terminates. To assign linkage to that data item and continue debugging, you need to select the data item, right-click it and click Inspect COBOL. When prompted, confirm and assign a value to the data item. Alternatively, to assign linkage, you can right-click the data item in the Variables view and click Change Value.
Debugging Windows Services
It is now possible to debug Windows services. You must be logged on to the console of the computer running the service and can debug either using just-in-time debugging and a CBL_DEBUGBREAK call, or using library routines and a "COBOL Wait for Application Attachment" debug session having added a call to CBL_DEBUGBREAK or CBL_DEBUG_START to the application.
Indicating that a file is a copybook or a COBOL program
In COBOL Explorer, you can now use two new file context menu commands to indicate that a COBOL program is a copybook (Transform Program to Copybook) and that a copybook is a COBOL program (Transform Copybook to Program). You may need to use these in situations when you imported existing COBOL source code in the Eclipse IDE and some of the files were incorrectly identified as either a copybook or a COBOL program.

Enterprise Server Integration in the IDE

You can now use the context menu for the servers in Server Explorer to enable the display of the Enterprise Server log information in the Console view.

Enterprise Server MQ-IMS Bridge

Attention: This feature is in Early Adopter Product (EAP) release status. We intend to provide the finalized feature in a future release. Please contact Micro Focus SupportLine if you require further clarification.

This release provides support that enables WebSphere MQ applications to communicate with IMS applications in an Enterprise Server region.

Environment Variables

The following environment variable has been added in this release:
strictvsam
strictvsam enables strict mainframe emulation when processing VSAM files.
When set to ON and running under mainframe emulation, file status 37 is returned for an existing VSAM file when opened for OUTPUT if the file has data or previously had data written to it, or if the file is of a different format to the file on disk. When set to OFF, file status 0 is returned and a new file is created when an existing VSAM file is opened for OUTPUT. This variable is set to OFF by default.

Fileshare Recovery

Recovery of Fileshare data files has been enhanced.

Rollback recovery is a faster process that aims to fix the files from their failed state.

This process cannot be used in all scenarios, but a new user exit has also been introduced that allows you to programmatically control which files you wish to recover with this process.

Hot backups are also a new introduction, which allow you to perform a backup without having to shut down Fileshare.

Line Numbering for COBOL Programs

This release provides options for auto-inserting or removing line numbers in source files open the editor. Features include:

  • COBOL numbering - line numbers are inserted in the sequence area of the code (columns 1 - 6), starting by default at 000100 at the first line, incrementing by 100 by default.

    Micro Focus recommends that you use COBOL numbering only if your files are in fixed or variable source format.

  • Standard numbering - line numbers are inserted immediately to the right of area B, in columns 73 - 80, starting by default at 00000100 at the first line, incrementing by 100 by default.

    Micro Focus recommends that you use Standard numbering only if your files are in fixed format.

  • The Renumber and Unnumber commands available from the context menu in the editor.

Local Catalog

From within Server Explorer in the IDE, you can add one or more local catalogs, and then use them in conjunction with Drag and Drop to drag down data set items from your mainframe, edit them and then move them back to the mainframe or to your testing environment.

IMTK

You can now use the Interface Mapping Toolkit to create Web Services and Java Interfaces for remote COBOL projects.

Working with the Mainframe

This release includes the “Launch ISPF” functionality as a technical preview. This feature is supported only under z/OS 1.13.

Mainframe Emulation

Previously, MGMTCLAS was supported by simply saving it on the catalog record when a dataset was allocated in JCL using the MGMTCLAS parameter on the DD statement. Starting with this release, you can use batch jobs to define MGMT classes and to specify the EXPIRE AFTER time (in days).

Mainframe Subsystem

New editors
Enterprise Developer now provides special editors for REXX, TSO CLIST and Easytrieve programs. The editors include colorization and content assistance. Syntax checking is not available.
Casspool performance enhancement
As part of an enhancement to improve performance when browsing the spool queue of an Enterprise Server, you must update the casspool file for any Enterprise Server created before Enterprise Developer 2.2 Update 1 before you can submit jobs to it.
To update the casspool for each Enterprise Server, from a command prompt, run fixcasspool.bat (Windows) or fixcasspool.sh (UNIX), located in %COBDIR%\bin and %COBDIR%\bin64 (Windows) or $COBDIR\bin (UNIX), using the following syntax:
fixcasspool.bat casspool.dat backup.dat

or

fixcasspool.sh casspool.dat backup.dat
where:
casspool.dat
is the spool file, located in the same directory as the Enterprise Server's system catalog, that will be updated.
backup.dat
is a file that will be created with a backup of the old casspool.dat file. If backup.dat already exists, the update is not run.

If you do not update casspool and attempt to start Enterprise Server, the following messages are displayed in the console:

JES000011E Batch Spool File Error; Status [39]

JES000130E Note JES000011 Error - New casspool indexes may need generating. See error description in product docs

Managed COBOL

Enterprise Developer now provides support for Java managed beans (MBean) in JVM COBOL code that enable you to manage and monitor RunUnits, and to identify certain issues such as leaks and long-running RunUnits.

  • You can enable an MBean only for a particular RunUnit level or for all RunUnits you create.
  • You can view and use MBeans from programs such as Oracle's Java Mission Control or JConsole.
  • MBeans include the LogicalRunUnitCount and LiveRunUnitCount attributes that enable a visual indication of how many RunUnits are live. If the values of these two attributes are different, this might indicate some issues.

This release also includes the following tutorials for JVM COBOL:

Deploying JVM COBOL to an Application Server
Using some ready-made sample projects, this tutorial guides you through implementing your JVM COBOL code into an Enterprise JavaBean (EJB), then deploying it to a JBoss application server. Instructions are also included on how to deploy the application to WebSphere and WebLogic application servers.

Managed COBOL Syntax

This release includes the following enhancements to the managed COBOL syntax:

Specifying parameters in the method signature
You can now specify passing parameters and returning items in the method signature, instead of using a Procedure Division header. This applies to methods, indexers, iterators, constructors and delegates.
CONSTANT keyword
Use the CONSTANT keyword on a field to protect it from being altered.
Operations on string fields
You can now use the STRING, UNSTRING and INSPECT statements on fields of type string.

PL/I

PL/I support within the IDE now includes the following enhancements:

  • Support for new built-in functions

    The PL/I Compiler and Runtime now support the following new built-in functions:

    • DAYS
    • DAYSTODATE
    • SECSTODATE
    • SECS
    • WEEKDAY
    • DAYSTOSECS
    • ONSUBCODE
    • REPATTERN
    • IAND
    • IOR
    • INOT
    • OMITTED
    • XMLCHAR

    This provides an improved functionality and a greater language compatibility when you migrate applications from a z/OS environment.

  • Support for %OPTION in the PL/I macro preprocessor

    You no longer need to modify application code that uses %OPTION in order for it to compile successfully.

  • Support for QUOTE() and COMMENT() built in functions.

    This enables the use of PL/I macros that generate code using these built-in functions.

  • Support for IBM Style %INCLUDE(s) that utilize PDS name as part of include file names.
    The PL/I macro preprocessor now parses the %INCLUDE syntax of the form shown below and utilizes the –isuffix and –ipath Compiler directives to locate the “member”.
    %INCLUDE MYPDS(MYMEMBER);
    This provides an improved language compatibility with the application code without the need to modify the original underlying source code.
  • Support for PL/I AREA data items up to 2Gb.

    Open PL/I now supports the declaration and usage of variables of type AREA up to 2Gb in size. This provides you with improved functionality and greater language compatibility when migrating applications from a z/OS environment as there is no need to modify the code in order to deal with a maximum area size of 32Kb.

  • Enhanced compatibility with the DISPLAY() REPLY() syntax.

    The PL/I Compiler and runtime now provide a DISPLAY() REPLY() syntax that is no longer dependent upon the use of the SYSIN and SYSOUT DD’s and that no longer causes behavioral differences if stream IO to SYSIN/SYSOUT is intermingled with programs using DISPLAY() REPLY().

  • Support for big-endian style bit strings on little-endian platforms.

    Using a new Compiler directive –bitsltr to compile programs that have logic that is dependent on big-endian bitstring ordering enables you to utilize the code unchanged on Open PL/I little-endian platforms (such as Windows, Red Hat Linux, SUSE Linux). This enables you to migrate applications that make an assumption about bit ordering on the underlying operating system or hardware and to run them unchanged.

  • Support for the –initcall Compiler directive.

    Compiling a PL/I program with the –initcall directive causes the specified program to be invoked prior to any user logic. This enables you to customize your environments and do things such as tracking which routines have been invoked, detect memory corruption prior to routine startup, establish database connectivity.

  • Support for the “F” option in PLIDUMP.

    A PLIDUMP which was generated using the “F” option will now attempt to list all known information about files which have been accessed during the execution of the program and includes information about the last IO operation, key values, and a dump of buffers, if available. This enables you to identify more easily the cause of file-related failures and what file operations were in progress at the time of failure.

  • Early Adopter support for PL/I data structures Data File Tools.

    In the IDE, you can now generate a PL/I structure map (.str) which can be utilized by the Data File Tools utility to generate a formatted layout for a PL/I Data File. The PL/I data structure must be compiled in advance with the -adt Compiler directive. This enables you to see what is in each field within a PL/I data file record, and to modify them in a logical way without having to know the offset, length and raw format of the data item.

  • Support for PL/I debugger notification for ON Unit invocation.

    You can now request that the debugger stops when a PL/I ON Unit is about to be triggered. This enables you to locate the ON Unit, establish appropriate breakpoints within the ON Unit and determine the cause of the ON Unit being triggered.

  • Support for PL/I debugger notifications for the load of shared libraries and .dll files.

    You can now request that the debugger issues a notification when a shared object or a .dll file has been dynamically loaded. This enables you to stop a program when a dynamic program has been loaded and to establish the appropriate breakpoints, watch lists, etc.

  • Alternative Index Performance Improvements for the CASSPOOL command.
  • Support of the SHAREOPTIONS property in a VSAM cluster.
  • Support for setting directives automatically for PL/I files.

    In Eclipse, click Window > Preferences > Micro Focus > PL/I > Directives Determination.

  • A new page in the project and file properties enables you to set SQL directives on PL/I source files.

Preprocessors

A guide for third-party vendors and administrators showing how to integrate additional preprocessors with Enterprise Developer is now available in the product help in the General Reference > Integrated Preprocessor Interface section.

Project and Item Templates

Support is now available for using existing projects and files as custom templates to create new projects and files. You create and configure projects that include the files and settings you would like to use as templates.

Remote Connections

Enterprise Developer now provides a new connection type, Micro Focus DevHub using SSH, that uses a Secure Shell daemon process to launch a server on the remote host.

You can use this type of connection when the UNIX machine you are connecting to uses LDAP authentication which is not supported by the DevHub daemon.

Using this connection also means you do not need to run the DevHub daemon process with root privileges. It also gives you greater flexibility in setting environment variables needed for building or debugging on the remote server.

Rumba Integration with Eclipse

This release provides enhanced integration with the Micro Focus Rumba application for running and debugging Mainframe Subsystem applications that require a TN3270 emulator to run. You can now configure Eclipse to launch a Rumba mainframe display embedded in the IDE or a mainframe session of Rumba Desktop.

Run-time Launch Configuration Files

Note: This feature is only supported in a Windows environment.

Use a run-time launch configuration file to ensure an application can be launched when it is deployed in a separate location to the run-time system (in the case of dynamically bound applications), or when the licensing daemon is not already running.

Terminfo Files

The following terminfo files have been added:

  • ansi80x25 - this is based on the old ansi file. A newer version of ansi exists in this release that has no function key support, which is consistent with ansi terminfo files on various other UNIX platforms. If you currently use ansi and require function key support, you should instead set the TERM environment variable to ansi80x25 to continue previous behavior.
  • xterm-color and kterm-color - these are now available on all UNIX platforms - previously, they were only available on Linux.
  • aixterm-old (AIX systems only) - this has similar capabilities to the AIX OS terminfo file of the same name. It differs from the existing aixterm file, because it has no line drawing capability. Line drawing is only possible with aixterm if it is displayed on an appropriate display (X server).
  • vt220-w - this is the wide (132-column) version of the vt220 file, and is based on the vt100-w file. For more information, see Wide Terminal Mode in the documentation referenced at the bottom of this section.

There have been a number of additions and fixes to existing terminfo files; refer to the Terminfo Database and Terminal Devices section of the documentation for full details.

There have also been a number of terminfo files that have been removed; refer to the Backward Compatibility section for a complete list.