($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
バッチを流したいがメニュー入力画面で排他制御されている時 どうしよう さん [ 2月15日(水) 11時1分 ]
お世話になります。困っています。

ある人がメニュー画面の入力画面を
開きっぱなしにします。
他の人が違うメニュー番号でバッチを流したいのですが、
メニュー画面で排他制御しているため、
バッチを流すメニュー番号が選択出来ません。

こういう場合どうすべきでしょうか。

分かりにくい文章ですみません。

RE:バッチを流したいがメニュー入力画面で排他制御されている時 IKD さん [ 2月20日(月) 9時38分 ]
バッチ・ジョブを実行したいときにメニューで入力している人が
必ずしも離席しているとは限らず実際に入力操作中であるかも
しれません。
これは実際に人手によって確認するしか方法はありません。
そこで、

 (1) バッチ・ジョブの CLP で ALCOBJ が失敗したら
      「ジョブ xxxxxxxxxx のユーザー UUUUU でファイル FFFFFFF が使用中です。」の
       メッセージを出力して終了する。
       このメッセージで実際の状況を現地に問い合わせて確認することができます。

  (2) 入力プログラムの待ち時間などを調整する。

      次の A と B の両方を対策すればよいが B だけでも効果的である。

      A. 不要なレコード・ロックをしないようにPGMを修正する

          更新用のファイルのレコード・ロックは外しても更新時に
          再び再アクセス(CHAIN)して処理できるようであれば
          表示のときにはレコード・ロックはしないようにする。
     つまりできるだけ不要なレコード・ロックをかけないよう修正する。

      B 一定の待ち時間を調整する

          DSPF の EXFMT や READ 命令は永続待機であり、操作員が入力するまで
          待機し続けます。
          これを「最大レコード待機時間」(通常は WAITRCD :*NOMAX) を変更すると
          EOF と同じように DSPF でもエラーとなって放置を検出することができますので
          そのときは終了処理を行うように PGM も修正します。


 ... (1) と (2)の両方を行えば良いと思いますが (1)の処理を実装するのは
      結構、面倒です。
      (2) だけでも行っておいて (1)では ALCOBJに失敗したら「他で使用中です。」と
   いうメッセージを出力すれば、それは一定時間内の使用であるので
      放置によるレコード・ロックによるものではなく
   今回の運用の問題は避けることができます。

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目