COBOL アプリケーションは、多くの場合、COBOL ソース ファイルとコピーブック (他のプログラムにコピーされるコードを含むファイル) で構成されます。コピーブックは、ソース ファイルと同じ場所に格納されるとは限りません。本チュートリアルでは、プロジェクト ディレクトリに含まれていないコピーブックを検索するようにプロジェクトを構成する方法について説明します。
ここでは、「最初の Hello COBOL World アプリケーションの作成」のチュートリアルで作成した Hello COBOL World アプリケーションを変更および構成して、プロジェクト外部のコピーブックを使用できるようにします。このチュートリアルで行う作業は次のとおりです。
- コピーブックのみを含むプロジェクトを同じソリューションに作成する。
- HelloCOBOLWorld プロジェクトの helloworld.cbl プログラムのコードの一部を新しいコピーブックに移動する。
- helloworld.cbl の元のコードを COPY 文に置き換える。
プロジェクトに対する変更により、ビルドの問題がいくつか発生します。
- それらのビルドの問題を解決するために、プロジェクトのプロパティを変更してコピーブック ファイルへのパスを追加する。
コピーブック ファイルのプロジェクトの作成
- ソリューション エクスプローラーで、ソリューションを右クリックし、[Add > New Project] をクリックします。
- [COBOL > Native] が強調表示されていることを確認し、[Console Application] を選択します。
- CobybookProj などの名前を指定し、[OK] をクリックします。
HelloCOBOLWorld プロジェクトと同じソリューションにプロジェクトが作成されます。
- このプロジェクトで作成されたスケルトン プログラムを削除します。
このプロジェクトにはコピーブック ファイルのみを格納します。
コピーブックの作成
- ソリューション エクスプローラーで [CopybookProj] を右クリックし、[Add > New Item] をクリックします。
- [Add New Item] ダイアログ ボックスで [Copybook] をクリックします。
- Hello.cpy などの名前を指定し、[Add] をクリックします。
プロジェクトにファイルが作成され、エディターで開かれます。次に、このファイルに HelloCOBOLWorld プロジェクトから一部のコードを追加します。
- エディターで helloworld.cbl をクリックします。
- このファイルから次の行をコピーします。
display 'Hello COBOL World!'.
- コピーしたコードを Hello.cpy コピーブックに貼り付けます。
- helloworld.cbl に戻り、先ほどコピーした行を COPY 文に置き換えます。
COPY Hello.cpy.
- 変更を保存します。
エディターで helloworld.cbl の COPY 文の行に赤色の波線で下線が引かれることに注目してください。
ソリューション エクスプローラーで、helloworld.cbl に赤色のエラー アイコンが表示されます。[Error List] ウィンドウ ([View > Error List] をクリック) を開くと、指定したコピーブックが認識されないことを示すエラーが表示されます。COPY 文の行をカーソルを合わせても同じエラー メッセージが表示されます。
- [Error List] ウィンドウでエラー メッセージをクリックし、F1 キーを押して、この問題に関する製品ヘルプの情報を確認します。
[Help > Set Help Preference] で、ヘルプの設定を [Launch in Help Viewer] に設定しておく必要があります。
この問題が発生したのは、Hello.cpy がプロジェクト ディレクトリにないために HelloCOBOLWorld プロジェクトに認識されていないからです。これを解決するには、プロジェクトでコピーブックを使用できるように、プロジェクトのプロパティにコピーブックの場所を示すパスを追加する必要があります。
コピーブック ファイルの正確な場所を確認します。
- ソリューション エクスプローラーで [CopybookProj] を右クリックし、[Open Folder in File Explorer] をクリックします。
Windows エクスプローラーが開き、ハード ディスクにあるプロジェクトの内容が表示されます。
- プロジェクトの場所の 1 つ上のフォルダーに移動します。
ソリューション フォルダーが開き、CopybookProj と HelloCOBOLWorld の両方のプロジェクト フォルダーがソリューション フォルダー内にサブフォルダーとして含まれていることを確認できます。
HelloCOBOLWorld でのコピーブック パスの指定
HelloCOBOLWorld プロジェクトでコピーブック ファイルが検索されるようにするには、プロジェクトの構成でコピーブックの場所を示すパスを指定する必要があります。これを行うには、次の手順を使用します。
- ソリューション エクスプローラーで [HelloCOBOLWorld] を選択し、[Project > HelloCOBOLWorld Properties] をクリックします。
IDE 内でプロジェクトのプロパティを含むタブ付きページが開きます。
- [Copybooks] タブをクリックします。
- [New Line] ボタンをクリックします。
- 「..\CopybookProj」と入力してコピーブックの相対パスを指定し、Enter キーを押して確定してから、[File > Save All] をクリックします。
- エディターで helloworld.cbl プログラムを選択し、赤色の波線の下線が消え、[Error List] ウィンドウにエラー メッセージがないことを確認します。
- ソリューションをもう一度ビルドします。
ビルドが成功したことを確認します。
これらのプロジェクトは、アプリケーションのデバッグのデモンストレーションに使用するため、残しておいてください。
次のステップ
次のチュートリアルの「Hello COBOL World アプリケーションのデバッグ」に進み、Visual Studio におけるデバッグの手法を学習します。