($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
OPNDBFでCPF4125が発生する原因 初心 さん [ 8月19日(金) 11時15分 ]
CL
 OVRDBF FILE(AAAAA) SHARE(*YES)
 OPNDBF FILE(*CURLIB/AAAAA) OPTION(*ALL)    
 CALL ABCD
の、
OPNDBFのステップでCPF4125が稀に発生します。
どの様な時に、発生するものでしょうか。
RE:OPNDBFでCPF4125が発生する原因 IKD さん [ 8月19日(金) 22時1分 ]
「エラーが出ました。何が原因ですか?」と
尋ねるのなら「私は何をしました。」とか
条件や環境などわかっていることすべて
説明する義務がありますよ。

エラーが出る原因はただひとつではないのです。
エラーの原因は無限個あります。

エラーだけを述べて
ご自分は説明せずにすべて回答者にやらせて
原因を教えてくれとは
虫がよすぎませんか?

厳しいようですがこのように質問が多すぎます。

質問されるならきちんと誠意を尽くして。
RE:OPNDBFでCPF4125が発生する原因 初心 さん [ 8月20日(土) 10時10分 ]
IKD様

配慮が足りず、大変失礼致しました。

実行環境のOSは、「V6R1」になります。
試したことは、
 1.問題PGM.同士の複数実行
 2.問題となっているテーブルをUPDATEモードで読み込んだ状態のままにしての実行。
  (ロック待機の状態となるのみ。)
を行ってみましたがエラーを再現することはできませんでした。

また、稀に起こると書かせて頂いた通り、
落ちた時の実行ログを見ると、
落ちる前にも普通に動いており、しっかりクローズもされてました。

CPF4125がどの様な状態の時に発生するのかがわからず
エラーを再現できてない状況となっております。
RE:OPNDBFでCPF4125が発生する原因 IKD さん [ 8月21日(日) 11時9分 ]
CPF4125 のロー・レベル・メッセージを良く読むと
「原因??前のメッセージにリストされている理由により,...」とあります。
つまり、このエラーの前に別の原因となるエラーが表示されているはずだと
言っています。
従って、このジョブのログを詳しく調べる必要があります。

多くのCPFエラーの原因は

 1. 最初に起こったCPFエラーに原因がある。(以前のCPFエラー)

  2. CPFエラーのロール・レベル・メッセージの中に
   「次の xx の理由によってエラーが起こった」と原因が明記されている。

のパターンに分類されますが多くのユーザーは
エラー・メッセージを読まないで「これが原因ではないか?」との「あてすっぽう」で
原因を推測しがちです。

この場合は 1.に該当しますのでCPF4125の前にエラーが出ていないかまず
調べることです。

CPF4125 は「前のメッセージがない場合には,内部オブジェクトを割り振ろうとした時にエラーが
起こりました 」
とあります。

おまけに「回復手順??前にリストされたメッセージを参照してください 問題があればこれを
訂正して, OPNDBF コマンドをやり直してください 」とあります。

なんと親切に詳しく解説されているではありませんか。
ユーザーがエラーを解決できない原因の大半は「エラー・メッセージを読まない」ことにあります。
Windows, UNIX, ...などの他のOSでは IBM i ほど詳しいエラー・メッセージの記述はありませ
ん。
ところがメッセージが詳しすぎるせいか多くのユーザーはメッセージを読まないで
原因だけを仮定によって特定しようとします。

エラーがおきたときこそ論理的思考が必要となります。
それには「読む」ことです。
RE:OPNDBFでCPF4125が発生する原因 初心 さん [ 8月21日(日) 16時59分 ]
ご回答ありがとうございます。
また、しっかりログを読み込んでとのご指摘、大変恐縮です。

今回の場合、前にメッセージはありませんので、
「エラーが内部オブジェクトを割り当てようと発生しました」
になりますが、
IKD様でしたら、どのような時とお考えになりますか。

自分は読んでもわからず、IKD様ご指摘の
「あてすっぽう」的な前レスで記述した内容により、
再現テストを行い、再現できない状況に陥ってます。

RE:OPNDBFでCPF4125が発生する原因 IKD さん [ 8月22日(月) 7時11分 ]
以前のメッセージがないということは
間接的な障害に起因しているということではないので
別のジョブと競合が起きている、という通常の結果と予想されます。

従ってどのジョブと競合が起きているのかを調べる必要があります。

OPNDBF FILE(*CURLIB/AAAAA) OPTION(*ALL) 
MONMSG  CPF4100 EXEC(DO)
WRKOBJLCK OBJ(*CURLIB/AAAAA) OBJTYPE(*FILE) OUTPUT(*PRINT)
ENDDO

として競合ジョブをリストしてそのジョブを調べれば
予想もしなかったことに原因があるかも知れません。
少なくとも原因は明確にはなります。
RE:OPNDBFでCPF4125が発生する原因 初心 さん [ 8月22日(月) 9時50分 ]
ロックについては少しちがうかなと思いながら、
テストを実施しましたが再現出来ず状態でしたが、
実際にはIKD様が言われる様、
予想もしなかった原因があるかもしれませんね。
本番ソースへの変更が許可されるかわかりませんが
チャンジ出来ればと思います。

色々、ありがとうございました。


RE:OPNDBFでCPF4125が発生する原因 となりのSE さん [ 8月22日(月) 12時30分 ]
休みの日 QSECOFR で 動かす。

エラー発生 JOBLOGを見て DEBUG

エラーなし 原因は 権限 または 他のjobとの競合
RE:OPNDBFでCPF4125が発生する原因 初心 さん [ 8月22日(月) 20時47分 ]
ありがとうございます。

権限の問題はなさそうなので、他のjobとの競合ですよね・・・

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目