5.2.6 COBOLでのコンパイル(Windows)
(1) COBOL開発マネージャを使用したコンパイルと実行のポイント
COBOL開発マネージャを使用したコンパイルと実行のポイントについて説明します。
(a) COBOL開発マネージャの概要
COBOL開発マネージャは,COBOL2002から提供されているCOBOLプログラムの統合的な開発環境です。COBOLでAPを開発するときに必要なCOBOLソースや登録集原文などの資産を依存関係に従って管理し,コンパイルなどの作業を自動化します。
COBOL開発マネージャを使用する場合,次の手順でAPを作成します。
-
プロジェクトの作成
-
資産の登録,定義
-
ビルド,リビルド
次に,それぞれの手順について説明します。
- プロジェクトの作成
-
COBOL開発マネージャでは,一つのEXEまたはDLLファイルの開発単位を「プロジェクト」と呼んでいます。COBOL開発マネージャを使用してAPを作成する場合,このプロジェクトを定義する必要があります。
- 資産の登録,定義
-
COBOL開発マネージャでは,プロジェクトで作成される実行のファイル(.exe,または.dll)やそれを構成する要素を「資産」と呼んでいます。また,COBOL開発マネージャでは,その依存関係を定義する必要があります。
資産の依存関係を定義すると,COBOL開発マネージャではどのように表されるかを次の図に示します。
図5‒5 COBOL開発マネージャでの表示 - ビルド,リビルド
-
COBOL開発マネージャでは,定義した資産の依存関係に基づいてコンパイルとリンケージをします。
その方法として,各資産の依存関係とタイムスタンプ(ファイル作成/修正日時)の前後関係に基づいてコンパイルとリンケージをする「ビルド」があります。例えば,「実行ファイルの作成/修正日時」より実行ファイルが取り込んでいる「COBOLソースの作成/修正日時」の方が新しい場合にコンパイルとリンケージが実行されます。
また,タイムスタンプには関係なくコンパイルとリンケージをする「リビルド」もあります。
(b) コンパイル時のポイント
- コンパイラオプションを指定する
-
COBOLを使用したとき,指定が必要なコンパイラオプションを次に示します。
-
-Comp5:COBOLプログラム中のCOMP-5を利用できるようにするオプション
-
-JPN,Alnum:論理マップ内で日本語項目を扱えるようにするオプション
-
- AP間でオープンを引き継ぐ
-
APを分割してコンパイルするときは,コンパイル単位でXMAP3のオープン・クローズ要求が毎回発行されないようにします。COBOLの実行支援の環境変数で,「CBLTERMSHAR=YES」を指定して,オープンを各プログラムで引き継ぐようにします。「CBLTERMSHAR=YES」は,SEND文でAPを作成したときだけ有効です。CALL文でAPを作成したときは無効になります。
- 登録集原文を格納するフォルダを確認する
-
-
APのCOPY文に,論理マップ(マップ生成時に付けられた名称)を間違って指定していないか確認してください。
-
論理マップがフォルダ中に用意されているか確認してください。ソースプログラムと登録集原文を同じフォルダで管理している場合は,論理マップが同一フォルダに格納されていないことが考えられます。また,ソースプログラムと登録集原文を別のフォルダで管理している場合は,環境変数(CBLLIB)に指定した登録集原文のフォルダに誤りがあったり,指定したフォルダに論理マップが格納されていなかったりすることが考えられます。
-
データ名,または変数名に不当な文字を指定していることが考えられます。データ名,および変数名に不当な文字をAPで指定していないか確認してください。
-
(c) リンケージ時のポイント
- XMAP3使用時のリンケージオプションを指定する
-
インポートライブラリ/ユーザ作成ライブラリに次のファイルを指定します。
XMAP3インストールフォルダ\LIB\X3MWDR32.LIB
- XMAP3のライブラリを設定する
-
コンパイル環境(CALL文で作成したAPの場合は,リンケージ環境)のマシンには,XMAP3の開発環境をインストールしておく必要があります。
(d) 実行時のポイント
APを実行する前に,物理マップを実行形式ファイルと同じフォルダに格納してください。
また,マップパスを指定する方法もあります。マップパスは,表示・印刷セットアップで指定します。表示・印刷セットアップについては,マニュアル「XMAP3 実行ガイド」を参照してください。
(2) COBOL開発マネージャでのXMAP3の利用方法
COBOL開発マネージャとXMAP3との両方をインストールしている場合,COBOL開発マネージャからXMAP3の機能を呼び出せます。XMAP3の資産を登録,定義すれば,ビルド,またはリビルドによってコンパイルとリンケージをしてAPを作成できます。
また,AP作成時にソースプログラムや登録集原文を格納するフォルダを作成しておいてください。
次に,COBOL開発マネージャからXMAP3を利用する方法について説明します。
(a) COBOL開発マネージャ上での資産の登録,定義
COBOL開発マネージャ上では,XMAP3の資産を扱う場合,XMAP3でのファイル名の規則に従います。また,XMAP3の「マップ名」を基に作成します。
XMAP3の資産をCOBOL開発マネージャで利用するときのファイル名の規則を次の表に示します。
XMAP3の 資産 |
COBOL開発マネージャでの名称 |
COBOL開発マネージャで付けるファイル名 |
内容 |
---|---|---|---|
マップ定義 |
マップ定義 |
マップ名.imp |
ユーザが定義した帳票の情報を格納している。定義を修正するときにはこのファイル名を指定。 |
論理マップ |
登録集原文 |
マップ名+O.cbl |
APで取り込む出力情報の登録集原文。 |
物理マップ |
− |
マップ名+XX※.pmp |
ユーザが定義した帳票のうち,APではアクセスしない,固定部分の情報。 COBOL開発マネージャの管理対象外。 |
また,COBOL開発マネージャからXMAP3の資産を登録,定義した場合,どのように表されるかを次に示します。
これを基にして,XMAP3で作成した帳票をCOBOL開発マネージャで利用してAPを作成する場合の例を次に示します。
注意
-
ファイル名は,「表5-5 XMAP3の資産をCOBOL開発マネージャで利用するときのファイル名の規則」に従って定義する必要があります。
-
ファイル名は,XMAP3のマップ名を使用して作成してください。XMAP3のファイル名を使用しないと,上記に示す資産定義と一致しなくなります。
このように資産を登録,定義しておけば,定義ファイルに変更があった場合,ビルドによってコンパイル,リンケージされ,自動的に登録集原文(論理マップ)が生成し直されます。
(b) マップ定義ファイルの作成と修正
マップ定義ファイルを作成,または修正したい場合,次に示す操作をすることでXMAP3の帳票定義ができます。
-
COBOL開発マネージャ上で,マップ定義ファイル(.imp)をダブルクリックします。
(c) マップ生成
COBOL開発マネージャのビルド,またはリビルドを使用しないで単独にマップ生成をする場合,次の操作をすることでマップ生成ができます。生成される論理マップや物理マップのファイル名については,「表5-5 XMAP3の資産をCOBOL開発マネージャで利用するときのファイル名の規則」を参照してください。
マップ生成時に使用するリトルエンディアン,およびビッグエンディアンは,オプションで指定してください。
- 操作方法
-
-
特定のマップ定義ファイルからマップ生成をするときにだけ有効とする場合
COBOL開発マネージャ上で,マップ定義ファイル(.imp)をクリックして,[ファイル]−[ファイルの設定]を選択し,必要なコンパイルオプションを指定します。
-
すべてのマップ定義ファイルからマップ生成をするときに有効とする場合
COBOL開発マネージャ上で,[プロジェクト]−[プロジェクトの設定]を選択し,「最適化」タブで必要なコンパイルオプションを指定します。
-
- 設定形式
-
[-BigEndian,Bin]
- 説明
-
-BigEndian,Binまたは-Bbは,ビッグエンディアンを指定することを示します。指定がない場合,リトルエンディアンが仮定されます。