ABEND
フリー編
JCLチームのメンバーとしてJCLを見直していたが、ちゃんと動く気配を感じるとができなかった。
JCLチームのリーダである小森さんも自分のプログラム修正ばかりで全然手伝ってもくれない状況で、課金サブシステムの結合試験の確認がスタートするのであった。
【ABEND】
私:『ABENDしました!』
Fシステム社・システム部部長
:「おいおい。なんで止まったんだ?」
Fシステム社・営業部部長
:「全然進まないぞ。大丈夫か?」
Fシステム社・事業部長
:「・・・」
Fシステム社・PM
山崎:「赤井さん ちょっと確認して!」
課金サブシステム SE 赤井さん
赤井:「大川くん プログラム見てくれる?」
課金サブシステム PG 大川さん
大川:「はい。わかりました。」
もう既に終電のない時間帯。
試験が始まってから数時間たったが、JCLは実行すればすぐ止まる。
私と隣に座っている大川さんの後ろで、F社、Fシステム社の重鎮達が、JCLを実行している私のパソコンを覗き込むようにして見ている。
ABENDしても、その怒り?の矛先が実行している私ではなく、PMの山崎さんに向けられているるだけまだ良いか。。。と思いながら、重鎮達の言葉の奥に、すぐ止まる処理に対する、いや、進捗の悪いプロジェクトに対してだろうか、イライラ感が隠れて見える。
【設計不良】
ABENDのほとんどはファイルのレコードサイズ、ブロックサイズの違い。
プログラム自体がおかしくて止まる、ということはあまりない。
もちろん、結果が正しいかどうか?というのは結合試験のアウトプットを確認しなければならないから別の話だ。
JCLがABENDでストップしてしまうのは、実際に使用する入出力ファイルのサイズがJCLに記載していあるサイズと異なっていることが多い。つまり、入出力ファイルに関する設計が甘いのだ。
実行するプログラムの入出力ファイルの仕様を調べ、その結果を基にJCLを修正すれば良いのだが、その設計担当の赤井さんも、プログラム担当の大川さんもABENDしてる今自転の調査をすることで手一杯で先回りして調べる余裕なんて全くない状態だった。
大川:「佐藤さん。JCLのここのファイルサイズ直してもらえるかな?後続JOBも同じだと思うから、まとめて直してもらえるといいと思う。」
私:『了解。』
重鎮達は、我々の調査から次に実行できるまでの間は、タバコを吸いに行っていて、2人の周りには誰もいない。
私:『でも、あれですよね?一旦止めて、設計とプログラム見直してJCLを修正してから実行し直したほうが、早く進むと思うんですけど。』
大川:「だよね?まぁでも進めるだけ進めて、ここまでやったというのが必要なんじゃないかな?山崎さんPMなんだから仕切り直してくれればよいと思うんだけど・・・」
大川さんもプログラムを設計通りに作ったものの、設計で指定されているファイルの仕様や、使用すべきファイル自体が違う、という状況でプログラムの修正というよりも、設計の指示内容の見直しに時間をとられていた。
【繰り返されるABEND】
私:『また止まりました!』
Fシステム社・PM
山崎:「赤井さん 確認して!」
課金サブシステム PG
大川:「赤井さん!また、ファイルが違いますよ!」
課金サブシステム SE
赤井:汗
もうどれくらい繰り返しているだろう。とっくに日付変更線を超えていた。
動かして止まって、直して動かして。
JCLがほとんど元の形をなしていないような気がする。
Fシステム社・システム部部長
:「山崎よぉ。いったいいつになったら全部動くんだよ?」
Fシステム社・営業部部長
:「お客様への報告どうするんだ?これ?」
Fシステム社・事業部長
:「・・・」
待って見ている方も、これだけ進まなければ辛いだろう。
重い空気漂う中、PMの山崎さんと重鎮達は、奥の会議室に入って行った。
そして我々もタバコ休憩へ。
大川:「いやー。眠い。打ち合わせで仕切り直しになればいいけど。」
私:『もう少ししたら明るくなるもんね。ここまで来たら、最後まで実行はできるだろうけど。でも、もう一回、最初から実行しなおしても、うまく動くような感じがしないね。』
大川:「そうだよね。入出力ファイルもずいぶん変わっちゃってるから。プログラムも動いてるけど、処理の流れも、結果も正しいのか分からないよね。」
JCLが全部動いたとしても、入出力ファイルが変わっていれば、プログラムの処理結果に影響がないはずがなかった。
【仕切り直しの時間】
大川さんとJCLの修正と処理の実行を進めていると、PMの山崎さんと重鎮達の打ち合わせが終わって、会議室から出てきた。30分?いや1時間くらい経ったのではないだろうか?
Fシステム社・PM
山崎:「とりあえず、もう少しで始発が始まるので、事業部長達は帰宅するから。いったんそれまでは今まで通り動かしてみよう。それで一通り処理が通ればいいけど。」
課金サブシステム SE
赤井:「わかりました。いちおう今の会議の間でここまで進んだので。朝までにはひととおりの処理は通ると思います。」
重鎮達はもう私のラップトップ パソコンを覗き込むことはしない。
徹夜明けの疲れた身体で眠そうに始発電車が始まる時間を待っているだけだ。
私と大川さんは、残された時間で、なんとか最後まで処理が終わるように最後の力を振り絞った。相変わらず、実行すると処理が止まるが、何度も繰り返しているおかげで、エラーコードの意味はマニュアルを見ずとも分かるようになっていた。
「これが完了すれば、仕切り直しだからな。」
と、疲れ切った身体に鞭打ち、キーボードを叩く。
普段なら気を抜くと眠ってしまいそうな時間帯だが、今日の、重鎮達に覗き込まれた緊張感からか、不思議と眠くはなかった。
既に外は明るい。
なんとか処理は最後まで実行することができた。
もちろん、重鎮達は帰宅したあとだった。
【やりきったあとで?】
大川:「ふぅ〜。なんとか。なんとか終わったね。」
私:『うん。とりあえずはよかった。』
大川:「これ。やっぱりプログラムを全部見直さなきゃダメかも。」
私:『そうだよね。あれだけ直したから心配だよね?』
課金サブシステム SE
赤井:「私もね、ジョブの流れ含めて、入手力ファイル見直すから。」
一通りプログラムが動いたものの、入出力ファイルの変更があると全体の動きですら変更しなかればいけない可能性もある。
『他のサブシステムのJCLも同じようになってるはずだから、全部見直さないとまずいぞ。』と、他のサブシステムで同じことが起こらないように修正しなければならないと、リーダーにも共有が必要だと思い辺りを見渡した。
『そいういえば、終電くらいの時間帯までは姿を見たんだけどな。いつの間にかいなくなってたな。』
JCLリーダーの小森さんは誰にも気配を感じさせず、いなくなっていたのだった。
Fシステム社・PM
山崎:「お疲れさま!とりあえず、最後まで実行できてよかったよ。」
大川・私:「はい!」
山崎:「じゃぁ、このあと、今日ね、午後の6時くらいからまた実行するから。とりえあず、ABENDしないで通したいんだよね。だから、それまでに見直しをお願いね。」
赤井・大川・私:「え!?」
山崎:「眠いの分かるんだけどさ。とりあえず、月曜日までに実行ができたことをお客様に報告しないといけないから。」
課金サブシステム SE
赤井:「いや、実行できてもプログラムの結果が正しいかは、もう既に保証できないですよ?プログラム直して、6時は現実的に無理じゃないですか?」
赤井さんは、この日一番の張りのある声で、もっともな意見を山崎さんに訴えた。
山崎:「うん。だからね。中身はいいよ来週で。とりあえず、ABENDしないで動けば。」
赤井さん、大川さんと顔を見合わせ、まだ続く対応への憤りを言葉に発さぬまま空気で伝えあった。
もちろん、帰っている暇はない。
わずかなだけを仮眠をとって6時に向けた対応を進めるのであった。
※この物語は経験をベースにしたセミフィクションです。
最後までお読みいただきありがとうございました!
TwitterやFacebookなどのSNSでのシェアも大歓迎です!