ここでは、Enterprise COBOL でサポートされていない SOM ベースの OO COBOL 言語エレメントについて説明します。以下の考慮事項は、SOM ベースの OO COBOL を使用するアプリケーションを、Enterprise COBOL でサポートされる Java ベースの OO COBOL 構文にマイグレーションする場合に適用されます。
- SOM への呼び出し
- SOM サービスへの呼び出しはサポートされません。
- INHERITS 文節
-
- CLASS-ID 段落の INHERITS 文節に複数のクラス名を指定する (多重継承) ことはサポートされていません。
- COBOL クラスは最後に java.lang.Object クラス (SOMObject または SOMClass ではなく) から
派生する必要があります。INHERITS 文節に基底クラスとして SOMObject を指定することはサポートされていません。
- INHERITS 文節に基底クラスとして SOMClass を指定する (メタクラスを定義する) ことはサポートされていま
せん。Java ベースの OO COBOL クラスは、FACTORY セクションを指定して、論理的にクラスのクラス・
オブジェクトの一部である静的メソッドを定義することができます。
- INVOKE
-
- INVOKE ステートメントの引数リストおよびメソッドのパラメーター・リスト (PLIST) は、Java 型にマップするデータ型に制限され、BY VALUE によって渡されます。
- INVOKE ステートメントに SUPER を修飾するクラス名を指定することはサポートされていません。たとえば、以下の構文を使用することはできません。
INVOKE C OF SUPER "foo"
ただし、以下の構文は
Enterprise COBOL でも引き続きサポートされます。
INVOKE SUPER "foo"
- METACLASS 文節
-
- CLASS-ID 段落の METACLASS IS 文節はサポートされません。
- オブジェクト・リファレンスを定義する USAGE 文節の METACLASS OF 文節はサポートされません。
- METHODS
-
- METHOD-ID 段落の OVERRIDE 文節はサポートされません。
- SOM 基底クラスのメソッド (somNew、somFree、somInit など) の使用はサポートされていません。