Features Added in Visual COBOL 2.1

Note: There are differences between the variants of Enterprise Developer you might have installed. Enterprise Developer Personal Edition provides a development environment that supports analysis, editing and syntax checking of COBOL and mainframe programs outside of the mainframe environment. It does not, however, support off-mainframe debugging, unit testing, or building of projects. To build, debug, and execute the demonstration application, you need Enterprise Developer.

Visual COBOL Enhancements

Building to .int, .gnt, and .lbr files

All sources for native COBOL and mainframe subsystem projects can be built to either .int or .gnt files. Native COBOL projects can optionally be bundled into an .lbr file.

Compiler directives

The following new Compiler directives are now available:

DISPLAY
Defines the default behavior of standard DISPLAY statements.
COMP1
Specifies the behavior of a COMP-1 data item.
COMP2
Specifies the behavior of a COMP-2 data item.
RESTRICT-GOTO
Generates a syntax error for GO TO statements that transfer control to outside of the current section.
ILSMARTRESTRICT
Limits the generation of properties in ILSMARTLINKAGE classes to non-redefining elementary items.

The following Compiler directive has changed:

  • DATAMAP - Two new parameters allow you to display either the address or offset values for data items in your program.

Enterprise Server

  • CICS External Call Interface (ECI) - Micro Focus proprietary support for ECI is now available. ECI uses the Micro Focus BINP protocol and negates the need for third-party middleware. For more information about ECI support, read the section IBM External Call Interface (ECI) in your product help.
  • Enterprise Server Batch Clustering is now available as a technology preview. Features include:
    • Support for sharing of both the catalog and spool between multiple batch regions is included as a technology preview.
    • Allows multiple batch regions to share commonly configured resources by providing global locking facilities to manage contention.

    For further details about this feature, contact your Micro Focus technical account management team.

  • Micro Focus Batch Scheduler Integration solution - enables you to submit, execute, and feedback between Enterprise Server and a scheduler that controls JCL job execution.
  • Support for running TSO commands in a TSO batch session using the IDAEFT01 (IKJEFF01) utility is now available.
  • The mfds –x export command line option has been extended to support repository export to an XML-format file. The syntax is as follows:
    mfds -x [repository type] [repository address] [server name] <opts> <user id> <password>

    Where:

    [repository type]
    • 1 = file:///
    • 5 = XML
    [server name]
    * = export all servers
    <opts>
    • D = (default) do not delete or overwrite any existing repository contents at specified location
    • O = delete and overwrite any existing repository contents at specified location
    • S = export server and security manager configuration
    <user id> and <password>
    the MFDS credentials required if administration access is restricted
  • The new –g option is used to allow XML format repository import. The syntax is as follows:
    mfds -g [repository type] [repository address] <opts> <user id> <password>
    [repository type]
    5 = XML
    <opts>
    Not currently in use.
  • XML repository import - extends the MFDS repository export to XML and import from XML introduced in Visual COBOL 2.0 to UNIX platforms. This allows administrators to export, modify and then reimport Enterprise Server instance configuration data in XML format.

Mainframe Access

Eclipse-based Drag and Drop GUI
This release provides a new Eclipse-based Drag and Drop GUI (mfdasmx2) which replaces the GUI used previously, mfdasmx.exe.
MFA Server
MFA Server has been updated to version 4.00 (BASE), and provides the following enhancements:
  • Double-byte character support using the following code pages:
    • Traditional Chinese with Taiwanese additions (BIG5)
    • Korean (KSC5601)
    • Simplified Chinese (SCHINESE)
    • Japanese - Kanji (SJISKANJI)
    • Traditional Chinese (TCHINESE)
  • Additional qualifiers for use with the new code pages:
    default
    EBCDIC SI/SO added on upload, removed on download
    -SOSI-K
    EBCDIC SI/SO assumed on upload, preserved on download
    -SOSI-A
    ASCII SI/SO assumed on upload, preserved on download
    -SOSI-S
    Spaces converted to SI/SO on upload. SI/SO converted to spaces on download
    Note: This will only work correctly with text that originates on a host.

Just-in-time debugging

Eclipse now supports "Just-in-time" debugging: when a run-time error occurs, or an application calls CBL_DEBUGBREAK, Eclipse starts automatically with the debugger attached to the failed process.

OpenESQL

JDBC
JDBC has been enhanced to support two new directives:
JNDI
Enables you to specify a JNDI class that looks up connection strings.
JNDIENC
Enables applications to use the JNDI Environment Naming Context (ENC) when looking up JDBC data source names using JNDI.
ODBC
Added support for a generic one-phase commit for ODBC XA switch module.
SQL Compiler Directive Options
OpenESQL has been enhanced to support the following new SQL compiler directive options:
DATE
Controls the reformatting of date values in output parameters and in input parameter character host variables when DETECTDATE is also specified.
TIME
Controls the reformatting of date values in output parameters and in input parameter character host variables when DETECTDATE is also used.
DATEDELIM
Specifies a single character as the delimiter between the year, month, and day components to override the default delimiter determined by the HCOSS DIALECT or DATE directive specification.
TIMEDELIM
Specifies a single character as the delimiter between the hour, minute, and second components to override the default delimiter determined by the HCOSS DIALECT or TIME directive specification.
TSTAMPSEP
Specifies a single character as the separator between the date and time parts of timestamp and date/time data.
SQL Server
We now support Microsoft SQL Server 2012.

Tutorials

The following tutorial is now available in the Getting Started section in your product help:

Managing the Mainframe in Eclipse
This tutorial shows you how to develop and debug applications on or off the Mainframe. The tutorial is based on the Bankdemo sample application.

UNIX and Linux platforms support

Visual COBOL Development Hub enables you connect to remote UNIX machines and use them to create, edit, and debug all project types. The following systems are supported:

  • POWER running AIX 6.1 TL7 SP5/7.1 TL1 SP5 - 32/64-bit
  • x86-64 running Red Hat Linux 5.5/5.8/5.9/6.3/6.4, Oracle Linux 6.3 with Red Hat Kernel compatibility mode, Oracle Linux 6.3 with Unbreakable Enterprise Kernel - 32/64-bit
  • SPARC running Solaris 10/11/11.1 - 32/64-bit
  • x86-64 running SUSE SLES 11/11 SP2/11 SP3 - 32/64-bit
  • System Z running SUSE SLES 11 SP2/11 SP3 - 32/64-bit
  • System Z running Red Hat Linux 6.2/6.3- 32/64-bit
  • HP IA 11.31 - 32/64-bit

Working with mainframes

now includes direct access to the mainframe from within Eclipse. This functionality provides the following features:

Direct access to the mainframe
The mainframe environment is integrated directly into the Eclipse IDE. Developers can use the Remote Systems Explorer view to the mainframe and directly access it with the JES Explorer and MVS Explorer views to:
  • Browse and edit their data sets
  • Edit and Submit jobs for execution
  • Run ISPF dialogs
  • Review Job output on the spool or catalog
Remote mainframe development
Developers now have full control of development activities directly on the mainframe. This means from within a single IDE you can:
  • Integrate directly to mainframe source control systems to check out, check in, and promote members directly to your personal mainframe area.
  • Use smart editing capabilities such as - Background Parsing to detect syntax errors as they are entered; Content Assist when writing COBOL code; Source Outline view and navigation when editing programs that are on the mainframe.
  • Syntax check and compile applications directly on the mainframe while the error messages are output to the Eclipse editor which ensures compilation issues can be quickly viewed and resolved.
  • Unit test applications on the mainframe, and even run debug sessions directly from the Eclipse IDE if you have the debugging tools on the mainframe.
Easy customization
includes a unique component called Workflow Manager, a graphical modeling tool that allows you to customize quickly the Enterprise Developer Eclipse-based User Interface and directly integrate tools, such as source control, either directly on the mainframe, or on the workstation. This means that your development environment is fully customizable and you can integrate familiar development workflow in Eclipse. Workflow Manager means:
  • Complete integration with major source control systems out-of-the-box becomes possible.
  • You can create predefined models to support different development processes. These can be managed and deployed centrally.
  • There is no requirement to develop Eclipse Java plugins in order to extend the IDE User Interface which puts you in control.
  • Comprehensive and deep integration becomes affordable.
  • Developer acceptance is high and productivity gains are realized.

General Enhancements

JVM auto-runtime

If you are developing a COBOL JVM project, you don't have to choose whether to use the native or pure JVM file handling systems. You can use just one runtime that configures itself for the environment it is executing in.

Managed code enhancements

Delegates and Events
Delegates and events are now implemented on the JVM platform.

This release provides support for combining delegates, using the METHOD keyword to specify method groups, and implicit conversion from a method group or an anonymous method to the suitable delegate type.

Handling Invalid Numeric Data
The handling of invalid numeric data is controlled by a number of Compiler directives: HOSTNUMMOVE, HOSTNUMCOMPARE and SIGNFIXUP. These directives were previously only available in native code but are now supported in managed code.
Resolving Types
In this release, the Compiler attempts to resolve types to those defined in the current compilation unit wherever possible. The Compiler will attempt to resolve such types to an external name only if no suitable type exists in the current compilation unit. For example:
$set ilusing"System"
class-id MyNamespace.EventHandler.
01 o type EventHandler.                       
end class.

In this release, 01 o type EventHandler. resolves to MyNamespace.EventHandler and not to System.EventHandler.

Specifying Properties
In previous versions of the products, properties declared using the PROPERTY keyword on a data item were generated as final properties. Starting with this release, they are generated as virtual properties by default. In order to make the properties final, you need to specify the word FINAL following PROPERTY. This change may affect the generation of Proxy classes, for example, if you are using WCF.