AS400 / IBM i の販売管理・在庫管理では、「画面の在庫と実在庫が合わない」「出荷したはずなのに在庫が残っている」「棚卸後に差異が出た」という相談があります。在庫差異はプログラムだけでなく、出荷確定、入出庫、締め処理、外部連携、手修正が絡むため、業務の流れで追う必要があります。
在庫差異は確認順をそろえておく
在庫差異の調査は、画面で現在庫を見るだけでは終わりません。入出庫履歴、出荷確定、返品、棚卸、夜間バッチ、締め処理のどこで数量が変わったのかを、毎回同じ順番で追えるようにしておくことが大切です。
若手や後任者へ引き継ぐ場合は、実際の画面とジョブログを見ながら「どの情報を先に確認し、どこからCodexで調査メモに整理するか」まで型にすると定着しやすくなります。確認順を実例でそろえる社内研修を検討している場合は、AS400 / IBM i 現場向けCodex研修の内容・料金を確認してください。
在庫差異で見る順番
| 確認 | 見るもの | 判断 |
|---|---|---|
| 対象 | 品番、倉庫、ロット、日付 | 差異の範囲を絞る |
| 履歴 | 入庫、出庫、移動、調整 | どの処理で増減したか |
| 出荷 | 出荷確定、取消、再送 | 二重処理や未確定がないか |
| 締め | 日次・月次バッチ、棚卸反映 | 反映タイミングの差か |
| 手修正 | SQL更新、調整入力、承認 | 人手の修正が影響していないか |
画面だけで判断しない
在庫照会画面の数値だけを見ると、更新途中や締め前後の状態を誤解することがあります。履歴、ジョブログ、バッチ結果、外部連携の送受信を合わせて確認します。
業務名から追う方法は AS400業務トラブルの調べ方、SQL確認時の注意は Query・SQLでデータ確認する時の注意点 を参照してください。
伝票番号を起点に画面・DB・ジャーナルを時系列で追う
現場では、利用部門から「この伝票番号の在庫がおかしい」と連絡を受けることがよくあります。私はまず、伝票番号、品番、倉庫、画面に出ている数量、正しいと考えている数量、異常が起きたと思われる時刻をそろえます。そのうえで、同じ条件を使って画面とDBの両方を確認します。
| 順番 | 確認するもの | 見るポイント |
|---|---|---|
| 1 | 問い合わせ内容 | 伝票番号、品番、倉庫、期待値、発生時刻をそろえる |
| 2 | 業務画面 | 利用者と同じ条件で表示し、見間違いや条件違いを除く |
| 3 | DB | 現在値、関連テーブル、入出庫や引当の履歴を確認する |
| 4 | ジャーナル | 発生時刻の前後を広めに見て、更新前と更新後の差を追う |
| 5 | RPG・CL | どの処理がその更新を行ったか、呼出関係と条件分岐を確認する |
現在のDBだけで経緯が分からない場合は、ジャーナルを使って時系列に追います。異常が起きたと思われる時刻の1件だけを見るのではなく、その前後の更新を確認し、特に更新前と更新後でどの項目が変わったかを比較します。ジャーナルの基本は AS400のジャーナルとコミット制御の確認 にまとめています。
プログラム調査では、事象、対象ファイル、分かっている処理時刻、関連しそうなRPG・CLをCodexへ伝え、更新条件や呼出関係を先に確認します。それでも原因を絞れない場合に、顧客名や実データなどを伏せた必要最小限のジャーナル情報を追加します。Codexの結果だけで確定せず、最終判断は画面、DB、ジョブログ、ジャーナルの事実と照合します。改修前の確認は RPG/CL影響調査チェックリスト も参照してください。
関連: AS400得意先・品番マスタ不備の調べ方|受注・出荷・請求で起きる影響を見るもあわせて確認してください。
関連: AS400棚卸差異・在庫調整のチェックリスト|数量を直す前に見るべき画面と証跡もあわせて確認してください。
関連: AS400出荷確定できない時の確認手順|在庫・引当・ロック・出荷データを切り分けるもあわせて確認してください。
関連するAS400確認ルート
在庫差異は、在庫照会、入出庫履歴、棚卸、締め処理、出荷確定を分けて確認します。現場では数字だけでなく、いつ・誰が・どの業務で差異を作ったかまで追う必要があります。
在庫差異は数量を直す前に発生地点を探す
在庫差異が出た時、現在庫を直接修正すると一時的には合いますが、原因が残ることがあります。受注引当、出荷確定、入荷、返品、棚卸反映、外部倉庫連携のどこで差が出たかを見ます。私は、数量を直す前に、最後に一致していた時点と最初に差が出た時点を探します。
| 出荷系 | 出荷確定、ピッキング、EDI送信 |
| 入荷系 | 入荷登録、検品、仕入計上 |
| 棚卸 | 棚卸入力、差異承認、反映バッチ |
| 外部連携 | 倉庫在庫、再送、二重送信 |