ページの先頭です。
ここから本文です。

よくあるご質問(サポートFAQ)

【IFASPRO RDB】IFCPYCOMコマンド利用時のファイルアクセス状態について

質問内容

バッチ処理内でIFCPYCOMコマンドを利用し、IFASファイル(IFASRDB表を含む)からデータ出力を行っています。
ただ、[コピー元]のファイルに、別プログラムでファイルアクセスがある場合、IFASコピーが待ち状態になってしまいます。
そのため、別プログラムでファイルアクセスがある場合には処理を中断したいと考えています。
ファイルアクセスの有無をバッチ内で確認することは可能でしょうか。
可能な場合に、その方法(コマンド)を教えていただけないでしょうか。

回答内容

申し訳ありませんが、バッチ内にてIFASファイルのファイルアクセス状況を確認する機能は提供しておりません。
そのため、運用にて該当ファイルにアクセスしないように対応して頂けますようお願いたします。

ただ、下記の方法にて対応できる可能性がございますので、対処案を2点ほど回答させていただきます。

案1.別プログラムでファイルをアクセス中の場合、待ち合わせを行わず、IFCPYCOMコマンドがエラーになるようにする
①運用支援ツールを起動する
 「スタート」-「COBOL」またはIFAS FILE」-「IFAS FILE 運用支援ツール」
②「COBOL設定」タブの「OS互換モード」を"A-VXⅡ"から"A-VX5"に変更する

上記手順を実施いただくことで、ファイルの待ち合わせを行わずにエラーにすることが可能となります。
ただし、上記設定は、COBOLから利用する全てのプログラムにも影響がありますので、他のプログラムへの影響確認など注意が必要です。
上記変更による影響については、詳しくは、マニュアルの「4-2-2 動作環境の設定」の「(1) OS互換モード」をご参照願います。

案2.該当ファイルをオープンするC言語プログラムを作成し、別プログラムからファイルをオープン中であるか確認する。
C言語プログラムでは、別プログラムがファイルをオープンしている場合、待ち合わせを行わず、即時エラー(エラーコード:205)となります。
そのため、C言語プログラムにて該当ファイルをオープンする事により、ファイルがオープン中であるかどうかを判断する事が可能となります。
※ただし、プログラムを実行した時点のアクセス状況の確認となりますので、確認直後に別プログラムにてファイルがオープンされた場合は、待ち合わせが発生する可能性があります。

製品名カテゴリ

IFASPRO/RDB

  • コンテンツID: 3150106442
  • 公開日: 2013年10月30日
  • 最終更新日:2026年07月31日
ここからページ共通メニューです。 ページ共通メニューを読み飛ばす。