AS400本番反映・戻し手順チェックリスト|RPG/CL小改修を安全にリリースする

AS400 / IBM i の小改修では、テストが終わった後の本番反映と戻し手順が重要です。RPG/CLのオブジェクトを入れ替える、CLを差し替える、ファイル定義を変更する、夜間バッチに影響する修正を入れる場合は、反映前に「失敗した時にどう戻すか」を決めておく必要があります。

この記事では、AS400保守で本番反映前に確認すること、反映時に残す証跡、問題発生時の戻し方を整理します。サービス紹介だけでは見えにくい、現場で本当に必要になる作業です。

本番反映前に確認すること

確認項目見ること残すもの
対象オブジェクトプログラム、CL、ファイル、メニュー変更前後のオブジェクト名とライブラリ
反映時間業務停止時間、夜間バッチ開始時刻作業予定と承認者
バックアップ変更前オブジェクト、ソース、SAVFSAVOBJ、SAVLIB、SAVF名
テスト結果正常系、異常系、後続処理ジョブログ、画面、帳票、スプール
戻し手順問題時に何を戻すか復元コマンドと判断基準

変更前オブジェクトを必ず残す

本番反映で一番怖いのは、戻したい時に変更前が残っていないことです。プログラムやCLを入れ替える前に、変更前オブジェクトを別ライブラリやSAVFへ保存し、いつ、誰が、何を保存したかを記録します。ソースだけでなく、実行オブジェクトも戻せる状態にしておくと安全です。

夜間バッチ前後の反映は特に注意する

夜間バッチの前後に反映する場合は、JOBQ、SBSD、JOBSCDE、後続ジョブの開始時刻を確認します。請求締めや出荷確定に関わる処理では、途中で止まった時の再実行可否も先に決めておきます。反映直後にMSGW(メッセージ応答待ち)やCPF/RNXが出た場合、すぐジョブログを確認できる体制が必要です。

本番障害の初動は、AS400本番障害の初動チェックリストに整理しています。

反映後に見るエビデンス

反映後は、画面が動くかだけでなく、ジョブログ、スプール、更新ファイル、後続処理、外部連携を確認します。AS400では、画面上は正常に見えても、帳票やバッチ、CSV出力で後から問題が出ることがあります。

テストと証跡の残し方は、AS400小改修後のテスト・エビデンスチェックリストも参考になります。

戻し判断を先に決める

戻すかどうかの判断基準を反映後に考えると遅くなります。たとえば、特定のCPF/RNXが出たら戻す、締め処理が途中で止まったら業務担当者へ確認する、外部連携ファイルが作成されなければ旧オブジェクトへ戻す、という基準を先に決めます。

Codexで反映手順を整理する時

Codexは、本番反映手順、戻し手順、テスト観点、確認チェックリストの下書きを作る用途に使えます。ただし、会社名、ユーザー名、本番データ、取引先名は伏せ、実際のコマンド実行や本番判断は人間が行います。AIに作業を任せるのではなく、抜け漏れを減らす補助として使うのが安全です。

社内で安全に使うルールは、AS400 / IBM i 現場向け Codex実戦研修で整理できます。

ここまでの要点

AS400の本番反映では、対象オブジェクト、反映時間、バックアップ、テスト結果、戻し手順を先に確認します。変更前を残し、反映後のジョブログやスプールを確認し、問題時の戻し基準を決めておくことで、本番作業のリスクを下げられます。

ロールバック手順にジャーナル確認を入れる

AS400 / IBM i の本番反映で怖いのは、プログラムを戻すだけでは業務データが戻らないケースです。ジャーナルを設定しているファイルなら、障害発生後にDSPJRNで更新前・更新後の履歴を機械的に確認できます。COMMIT前ならROLLBACKで取り消せる可能性がありますが、COMMIT後はジャーナル、退避データ、バックアップ、承認記録を見て戻し案を作ります。

DSPJRNで更新前データを用意する考え方

DSPJRNをファイル出力すると、前半にIBM i側の制御情報、後半に実データが入ります。障害の時刻、ジョブ、ユーザー、更新区分、キー項目を手がかりにQRYやSQLで抽出すれば、更新前レコードの候補を作れます。これをそのまま本番へ戻すのではなく、業務担当者と対象件数、キー、更新時刻、後続処理を確認してからリランまたはデータ戻しを判断します。

確認するもの見る理由
障害発生時刻DSPJRNの抽出範囲を絞る
ジョブ名・ユーザー誤更新した処理や担当を特定する
更新前・更新後イメージ戻すべき値と、戻してはいけない値を分ける
キー項目対象レコードだけを抽出する
後続ジョブ・外部連携EDIや締め処理へ影響が出ていないか確認する

MSGW起点なら戻す前にジョブログを残す

障害起点がMSGWの場合、先にジョブログ、メッセージID、対象ファイル、直前の反映物、スプールを保存します。原因を残さずに戻すと、再実行後に同じ問題が出た時に追えなくなります。戻しは「旧オブジェクトへ戻す」「更新前データを戻す」「リランする」「外部連携を再送する」を分け、二重更新や二重送信を避けます。

戻した後に復旧完了とする条件

旧オブジェクトへ戻した、更新前データを戻した、リランした、という操作だけでは復旧完了とは言い切れません。戻し後は、業務データと後続処理が矛盾していないことを確認してから完了にします。

確認先見ること完了にしない状態
ジョブログ戻し処理、リラン、後続ジョブの完了同じCPF/RNXやMSGWが残る
業務データ対象件数、キー、更新前後の値戻す対象外のレコードまで変わっている
帳票・スプール請求書、出荷指示、エラーリスト画面は戻ったが帳票が旧状態のまま
外部連携EDI、CSV、FTP、再送有無相手先へ二重送信・未送信が残る
業務承認利用部門、運用担当、保守責任者誰が復旧OKを出したか残らない

あわせて確認するAS400本番作業記事

参考:IBM公式ドキュメント(DSPJRN)

本記事で扱った DSPJRN の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。