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

入出力ファイルの存在を調べることはできますか?
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アプリケーション実行ファイル名
 :
製品・サービス情報
対象製品NetCOBOL
プラットフォームWindows x86, Windows x64, Windows Itanium
アンサー種別 技術サポート
このページの先頭へ