AS400 / IBM i の保守では、ACS(IBM i Access Client Solutions)のSQL画面やDb2 for iを使って、ジョブ、オブジェクト、ファイル、IFS(統合ファイルシステム)、スプール、システム情報を確認する場面があります。最近のIBM iでは、コマンドだけでなくSQLで運用情報を見る方法も増えています。
ただし、SQLは便利な反面、本番データを扱う時の注意も大きいです。この記事では、IBM i SQL ServicesやACSのSQLを「本番を壊さず確認する入口」として、初心者・保守担当者向けに整理します。細かいSQL文の暗記よりも、まずSELECT中心で見る、更新系SQLを不用意に打たない、という考え方を大切にします。
IBM i SQL Servicesとは
IBM i SQL Servicesは、IBM i のシステム情報や運用情報をSQLで確認できる仕組みです。従来はコマンドや画面で見ていた情報の一部を、SQLのSELECTで取得できます。たとえば、オブジェクト、ジョブ、IFS、メッセージ、権限、システム値などを調べる時の入口になります。
AS400現場では、まずコマンドで確認する文化が強いですが、SQLで一覧化できると、調査結果を整理しやすくなります。特に影響調査、棚卸し、バックアップ対象確認、不要オブジェクト調査、ドキュメント化では役立ちます。
最初はSELECTだけで使う
初心者がACSのSQLを使う時は、まずSELECTだけに絞るのが安全です。SELECTは情報を確認するための入口です。UPDATE、DELETE、INSERT、CREATE、DROPのような更新・変更系は、作業手順、バックアップ、レビュー、復旧方法がない状態では使わないようにします。
| SQLの種類 | 初心者の扱い | 理由 |
|---|---|---|
| SELECT | 確認用として使う | 対象データや運用情報を読む入口になる |
| UPDATE | 原則レビュー後 | 本番データを書き換えるため事故影響が大きい |
| DELETE | 原則使わない | 削除は復元が難しく、条件漏れが致命的になる |
| INSERT | 手順化してから | 重複、採番、整合性に注意が必要 |
| DROP / CREATE | 管理者判断 | オブジェクトや環境に直接影響する |
コマンドとSQLを使い分ける
AS400保守では、コマンドとSQLを対立させる必要はありません。WRKACTJOB、WRKJOB、DSPJOBLOG、DSPFFD、DSPPFM、WRKSPLFのようなコマンドで画面確認し、必要に応じてSQLで一覧化する、という使い分けが現実的です。
| 見たいこと | コマンドの入口 | SQLで見る時の考え方 |
|---|---|---|
| ジョブ状態 | WRKACTJOB / WRKJOB | 一覧化して対象ジョブを絞る |
| ファイル定義 | DSPFFD | 項目一覧や桁数を資料化する |
| ファイル内容 | DSPPFM | 条件を付けてSELECTする |
| スプール | WRKSPLF | 帳票や出力状況を一覧化する |
| オブジェクト | DSPOBJD / WRKOBJ | ライブラリ内の棚卸しに使う |
コマンド名から探したい場合は、AS400コマンド逆引き を入口にしてください。SQLとコマンドの両方を知っておくと、調査の選択肢が増えます。
データ抽出では条件とマスキングを先に決める
ACSのSQLでデータを抽出する時は、対象ライブラリ、対象ファイル、抽出条件、出力先、利用目的、機密情報の扱いを先に決めます。顧客名、住所、電話番号、金額、社員情報を含む場合は、必要最小限の項目に絞り、マスキングや保存場所を決めてから実行します。
データ抽出の全体像は、AS400データ抽出ガイド にまとめています。DSPPFM、Query、SQL、CPYTOIMPFを使う前に、まずここで確認項目をそろえると安全です。
本番でSQLを使う前のチェック
- 接続先が本番かテストかを確認する
- ライブラリ名を明示する
- SELECT文から始める
- 件数が想定内か確認する
- WHERE条件を外した状態で更新しない
- CSV出力時は保存先と削除ルールを決める
- AIや外部サービスへ渡す前に機密情報をマスキングする
本番作業の前提は、AS400本番対応チェックリスト も合わせて確認してください。
CodexやAIに調査結果を渡す時
SQLで取得した一覧やDSPFFDの項目情報をCodexに渡すと、テーブル定義の要約、影響範囲の整理、テスト観点の作成に役立つことがあります。ただし、本番データや個人情報をそのまま渡さないことが前提です。
安全なAI活用は、RPGソースをAIに読ませる時の注意点 と AS400 / IBM i 現場向けCodex実戦研修 で整理しています。
ここまでの要点
IBM i SQL ServicesやACSのSQLは、AS400保守の調査を効率化できる強い道具です。ただし、最初はSELECT中心で使い、本番データ、更新SQL、CSV出力、機密情報の扱いを慎重に決めることが大切です。
コマンドで見る、SQLで一覧化する、必要に応じてAIで整理する。この3つを安全に使い分けると、AS400保守の調査とドキュメント化がかなり進めやすくなります。
ACS SQLはまずSELECTで安全に確認する
ACS SQLは、AS400 / IBM iのデータ確認を速くする便利な入口です。ただし、本番環境でいきなりUPDATEやDELETEを試す道具ではありません。最初はSELECTで件数、キー項目、日付、ステータス、対象ライブラリを確認し、実行したSQLを残せる形にします。
- 接続先が本番、検証、開発のどれか確認する
- 対象ライブラリと対象ファイルを明示してSELECTする
- WHERE条件を付ける前後で件数を確認する
- DSPFFDで桁数、属性、キー項目を確認する
- CSV出力時は保存先と削除ルールを決める
- 本番データを更新する場合は、承認と更新前データを残す
SQLエラーや接続で迷った時の入口
| 困りごと | 見るポイント | 次に読む記事 |
|---|---|---|
| SQL7008 | 対象ファイル、メンバー、ジャーナル、コミット | SQL7008の確認ポイント |
| SQL9010 | SQLCODE、SQLSTATE、ジョブログ、権限 | SQL9010の確認ポイント |
| ODBC/JDBC接続 | ACS、接続ユーザー、権限、ライブラリリスト | ODBC/JDBC接続の確認ポイント |
| 既存Query | WRKQRY、RUNQRY、抽出条件、出力先 | QUERY/400の確認ポイント |
ACS SQLの次に確認する記事
SQL確認を相談する前に決めること
ACS SQLでAS400 / IBM iのデータを確認する時は、SELECTだけでも条件を誤ると件数が膨らんだり、機密情報を広く出しすぎたりします。外部へ抽出や調査を相談する前に、対象範囲と利用目的を決めておくと安全です。
| 決める項目 | 確認する理由 |
|---|---|
| 対象データ | 会社、拠点、期間、得意先、商品など、WHERE条件にする項目を決めます。 |
| 利用目的 | 調査、監査、移行、外部連携で必要な項目と粒度が変わります。 |
| 権限と機密情報 | 個人情報、単価、取引先情報を出すか、マスキングするかを確認します。 |
| 出力方法 | 画面確認だけか、CSVやExcelで渡すのかを先に分けます。 |
抽出条件を詰める場合は、AS400データ抽出ガイドとAS400業務ヒアリングシートも確認してください。安全なSQL確認やデータ抽出を相談したい場合は、お問い合わせから概要を共有できます。
SQLコマンド・RUNSQLSTMで探す前に決めること
「AS400 SQLコマンド」「RUNSQLSTM」「SQL JOIN」「SQL SUBSTRING」で調べている時は、確認用のSELECTなのか、本番更新なのかを最初に分けます。SQL Servicesは運用確認に便利ですが、UPDATE/DELETEや大量抽出は、権限、バックアップ、レビュー、戻し方を決めてから扱う必要があります。
- データ確認の流れを見る: Query/SQLデータ確認チェックリスト
- 本番更新の承認を見る: 本番SQL更新の承認フロー
- SQL7008などのエラーを見る: SQL7008 / Db2 for i確認
ACS SQLを使う人を社内で増やすときの注意
ACS SQLはAS400 / IBM i の状態確認やデータ調査に便利ですが、使える人を増やすときは、権限、参照専用の範囲、実行してよいSQL、実行してはいけないSQLを先に決めておく必要があります。
若手や非AS400出身者に教える場合は、SQLの書き方だけでなく、どの画面やジョブログと照合するか、結果をどう保守判断に使うかまで練習すると効果が出やすくなります。Codexは、SQLの意味説明、確認観点の整理、手順書の下書きに使うと安全です。
参考:IBM公式ドキュメント(DSPFFD)
本記事で扱った DSPFFD の全パラメーターと表示項目の定義は、IBM公式ドキュメントで確認できます。指定できる値や既定値はOSリリースによって異なるため、本番環境では自社のリリースに合わせて確認してください。
