The majority of the applications created with
Net Express or
Server Express will continue to work in
Visual COBOL without any changes. However, there are some differences between these development systems you should consider when you upgrade to
Visual COBOL.
Compiling and Building Differences
There are several aspects of compiling and building applications that behave differently in
Visual COBOL. You might need to change the project properties and update some of the Compiler directives and settings that you previously used.
- Output File Formats
- Each project compiles into a single file (.dll, .so or .exe), or to multiple files of the same file type with one output file for each source file (.dll, .so, .exe, .int, or .gnt). As well as an .lbr file, which contains a collection of .int and .gnt files on Windows, you now can use a .dll as the container for application components.
- Compiler directives
- When you upgrade your source code to
Visual COBOL some Compiler directives that were specifically designed for 16-bit systems now produce an error on compilation because they are no longer relevant. You should remove them from your code and directives files before you compile.
- Linking
- The static run-time system and the single-threaded run-time system on Windows are no longer required and they are not shipped with
Visual COBOL. Applications built with
Visual COBOL are now linked to the shared or dynamic run-time systems.
On UNIX, you can link to the single-threaded or multi-threaded shared or dynamic run-time system.
- Called Programs and Dependencies
- At run time, called programs are found in the same way as before. However, there are some new ways to set COBPATH and copy files into a common folder.
- File Handler
- The File Handler .obj files are not available in
Visual COBOL.
Visual COBOL uses the File handler packaged in the
mffh.dll file instead.
- Makefile Conversion
- You cannot use existing makefiles from inside
Visual COBOL for Eclipse without changing some Eclipse defaults and adopting a modified build process. Where makefiles invoke commands supported by
Visual COBOL they will continue to work as before. Please contact
Micro Focus for more information on using existing makefiles.
- OpenESQL Assistant
- The OpenESQL Assistant data source names (DSNs) in
Visual COBOL must be configured as
ODBC
- SQL Compiler Directive Options
- When you upgrade your SQL appplications to
Visual COBOL, some applications could require additional SQL compiler directive options to avoid compiler errors.
- XML PARSE Statement
- In
Net Express, the default setting for the XMLPARSE Compiler directive is COMPAT, which causes the XML PARSE statement to return information and events for IBM Enterprise COBOL Version 3. In
Visual COBOL, the default is XMLPARSE(XMLSS), which returns information and events for IBM Enterprise COBOL Version 4.
Run-Time System Differences
There are some differences between the run-time systems supplied with
Visual COBOL and those supplied with
Net Express,
Server Express and
Mainframe Express. These, however, do not affect your existing applications if you recompile them from the source code in
Visual COBOL.
- OpenESQL
- Visual COBOL sets the BEHAVIOR SQL Compiler directive option to MAINFRAME by default to provide optimal performance. To revert to the default behavior exhibited in Net Express, set the BEHAVIOR directive to UNOPTIMIZED.
- Single-Threaded Run-Time System
- The single-threaded run-time system is not available in
Visual COBOL on Windows. Instead, both single-threaded and multi-threaded applications run using the multi-threaded run-time system. This has no effect on your existing applications.
On UNIX, the single-threaded run-time system is available, so that applications can link with third-party code.
- Static-Linked Run-Time System
- The static-linked run-time system is not available in
Visual COBOL. Instead, you now link native code to the shared or dynamic run-time system. This has no effect on your existing applications.
- Setting the environment on UNIX
- You use the cobsetenv script to set your COBOL environment on UNIX.
- Visual COBOL Co-existing with Earlier Micro Focus Products
- Some additional configuration is required to ensure
Visual COBOL and
Net Express or
Studio Enterprise Edition work properly when installed on the same machine.
Restrictions and Unsupported Features
Some features in earlier
Micro Focus products are not available in
Visual COBOL. However there are alternative techniques for many of these features.
- CBL2XML Utility
- The CBL2XML utility is currently available as a command line tool only.
- Character-Mode Dialog System
- Support for creating character-based user interfaces for applications that run in character environments is available for
Visual COBOL if you install the
Compatibility AddPack for Visual COBOL which includes a compatible version of the Character-Mode Dialog System. The AddPack is distributed for free through the
Micro Focus SupportLine Web site.
- DBMS Preprocessors
- Earlier
Micro Focus products supported DBMS preprocessor versions that are not supported in
Visual COBOL. For a list of currently supported DBMS preprocessors, see the
Database Access Support with Native COBOL topic.
- Dialog System
- Dialog System applications are not supported in Eclipse but you can upgrade the non-GUI components of an application to Eclipse, and then recreate the GUI components using the GUI tools in Eclipse.
- Form Designer
- Form Designer is the
Net Express tool for creating user interfaces for CGI-based Internet and intranet applications. Form Designer and the HTML page wizard are not available in
Visual COBOL.
- FSView
- FSView is a utility for administering Fileshare servers. The FSView GUI is not supported in
Visual COBOL.
- GNT Analyzer
- GNT Analyzer is not available in
Visual COBOL. It has been replaced by
Test Coverage.
- Host Compatibility Option (HCO)
- Host Compatibility Option (HCO) is not supported in
Visual COBOL.
- INTLEVEL Support
- The INTLEVEL directive is rejected by the Compiler in
Visual COBOL.
- NSAPI
- There is no support for NSAPI in
Visual COBOL.
- Online Help System
- Net Express provided the Online Help System for creating online help from character-based applications, and displaying it on screen. It is not available in
Visual COBOL and the Online Help System information file type (.HNF) is not supported.
- OO Class and Method Wizards
- The OO Class and Methods wizards are not available in
Visual COBOL. However, the run-time components for the base and COM OO class libraries are available.
- OpenESQL
- In both Net Express and Studio Enterprise Edition, support is provided for Oracle OCI in OpenESQL.
Visual COBOL does not support Oracle OCI in OpenESQL.
- Solo Web Server
- The Solo Web server in
Net Express enabled you to debug CGI-based Internet applications on the same machine you used to develop them. It is not available in
Visual COBOL.
- SQL Option for DB2
- SQL Option for DB2, also known as XDB, is not supported in
Visual COBOL.
- Type Library Assistant
- Type Library Assistant is not included in
Visual COBOL but the run-time components for the COM and the OO COBOL libraries are still available.
- UNIX Publish
- The UNIX Publish feature is superseded by the remote development functionality in
Visual COBOL for Eclipse. You use
Visual COBOL Development Hub, a remote development server to host your source code and you use the Eclipse IDE on your local machine as the development interface.
Run-Time Technology Differences
Some technologies behave differently in
Visual COBOL and this might affect how you upgrade existing applications.
- COM Interop
- The tools to help create COM objects are not supplied with
Visual COBOL. However, the COM run-time components are supplied, so that COM is supported and your applications can interoperate with existing COM objects.
- File Handling
- The way you integrate your own security modules into Fileshare has changed. Also, the FILEMAXSIZE setting is different for
Visual COBOL and for
Net Express and
Server Express
.
- Java and COBOL
- The
cobsje script is not available in
Visual COBOL for Eclipse on UNIX.
Visual COBOL uses the COBOL run-time system to load JVM based on LIBPATH, LD_LIBRARY_PATH, JAVA_HOME etc...
- Test Coverage
- Code coverage for native COBOL applications available from within the IDE in
Visual COBOL integrates the Test Coverage functionality.
Editing and Debugging Differences
Much of the edit and debug functionality in
Net Expressand
Server Express is available in
Visual COBOL, but some of it has a different name or slightly different behavior. In addition there are some new features such as background parsing.
- Data Tools
- The Net Express Data Tools are available in
Visual COBOL for Eclipse on Windows, but not on UNIX.
- Debugging Native Object-Oriented COBOL
- In
Net Express you can examine an object while debugging OO COBOL and display the class that defined the object and also other objects derived from that class. In
Visual COBOL, you can also view the class information of native OO COBOL but not while debugging.
- Mixed Language Debugging
-
With
Net Express you can debug mixed language applications.
Visual COBOL does not
fully
support mixed language debugging of native code.
- Program Breakpoints
- Program breakpoints are breakpoints that stop execution each time a specified program or entry point within the program is called. They are supported in
Visual COBOL, but by default their behavior is different from their behavior in Net Express
- Remote Debugging
-
The
Net Express animserv utility used for debugging programs remotely has been replaced by
cobdebugremote (Windows) or
cobdebugremote32 (UNIX) (or
cobdebugremote64 when debugging 64-bit processes) in
Visual COBOL.
- Source Pool View
-
The source pool view in
Net Express showed all source files available in the project directory, regardless of whether or not they are used in the current build type. This view is not available in
Visual COBOL.