ABENDコードについて自分の備忘録としてメモ書き。
(間違ってても俺に責任は無いんだかんね(*´ω`*))
・S001
<CLOSEエラー>
同じデータセットを2回CLOSEしよとした。
または、CLOSEしたままのデータセットにアクセスしようとしている。
→そんな馬鹿な!俺のコーディングは完璧だと思ったら、
テープが壊れててIOできない状態になってないか疑う。
でも、結局自分のコーディングミス・・・。所詮僕は3流ですよ。
SORTで出たらDCBとかのパラメータを再確認してみよう。
・S013
<データセットのオープンエラー>
JCLのDCBパラメータがなんかおかしいね。
レコードサイズとかブロックサイズとかが違ってて、
データセットを開けないのかもね
・S0C1
<リンクかプログラムのミス>
リンク対象を再確認してみる。問題無ければプログラムを見直す。
・S0C4
<記憶保護例外>
面倒くさいのでちゃったね。
リンク結果は正常だったのか?正常でなければリンク見直し。
リンクに問題無ければプログラム臭い。OCCURSの添え字はOK?
可変長のデータを固定長に入れようとしてない?
とにかく長さあってる?
・S0C7
<データ例外>
プログラムで定義した項目のタイプにNGな値が入ってきてるね。
9タイプの項目にXタイプ移送してたみたいな。
入力は想定通りですか?プログラムがぐるぐる回ってる中で
妙なデータ生成・移送してませんか?
パック10進数に以外のデータをMOVE的な。
・S0CB
<ゼロで除算>
分母にゼロがくるような除算になってますね。INFILEやロジックを見直せばOK。
・S106
<ロードエラー>
仮想記憶域に渾身のロードを取り出そうとしたけど、
リージョン(またはJCL)に記載したメモリ(REGIONパラメーター)が足りない。
大きさを増やすか、ロードを減量する。
どれくらい増やすかって?勘だよ~ん(*´ω`*)
(正しくはしかるべき人と要相談)
・S213
<OPENエラー>
磁気ディスクにファイルが無いよ。
JCLでアンカタログしてデリート忘れる系→(*´ω`*)
データセット名やボリュームは正しいとこか要確認。
・S214
<CLOSEエラー>
磁気テープにCLOSE命令出したときにでるエラーらしい。
プログラムを確認して問題が無ければテープが壊れてるか疑うけど、
先ずもって自分のプログラムが(略(*´ω`*)
・S222
<オペレータキャンセル>
ニャンニャンニャンと読む、もちろん嘘だ(*´ω`*)。
誰かがそのJOBをキャンセルしたようだね。
・S237
<DCBエラー>
ボリューム合ってるか(DDステートメントの)。
そうでなければデータセットネーム合ってるか。
・S322
<タイムオーバー>
許された時間以上にCPUをそのJCLは使ってる。
プログラムに無限ループが無いか?問題無ければJCLのTIMEパラメータは適切か?
・S513
<OPENエラー>
同じデータセットがOPENになってるときに出るらしい。
・S522
<タイムオーバー>
既定の時間以上JOBが動かなかったらこのアベンド。
今日はホスト混んでるみたいですね。帰りましょう。
(テープのマウント忘れないか?)
・S722
<SYSOUTのラインオーバー>
ログが既定のライン以上出されてアベンド。
データセットに落とすか、DUMMYにするか。
・S80A
<GETMAINエラー>
JOBステートメントのREGIONパラメータの指定が小さい見たいですよ。
・S813
<ファイルエラー>
磁気テープのデータセットをOPENにできなかったみたい。
DSN合ってる?VOL合ってる?
・S822
<リージョンの容量が確保できない>
REGIONパラメータの指定を小さくするなどの修正がいる。
・S929
<PEBエラー>
PSB名合ってますか?
・SB37
<容量足りない>
JCL上のスペースパラメータの指定値が小さい。
または指定したボリュームにそれを確保できる空きが無い。
スぺースパラメータの見直し、指定ボリュームを変えるなどする。
・SD37
<容量足りない>
1次割はうまく確保できたけど2次割で取れなかった。
ボリューム変えるor1次を大きくとる。またはコンプレス。
・SE37
<登録簿が足りない>
2時割るが許された限界の回数を超えた。orそのボリューム使い切った。
または、コンプレス。
・SC78
<メモリ不足?>
z/OSのバージョンアップやツールのバージョンアップ、
もしくはその両方等で仮想ストレージサービスでエラーが発生らしい。