保存・退避系コマンドの注意も確認 本番作業前にSAVLIB、SAVOBJ、SAVFを使う場合は、ロック、保存先、DSPSAVF、復元確認が重要です。詳しくは AS400の保存・退避系コマンドの注意点 にまとめています。
本番障害の初動対応も確認 作業者、環境、影響範囲、ジョブログ、MSGW、データリカバリーをどの順番で見るかは、AS400本番障害の初動対応チェックリスト にまとめています。焦って作業する前の確認用に使えます。
CPF番号から確認したい場合 CPF0000、CPF4101、CPF4131、CPF9801など、よく見るCPFの確認ポイントは AS400 CPFエラー一覧 にまとめています。
AS400(IBM i)を触り始めると、最初につまずきやすい言葉が「ライブラリ」です。Windowsのフォルダと似ている部分もありますが、AS400ではライブラリの中にプログラム、ファイル、コマンド、ソースファイルなどのオブジェクトが入ります。
ライブラリの考え方を理解すると、ソースの場所、コンパイル後のプログラム、実行時に参照されるファイルを追いやすくなります。
ライブラリとは
ライブラリーリストは上から順番に探す
初心者にライブラリーリストを説明するなら、私はまず「AS400はライブラリーリストの上から順番にオブジェクトやファイルを探していく」と伝えます。

同じ名前のプログラムやファイルが複数のライブラリーにある場合、どのライブラリーが先に見つかるかで、実行されるプログラムや参照されるファイルが変わります。だから、AS400 / IBM i の保守ではライブラリーリスト確認がとても重要です。
DSPLIBL WRKLIB LIB(TESTLIB) WRKOBJ OBJ(TESTLIB/TEST001R) OBJTYPE(*PGM) WRKOBJ OBJ(TESTLIB/TESTFILE) OBJTYPE(*FILE)
コマンドを覚えるだけなら簡単です。しかし本番保守で大事なのは、今どのライブラリーを見ているのか、これからどのライブラリーのオブジェクトを触るのかを確認することです。
ライブラリー指定ミスが怖い場面
ライブラリー指定ミスが怖いのは、テスト環境と本番環境を取り違える場面です。テストのつもりで本番ライブラリーを触る、本番確認のつもりでテストライブラリーを見ている。この取り違えは、画面の見た目が似ているほど起こりやすくなります。
特に怖いのは、SQLや CLRPFM のような更新・削除系の作業です。ファイル名が合っていても、ライブラリー名が違えば別物です。私はSQL修正や本番作業では、最後は目視でライブラリー名を確認します。
| 危ない場面 | 何が起きるか | 確認すること |
|---|---|---|
| 同名ファイルがある | テスト用のつもりが本番ファイルを更新する | ライブラリー名、DSPLIBL、対象ファイル |
| 同名プログラムがある | 古いプログラムや別環境のプログラムを実行する | WRKOBJ、ライブラリーリスト、コンパイル環境 |
| SQLでライブラリー省略 | 意図しないライブラリーのテーブルを参照・更新する | SQL内のスキーマ指定、実行環境 |
| CLRPFMの対象ミス | 消してはいけないデータをクリアする | 対象ライブラリー、対象ファイル、バックアップ |
販売管理システムではライブラリー確認が業務事故を防ぐ
販売管理システムでは、受注、出荷、在庫引当、売上、請求、店舗連携、物流連携など、多くの処理がAS400上で動いています。ライブラリーを間違えると、単に技術的なミスでは済まず、業務データの不整合につながることがあります。
たとえば、テスト用データを見ているつもりで判断した結果、本番では対象件数が違うことがあります。逆に、本番データをテストのつもりでクリアしてしまえば大事故です。だから本番作業では、画面右上のマシン名、ライブラリーリスト、対象ライブラリー、対象ファイルをセットで確認します。
若手に伝えたいライブラリー確認の考え方
若手に「ライブラリーだけはここを見ろ」と言うなら、私は環境とライブラリーリストを見ろと言います。どのマシンに入っているのか、どのライブラリーが上位にあるのか、対象オブジェクトはどこにあるのか。ここを確認できないまま本番の更新系作業をしてはいけません。
AS400は古く見えるかもしれませんが、ライブラリーの考え方を理解すると保守はかなりやりやすくなります。逆にここを曖昧にしたまま作業すると、コマンドを知っていても危ない作業者になります。
ライブラリは、IBM i上のオブジェクトをまとめる入れ物です。業務システムごと、会社ごと、開発環境と本番環境ごとにライブラリを分けることが多いです。
たとえば、TESTLIB というライブラリの中に、RPGソースを入れる QRPGLESRC、CLソースを入れる QCLSRC、コンパイル済みプログラム、物理ファイルや論理ファイルが配置されることがあります。
ライブラリとオブジェクトの関係
| 用語 | 説明 |
|---|---|
| ライブラリ | オブジェクトをまとめる入れ物 |
| オブジェクト | プログラム、ファイル、コマンドなどの実体 |
| ソースファイル | ソースメンバーを格納するファイル。例: QRPGLESRC |
| メンバー | ソースファイル内の1つのソース。例: TEST001R |
よく使う確認コマンド
WRKLIB TESTLIB: ライブラリを確認するWRKOBJ TESTLIB/*ALL: ライブラリ内のオブジェクトを確認するWRKMBRPDM FILE(TESTLIB/QRPGLESRC): ソースメンバーを確認するDSPOBJD OBJ(TESTLIB/TEST001R) OBJTYPE(*PGM): オブジェクト詳細を確認するADDLIBLE ライブラリ名: ライブラリリストに追加する
ライブラリリストとは
ライブラリリストは、プログラム実行時にオブジェクトを探す順番です。同じ名前のファイルやプログラムが複数のライブラリにある場合、ライブラリリストの順番によって参照される実体が変わります。
開発環境ではテスト用ライブラリを先に置き、本番環境では本番ライブラリを参照する、といった使い分けをします。障害調査では、どのライブラリのオブジェクトを実行しているかを必ず確認します。
ソースとプログラムの違い
RPGソースは、通常 QRPGLESRC などのソースファイル内のメンバーとして保存されます。これをコンパイルすると、実行可能な *PGM オブジェクトが作成されます。ソースを直しただけでは実行内容は変わらず、コンパイルして初めてプログラムに反映されます。
保守で注意すること
- 同名オブジェクトが別ライブラリにないか確認する
- 修正したソースと実行しているプログラムのライブラリが一致しているか確認する
- 本番ライブラリを直接変更しない運用なら、開発・検証・本番の流れを守る
- コンパイル前後でオブジェクトの更新日時を確認する
基本操作を覚えるには、AS400の基本コマンド10選もあわせて確認してください。
まとめ
AS400のライブラリは、単なるフォルダではなく、実行環境や参照順序に関わる重要な仕組みです。保守では、ソースメンバー、コンパイル後のオブジェクト、ライブラリリストの3つをセットで確認することが大切です。
25年以上AS400に関わって感じること
私は2000年に新卒でIT業界に入り、流通業界の販売管理システムでAS400(IBM i)の開発・保守・追加要望対応を続けてきました。入社当時から「AS400は近いうちになくなる」と言われていましたが、今も現場では現役です。C言語研修では苦労しましたが、RPGに触れたときは「これならやっていける」と感じました。この記事も、そうした現場経験をもとに初心者向けに整理しています。
この記事の現場視点
ライブラリやオブジェクトの考え方は、最初は独特に感じます。ただ、慣れてくるとAS400らしい整理された仕組みに見えてきます。私はこのあたりが、オープン系より扱いやすいと感じた理由の一つです。
ライブラリで迷わないための確認ポイント
AS400のライブラリは、Windowsのフォルダのように見えますが、実務では権限、ライブラリリスト、同名オブジェクトの優先順位が問題になることがあります。環境差が原因のエラーでは、どのライブラリを参照しているかを確認するだけで解決に近づくことがあります。
- 本番、検証、開発でライブラリ名が分かれているか
- ライブラリリストの順番が想定通りか
- 同じ名前のプログラムやファイルが別ライブラリにないか
- ソースと実行オブジェクトの更新日が合っているか
よくある質問
ライブラリを見ればプログラムの場所はすぐわかりますか?
オブジェクトの場所は確認できますが、実行時にどれが使われるかはライブラリリストの順番にも左右されます。調査時は、単に存在確認をするだけでなく、実行ジョブが参照している順番まで確認すると安全です。
このサイトの運営方針は、このサイトについて にまとめています。
ライブラリリストは本番作業の事故防止に直結する
ライブラリリストは、AS400が上から順番にオブジェクトやファイルを探しに行くための参照順です。若手に説明するときは、「一番上から探して、先に見つかったものを使う」と伝えるのが一番わかりやすいです。
本番対応やデータリカバリーで一番怖いのは、対象ライブラリを間違えることです。同じ名前のファイルやプログラムが複数環境にある場合、ライブラリリストの見方を誤ると、テスト環境のつもりで本番を触る、または本番のつもりでテストを見てしまう事故につながります。
| 確認するもの | 見る理由 | 危ない例 |
|---|---|---|
| DSPLIBL | 現在の参照順を確認する | 想定外のライブラリが上位にある |
| WRKOBJ | どのライブラリのオブジェクトを見ているか確認する | *LIBL指定で別環境を参照する |
| ジョブ記述 | バッチ実行時の環境を見る | 対話環境とバッチ環境が違う |
ライブラリは単なる入れ物ではなく、環境の境界線です。保守担当者は、コマンド実行前に必ず対象環境を確認する癖を持つべきです。
AS400を体系的に学ぶなら
基本操作、ライブラリ、RPG/CL、ジョブログ、本番対応まで順番に読みたい方は、AS400初心者向け完全ガイドも参考にしてください。

