Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


SOM-based object-oriented COBOL language elements that are not supported

This section describes the SOM-based OO COBOL language elements that are no longer supported in Enterprise COBOL. The following considerations apply when you migrate applications that use SOM-based OO COBOL to the Java-based OO COBOL syntax supported in Enterprise COBOL:

Calls to SOM
Calls to SOM services are not supported.
INHERITS clause
  • Specification of more than one class name on the INHERITS clause of the CLASS-ID paragraph (multiple inheritance) is not supported.
  • COBOL classes must be ultimately derived from the java.lang.Object class (rather than SOMObject or SOMClass). Specification of SOMObject as a base class in the INHERITS clause is not supported.
  • Specification of SOMClass as a base class in the INHERITS clause (defining metaclasses) is not supported. Java-based OO COBOL classes can specify a FACTORY section, defining static methods that are logically part of the class-object for the class.
INVOKE
  • Argument lists on INVOKE statements and parameter lists for methods are restricted to data types that map to Java types and that are passed BY VALUE.
  • Specification of a class-name that qualifies SUPER in the INVOKE statement is not supported. For example you cannot use:
    INVOKE C OF SUPER "foo"
    However, the following syntax continues to be supported in Enterprise COBOL:
    INVOKE SUPER "foo"
METACLASS clauses
  • The METACLASS IS clause of the CLASS-ID paragraph is not supported.
  • The METACLASS OF clause from the USAGE clause, which defines object references, is not supported.
METHODS
  • The OVERRIDE clause of the METHOD-ID paragraph is not supported.
  • Use of methods from SOM base classes such as somNew, somFree, and somInit are not supported.

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)