ステータスをDBから取得する方法
SAPにおける指図(内部指図、製造指図)やWBSなどのオブジェクトは、下記のようなステータスを持つ。
REL リリース
TECO 技術的完了
CMPL 完了
DLFL 削除フラグ
ステータスをデータベーステーブルから取得する手順について解説する。
STEP1:オブジェクト番号を取得する
ステータスはオブジェクト番号に紐づけて管理されている。(伝票番号とは異なる)
下記の項目をまず取得する。
・指図
AUFK-OBJNR
・WBS
PRPS-OBJNR
STEP2:テーブルJESTからステータスを取得する
STEP1で取得したOBJNRを使用してテーブルJESTを検索する。
JESTにはオブジェクトのステータスが格納されているので、ここが各伝票のステータスを表すテーブルとなっている。
・ステータスコード
ただし、ステータスはI001のような形で、コードとして保持されており、目視ではどのようなステータスなのかわからない。(I001はCRTD、作成済を意味する)
ステータスIDに対するテキスト情報を取得したい場合はSTEP3に進む。
・無効フラグ
ステータスをJESTから取得すると、無効フラグが付いている行が含まれる場合がある。
指図やWBSをトランザクションから参照してステータス画面で見ると、無効フラグがついているステータスは表示されていない。
STEP3:テーブルTJ02Tからステータステキストを取得する
テーブルTJ02Tには、ステータスIDに対するテキストが格納されている。
「CRTD」のようなステータスコード、「作成済」のようなステータステキストの両方を持つ。
例えば帳票やアドオン画面などにステータステキストを出力したい場合は、テーブルTJ02Tからデータを取得する。
STEP4:テーブルJCDSでステータス履歴を確認する
テーブルJESTだけでは、ステータスがいつどのような変遷を辿ったのかを確認することが出来ない。
テーブルJCDSには、ステータスごとに、誰が何時どのトランザクションでステータスをアップデートしたかを確認できる。
このテーブルの用途として、例えば特定日時より後(または前)にリリースされた指図、というような条件で抽出を行うことが出来るようになる。
まとめ
テーブル関連図を下図のようにまとめる。
より詳しく学びたい方へ(参考書、専門書のご紹介)
・ファーストステップABAP入門 (Espresso Tutorials)
ABAPを勉強したい人向けの入門書。めずらしく日本語で書かれており、図表付きで初学者の導入にはかなり良いカンジの参考書となっている。
・ABAP to the Future (3rd edition updated and expanded)
次世代のSAP動向を勉強したいのであれば、ABAP to the Future (3rd edition updated and expanded)もおススメできる。
これも英語だが、2025年問題(現2027年問題)以降のSAP業界を技術者として生きていくのであれば、押さえておくべき重要知識が詰まっている。