Considerations When Moving to Managed Code

Certain technologies have restrictions or may not be supported in managed code. Before you make the move to managed code, you need to consider the following:

Database Support

You can use OpenESQL with the SQL(DBMAN=JDBC) directive to compile your managed applications. Micro Focus tries to maintain as much source code compatibility as possible between the OpenESQL native and managed code run-time systems. Although each run-time system has extensions, limitations, and differences that are imposed by the underlying database APIs and execution environments, the majority of embedded SQL statements such as DECLARE CURSOR, OPEN, FETCH, CLOSE, SELECT, INSERT, UPDATE, DELETE, CONNECT, DISCONNECT, COMMIT and ROLLBACK, are completely compatible and require no change.

The JDBC run-time system supports object host variables as well as traditional COBOL host variables.

The following restrictions apply to database support in managed code:

  • Applications that use output parameters from stored procedure calls must use the COBOL directive NOILNATIVE, and object host variables cannot be used for output parameters on stored procedure calls.

Library Routines

Certain library routines are only supported in native code. See the Library Routines section of this documentation for details on the routines you can used in managed code.

Managed and Native Code

You can call native code from managed code although there are some environments that could prohibit this. .

Modernization of the User Interface

Visual COBOL offers great options for modernizing your application's user interface. You can use Java Swing in the JVM. Be aware that there might be potential issues depending on the application architecture and how tightly the original user interface is tied to the back-end module.

Object-Oriented Programming

You can still write and use procedural COBOL that compiles and runs in managed environments such as the JVM. However, to take full advantage of all features available in a managed environment, and to be able to expose your code to other managed languages, you might need to start using managed COBOL syntax. For information about writing managed COBOL code, explore the following resources:

  • An Introduction to Object-Oriented Programming for COBOL Developers, available on the Micro Focus SupportLine Web site - click here to download it.
  • Study the samples contained in the Moving to JVM section of the Visual COBOL Samples samples browser installed with Visual COBOL.

Third-party Software

Examine your existing procedural code for any third-party APIs that make calls to the operating system. Technology provided by other software vendors might need to be rewritten for use with managed code.