富士通

NetCOBOL 技術情報:ノウハウ情報

NetCOBOL

Windows x86

Q

入出力ファイルの存在を調べることはできますか。

A

NetCOBOLには、ファイルの存在を調査する機能はありません。代替手段としては、ファイルの存在を調べるC言語アプリケーションを作成して、NetCOBOLから呼び出すなどの方法があります。

NetCOBOLの「プログラム間連絡機能」は、COBOLアプリケーションやC言語アプリケーションを呼び出すことができます。ファイルの存在を確認する機能をC言語アプリケーションで作成し、ファイル名や結果をパラメータで受け渡します。「プログラム間連絡機能」の詳細については、 以下のマニュアルを参照してください。

NetCOBOL使用手引書

  • 第10章 サブプログラムを呼び出す~プログラム間連絡機能~

なお、SELECT句にOPTIONALを指定しないでINPUT指定のOPEN文を実行し、誤り処理手続き またはFILE STATUS句でエラー内容を判断することも可能です。 ただし、メッセージ抑止の環境変数を設定しない場合、OPEN時にエラーメッセージが表示されます。 メッセージを抑止することもできますが、 必要なエラー情報が表示されないことがありますので、使用の際は注意してください。
SELECT句やOPEN文等の仕様および使用方法については、NetCOBOL使用手引書および文法書を 参照してください。 また、バッチファイルでは、IF文でファイルの有無を調べることもできます。

例)「ファイル名」に指定したファイルが存在しない場合、「コマンド」を実行する。


IF NOT EXIST ファイル名 コマンド
SET COBOLINPUT=ファイル名
START /WAIT COBOLアプリケーション実行ファイル名