ページの本文へ

Hitachi

ソフトウェアミドルウェア

COBOL2002:FAQ:移行性・互換性に関するご質問

Q1. COBOL2002製品は、上位互換がありますか?

COBOL2002製品は、上位互換があります。COBOL2002で作成したプログラムは、そのバージョン、リビジョンが同じか、それ以降のバージョン、リビジョンの運用環境で動作させることができます。バージョン、リビジョンが同じかそれ以降の運用環境であれば、修正パッチ番号(※1)は同じでなくても動作させることができます。
例えば、Windows版COBOL2002 04-00-02で作成したプログラムをWindows版COBOL2002 04-00やWindows版COBOL2002 04-10の運用環境で動作させることはできますが、Windows版COBOL2002 03-05の運用環境で動作させることはできません。
注※1 修正パッチ番号とは、製品のバージョン、リビジョンを表す「vv-rr-ss」の「ss」(2けたの数字)の部分を示します。

Q2. Windows版COBOL85 Version 7で作成したプロジェクトファイルがあるのですが、Windows版COBOL2002でも使用できますか?

Windows版COBOL85 Version 7で作成したプロジェクトファイルはWindows版COBOL2002で使用できます。ただし、いったんWindows版COBOL2002で使用したプロジェクトファイルはCOBOL2002専用プロジェクトファイルとなり、Windows版COBOL85 Version 7ではその後使用できませんのでご注意が必要です。

Q3. Windows版COBOL85 Version 7で作成したDLLがあるのですが、Windows版COBOL2002で作成したプログラムからこのDLLを呼び出せますか?そのとき、運用環境はCOBOL85とCOBOL2002の両方が必要なのでしょうか?

Windows版COBOL2002から、Windows版COBOL85 Version 7のDLLをそのまま呼び出せます(再コンパイルによってDLLを生成し直す必要はありません。ただし、COBOL85の対応していないプラットフォームに移行するときは、再コンパイルすることを推奨します。)。また、Windows版COBOL2002とWindows版COBOL85 Version 7のプログラムが混在していても、Windows版COBOL2002の運用環境だけで動作させることができます。
なお、Windows版COBOL85 Version 7だけをインストールした環境では、Windows版COBOL2002で作成したプログラムは実行できません。

Q4. Windows版COBOL85とWindows版COBOL2002 01-xxで作成した実行可能ファイル(EXE)やDLLなどの既存資産があるのですが、そのままWindows版COBOL2002 03-00以降(最新)で使用できますか?

Windows版COBOL85(※)、Windows版COBOL2002 01-xxで作成した実行可能ファイル(EXE)やDLLをWindows版COBOL2002 03-00以降(最新)に移行する場合、次の注意事項があります。

(1)ISAMによる索引編成ファイルを使用したオブジェクト(.obj、.lib)は移行できません。移行する場合は、再コンパイルが必要です。

(2)以下の個所に日本語などの多バイト文字を使用して作成した実行可能ファイルやDLLファイルは、プログラムを構成する実行可能ファイルやDLLファイルのすべてを再コンパイルしない場合、移行性があります。再コンパイルする場合は、すべての実行可能ファイルやDLLファイルを再コンパイルしてください。また、以下の個所に日本語などの多バイト文字を使用して作成したライブラリファイルやオブジェクトファイルを移行するときは、再コンパイルしてください。

プログラム名/クラス名/インタフェース名/関数名
OLEサーバのプロパティ
XML連携機能のインタフェース名

※ COBOL85の対応していないプラットフォームに移行するときは、再コンパイルすることを推奨します。

その他のWindows版COBOL2002 03-00以降(最新)に関する注意事項は、以下を参照してください。

04-xxの場合

03-xxの場合

Q5. Linux(x86)版COBOL85で作成した実行可能ファイルや共用ライブラリは、そのままLinux(x86)版COBOL2002で使用できますか?

Linux(x86)版COBOL85で作成した実行可能ファイルや共用ライブラリは、Linux(x86)版COBOL2002では使えません。Linux(x86)版COBOL2002で再コンパイルして、実行可能ファイルや共用ライブラリを作り直してください。また、Linux(x86)版COBOL85で作成したオブジェクトファイル(.o)も使えませんので、再コンパイルが必要です。

Q6. Windows版やAIX版などの32ビット版のCOBOL2002で作成したCOBOLソースは、そのまま同じプラットフォームのCOBOL2002(64ビット版)で使用できますか?

Windows版、AIX版、HP-UX(IPF)版COBOL2002(64ビット版)の言語仕様は、同じプラットフォームの32ビット版のCOBOL2002とソースレベルで高い互換性がありますが、次の点等の見直しが必要です。関連製品が各プラットフォームの64ビット版に対応していないため、未サポートの機能もあります。詳細は担当営業までお問い合せください。

※ 次の構文・機能等の見直しが必要です。

アドレスデータ項目等のアドレス系データを表現する構文
LENGTH関数等で8バイト2進となるデータ長を表現する構文

Q7. Windows版COBOL2002で作成した実行可能ファイル(EXE)やDLLは、そのままWindows版COBOL2002(64ビット版)で使用できますか?

Windows版COBOL2002で作成した実行可能ファイル(EXE)やDLLは、Windows版COBOL2002(64ビット版)では使えません。Windows版COBOL2002(64ビット版)で再コンパイルして、実行可能ファイル(EXE)やDLLを作り直してください。また、Windows版COBOL2002で作成したオブジェクトファイル(.obj)やライブラリファイル(.lib)も、Windows版COBOL2002(64ビット版)で作成したオブジェクトとリンクできませんので再コンパイルが必要です。

Q8. AIX版やHP-UX(IPF)版の32ビット版のCOBOL2002で作成した実行可能ファイルや共用ライブラリは、そのまま同じプラットフォームのAIX版COBOL2002(64ビット版)で使用できますか?

AIX版やHP-UX(IPF)版の32ビット版のCOBOL2002で作成した実行可能ファイルや共用ライブラリは、同じプラットフォームのCOBOL2002(64ビット版)では使えません。同じプラットフォームのCOBOL2002(64ビット版)で再コンパイルして、実行可能ファイルや共用ライブラリを作り直してください。また、AIX版やHP-UX(IPF)版の32ビット版のCOBOL2002で作成したオブジェクトファイル(.o)も、同じプラットフォームのCOBOL2002(64ビット版)で作成したオブジェクトとリンクできませんので再コンパイルが必要です。

Q9. Windows版COBOL2002 Net Server Suite 02-xxを使用してコンパイルし、実行可能ファイル(.exe)やライブラリを生成しています。これをCOBOL2002 Net Server Suite 03-00以降(最新)で使用する場合、再コンパイルが必要ですか?

Pro*COBOLなど連携製品のライブラリに変更がなけば、実行可能ファイルとライブラリは、そのまま移行が可能です。

移行の際に注意事項がありますので、以下を参照してください。

04-xxの場合

03-xxの場合

Q10. COBOL2002開発環境製品のバージョンを04-00へ上げた場合、サーバで使用している運用環境製品のバージョンも上げる必要はありますか?

バージョン04-00の開発環境製品でコンパイルする場合は、運用環境製品のバージョンも上げる必要があります。
運用環境製品のバージョンは、04-00以降のバージョンにしてください。

Q11. 日立以外のCOBOLで作成したCOBOLソースは、COBOL2002で使用できますか?

COBOL言語仕様はCOBOL国際規格で規定されているため、規格が規定した言語仕様の範囲で互換性があります。しかし、各社独自の拡張仕様があり、拡張仕様に関しては互換性がありません。

Q12. UNIXの開発・運用環境製品としてV1、開発端末としてWindows開発環境製品のV1を使用しています。開発端末をWindows10にするにあたり、Windows開発環境製品をV1からバージョンアップが必要となりますが、Windows開発環境製品のバージョンアップは可能でしょうか?

Windows開発環境製品のバージョンアップは可能です。
Windows開発環境製品(V4)を使って開発する際は、次の点をご注意ください。

  • UNIX開発環境製品(V1)でのサポート機能の範囲で開発してください。
  • XML連携機能を使用する場合、UNIX(V1)で生成したXMLアクセスルーチンを使用して運用してください。

Q13.Linux版COBOL2002 01-xx、Linux版COBOL2002 03-xxで作成した実行可能ファイルや共用ライブラリをRed Hat Enterprise Linux 8上で実行することはできますか?

Linux版COBOL2002 04-11以降で実行することができます。
Red Hat Enterprise Linux 5で作成した実行可能ファイルや共用ライブラリの場合、
Red Hat Enterprise Linux 8での再リンクが必要です。
これは、Red Hat Enterprise Linux 8のApplication Compatibility GUIDEによるものです。
また、COBOL2002製品以外のオブジェクトやアーカイブをリンクしている場合、
各製品のRed Hat Enterprise Linux 8対応状況をご確認の上、必要であれば、再リンクしてください。