付録B.1 COBOL2002 V4への移行性と互換性
COBOL2002 V4への移行性と互換性について説明します。
AIX(32) COBOL2002またはLinux(x86) COBOL2002からAIX(64) COBOL2002またはLinux(x64) COBOL2002への移行時には,移行前に32bitアプリケーションと64bitアプリケーションの相違について確認してください。64bitアプリケーションについては,「37 64bitアプリケーションの作成」を参照してください。
(1) COBOL85,COBOL2002の旧バージョンで作成したファイルの移行性
COBOL85およびCOBOL2002の旧バージョンで作成したファイルのCOBOL2002 V4への移行性を次に示します。
(a) AIX(64) COBOL2002およびAIX(32) COBOL2002への移行性
AIX(64) COBOL2002 V4への移行性を次の表に示します。
対象ファイル |
移行元システム |
|||
---|---|---|---|---|
ファイル種別 |
拡張子 |
AIX(64) COBOL2002 |
AIX(32) COBOL2002 |
COBOL85 |
COBOLソースファイル |
.cblほか |
○ |
○ |
○ |
開発環境資産(makefile,コンパイル・リンケージするシェルプログラム) |
拡張子規定なし |
○ |
△ |
△ |
実行可能ファイル |
拡張子規定なし |
△ |
× |
× |
オブジェクトファイル |
.o |
△ |
× |
× |
アーカイブファイル |
.a |
△ |
× |
× |
共用ライブラリファイル(アーカイブ形式を含む) |
.so,.a |
△ |
× |
× |
プログラム情報ファイル |
.cbp,.cbs,.pif |
△ |
× |
× |
TDコマンド格納ファイル(テストコマンドファイル) |
.tdi,.tds |
○ |
○ |
△ |
Cosminexus連携機能Java実行ファイル |
.class |
○ |
○※1 |
○ |
XML連携機能関連ファイル |
.xml,.cxd,.cxc |
○ |
○ |
○ |
リポジトリファイル |
.rep |
○ |
× |
− |
画面機能リソースファイル※2 |
拡張子なし |
○ |
× |
× |
AIX(32) COBOL2002 V4への移行性を次の表に示します。
対象ファイル |
移行元システム |
||
---|---|---|---|
ファイル種別 |
拡張子 |
AIX(32) COBOL2002 |
COBOL85 |
COBOLソースファイル |
.cblほか |
○ |
○ |
開発環境資産(makefile,コンパイル・リンケージするシェルプログラム) |
拡張子規定なし |
△ |
△ |
実行可能ファイル |
拡張子規定なし |
△ |
× |
オブジェクトファイル |
.o |
△ |
× |
アーカイブファイル |
.a |
△ |
× |
共用ライブラリファイル(アーカイブ形式を含む) |
.so,.a |
△ |
× |
プログラム情報ファイル |
.cbp,.cbs,.pif |
△ |
× |
TDコマンド格納ファイル(テストコマンドファイル) |
.tdi,.tds |
○ |
△ |
XML連携機能関連ファイル |
.xml,.cxd,.cxc |
○ |
○ |
リポジトリファイル |
.rep |
○ |
− |
画面機能リソースファイル※ |
拡張子なし |
○ |
× |
(b) Linux(x64) COBOL2002およびLinux(x86) COBOL2002への移行性
Linux(x64) COBOL2002 V4への移行性を次の表に示します。
対象ファイル |
移行元システム |
|||
---|---|---|---|---|
ファイル種別 |
拡張子 |
Linux(x64) COBOL2002 |
Linux(x86) COBOL2002 |
COBOL85 |
COBOLソースファイル |
.cblほか |
○ |
○ |
○ |
開発環境資産(makefile,コンパイル・リンケージするシェルプログラム) |
拡張子規定なし |
○ |
△ |
△ |
実行可能ファイル |
拡張子規定なし |
△ |
× |
× |
オブジェクトファイル |
.o |
○ |
× |
× |
アーカイブファイル |
.a |
○ |
× |
× |
共用ライブラリファイル |
.so |
△ |
× |
× |
プログラム情報ファイル |
.cbp,.cbs,.pif |
△ |
× |
× |
TDコマンド格納ファイル |
.tdi,.tds |
○ |
○ |
△ |
Cosminexus連携機能Java実行ファイル |
.class |
○ |
○※ |
− |
XML連携機能関連ファイル |
.xml,.cxd,.cxc |
○ |
○ |
− |
リポジトリファイル |
.rep |
○ |
× |
− |
Linux(x86) COBOL2002 V4への移行性を次の表に示します。
対象ファイル |
移行元システム |
||
---|---|---|---|
ファイル種別 |
拡張子 |
Linux(x86) COBOL2002 |
COBOL85 |
COBOLソースファイル |
.cblほか |
○ |
○ |
開発環境資産(makefile,コンパイル・リンケージするシェルプログラム) |
拡張子規定なし |
△ |
△ |
実行可能ファイル |
拡張子規定なし |
△ |
× |
オブジェクトファイル |
.o |
○ |
× |
アーカイブファイル |
.a |
○ |
× |
共用ライブラリファイル |
.so |
△ |
× |
プログラム情報ファイル |
.cbp,.cbs,.pif |
△ |
× |
TDコマンド格納ファイル |
.tdi,.tds |
○ |
△ |
XML連携機能関連ファイル |
.xml,.cxd,.cxc |
○ |
− |
リポジトリファイル |
.rep |
○ |
− |
(2) ファイルの移行性の注意事項
(a) 実行可能ファイルまたは共用ライブラリファイル(.so,.a)の移行での注意事項
-
実行可能ファイルまたは共用ライブラリファイルを作成時に,OSやほかのミドルウェアのオブジェクトやアーカイブライブラリをリンクしている場合,再リンクが必要になることがあります。OSやほかのミドルウェアの互換性を確認してください。
-
AIX(32) COBOL2002またはLinux(x86) COBOL2002からの移行で,DCシミュレーション機能を使用している(リンク時に-Bstatic(Linuxの場合),-bstatic(AIXの場合)に-lcbl2KDCオプションを指定して作成している)場合,再リンクする必要があります。
(b) 開発環境資産(makefile,コンパイル・リンケージするシェルプログラム)の移行での注意事項
-
COBOL2002のインストールディレクトリはCOBOL85と異なります。COBOL2002実行時ライブラリをリンクするときの-Lオプションの指定を変更してください。
-
COBOL85,AIX(32) COBOL2002,またはLinux(x86) COBOL2002からの移行でDCシミュレーション機能を使用するプログラムのリンク時に-Bstatic(Linuxの場合),-bstatic(AIXの場合)に-lcbl2kdcオプションが指定されている場合,-Bdynamic(Linuxの場合),-bdynamic(AIXの場合)に指定されるように変更する必要があります。
(c) プログラム情報ファイル(.cbp,.cbs,.pif)の移行での注意事項
同じプラットフォームの旧バージョンで作成したプログラム情報ファイルのカバレージ情報は移行できます。ただし,カバレージ情報の蓄積をする場合,使用するカバレージと同じバージョンのコンパイラで再コンパイルしてください。
これまでに蓄積したカバレージ情報は,プログラム情報ファイルを消さないで再コンパイルすることで引き継がれます。
(d) COBOL85からのテストコマンドファイル(.tdi,.tds)の移行
サブコマンドの指定形式が変更されています。COBOL2002のTDコマンドの形式で指定してください。
(e) オブジェクトファイル(.o)またはアーカイブファイル(.a)を移行して実行可能ファイルを作成する場合の注意事項
AIX(32) COBOL2002 V4およびAIX(64) COBOL2002 V4への移行で,動的なリンクによるプログラム呼び出しを使用している場合は,次のどちらかの方法で実行可能ファイルを作成してください。詳細は,「34.1 実行可能ファイルの作成方法」を参照してください。
-
コンパイルとリンクを同時に実行する場合
COBOL2002 V4より前に作成したCOBOLオブジェクトやCプログラムのオブジェクトを混在させる場合は,-OldLinkOpt,GCBypassオプションを指定してください。
-
コンパイルとリンクを別々に実行する場合
COBOL2002 V4より前に作成したCOBOLオブジェクトやCプログラムのオブジェクトを混在させる場合,静的な参照関係がないファイルをリンク対象とするためには,-bgcbypassリンカオプションを指定してください。