付録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 |
拡張子なし |
○ |
× |
× |
- (凡例)
-
○:移行できる
△:一部移行性あり(詳細は,「(2) ファイルの移行性の注意事項」を参照してください)
×:移行できない
−:移行先または移行元で未サポートのファイル
- 注※1
-
AIX(32) COBOL2002 01-00から01-03までのCosminexus連携機能でサポートしていたファイルです。
- 注※2
-
画面機能リソースファイルのファイル名は,それぞれ次のとおりです。
(a)アプリケーションリソースファイル名
・AIX(32) COBOL2002の場合:Cbl2002term
・AIX(64) COBOL2002の場合:Cbl2002term64
・COBOL85の場合:Cbl85term
(b)JCPOPUPサービスルーチンリソースファイル名
・AIX(32) COBOL2002の場合:Cbl2002popup
・AIX(64) COBOL2002の場合:Cbl2002popup64
・COBOL85の場合:Cbl85popup
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 |
○ |
− |
|
画面機能リソースファイル※ |
拡張子なし |
○ |
× |
- (凡例)
-
○:移行できる
△:一部移行性あり(詳細は,「(2) ファイルの移行性の注意事項」を参照してください)
×:移行できない
−:移行先または移行元で未サポートのファイル
- 注※
-
画面機能リソースファイルのファイル名は,それぞれ次のとおりです。
(a)アプリケーションリソースファイル名
・AIX(32) COBOL2002の場合:Cbl2002term
・COBOL85の場合:Cbl85term
(b)JCPOPUPサービスルーチンリソースファイル名
・AIX(32) COBOL2002の場合:Cbl2002popup
・COBOL85の場合:Cbl85popup
(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 |
○ |
× |
− |
- (凡例)
-
○:移行できる
△:一部移行性あり(詳細は,「(2) ファイルの移行性の注意事項」を参照してください)
×:移行できない
−:移行先または移行元で未サポートのファイル
- 注※
-
Linux(x86) COBOL2002 01-01から01-02までのCosminexus連携機能でサポートしていたファイルです。
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) ファイルの移行性の注意事項」を参照してください)
×:移行できない
−:移行先または移行元で未サポートのファイル
(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の場合)に指定されるように変更する必要があります。
-
AIX COBOL2002 V4への移行で,開発環境資産のccbl2002コマンド(またはccblコマンド)の引数に,アーカイブファイルを-lオプションではなくファイル名で指定しているとき,AIX COBOL2002 V3以前と同様にアーカイブファイルを取り込むためには,アーカイブファイルの指定をファイル名指定から-bkeepfileリンカオプションによる指定(-bkeepfile:アーカイブファイル名)に変更する必要があります。
-
AIX COBOL2002 V4では,COBOLプログラムのオブジェクト形式を,AIX COBOL2002 V3以前の形式から変更しています。AIX COBOL2002 V4でCOBOLソースファイルをリコンパイルして作成したオブジェクトファイルやアーカイブファイルを使用して,実行可能ファイルまたは共用ライブラリを作成する場合,COBOLプログラムのオブジェクト形式の違いによって,開発環境資産の修正が必要になることがあります。詳細は,「34.1 実行可能ファイルの作成方法」または「34.2 共用ライブラリの作成方法」を参照してください。
(c) プログラム情報ファイル(.cbp,.cbs,.pif)の移行での注意事項
同じプラットフォームの旧バージョンで作成したプログラム情報ファイルのカバレージ情報は移行できます。ただし,カバレージ情報の蓄積をする場合,使用するカバレージと同じバージョンのコンパイラで再コンパイルしてください。
これまでに蓄積したカバレージ情報は,プログラム情報ファイルを消さないで再コンパイルすることで引き継がれます。
(d) COBOL85からのテストコマンドファイル(.tdi,.tds)の移行
サブコマンドの指定形式が変更されています。COBOL2002のTDコマンドの形式で指定してください。
(e) オブジェクトファイル(.o)またはアーカイブファイル(.a)を移行して実行可能ファイルを作成する場合の注意事項
AIX COBOL2002 V4への移行で,AIX(32) COBOL2002 V3やAIX(64) COBOL2002 V3以前に作成したCOBOLオブジェクト,Cプログラムのオブジェクト,およびそれらを含むアーカイブファイルを混在させて実行可能ファイルを作成する場合,動的なリンクによるプログラム呼び出しを使用しているなどで,静的な参照関係がないファイルをリンク対象とするときは,次のオプションのどれかを指定してリンク対象としてください。詳細は,「34.1 実行可能ファイルの作成方法」を参照してください。
-
-OldLinkOpt,GCBypassオプション(ccbl2002コマンドでリンクする場合)
-
-bgcbypassリンカオプション
-
-bkeepfileリンカオプション
-
-uリンカオプション