この記事を読むメリット
T-CODE の定義・名称・パラメータ・権限がどのテーブルに入っているかが分かります
プログラム名や名称から T-CODE を逆引きする方法が分かります
TSTC と TSTCT を結合する ABAP の SELECT 文が分かります
SAP の T-CODE(トランザクションコード)は、モジュールに関係なく同じテーブルで管理されています。
「この T-CODE はどのプログラムを動かしているのか」「このプログラムを呼ぶ T-CODE は何か」「アドオンの T-CODE は何本あるか」といった調査は、これらのテーブルを照会すればすぐに答えが出ます。
T-CODE を管理しているテーブルと、調査での使い方を説明していくぞい!
この記事のポイント
T-CODE のテーブルの概要
T-CODE とは
T-CODE って、プログラムの名前のことですか?
プログラム名とは別の項目じゃ。TSTC では T-CODE が TCODE、プログラム名が PGMNA に入るぞい。
T-CODE (トランザクションコード)は、プログラムを実行するための名前です。
最大 20 文字で、プログラムの画面(Dynpro)や、別の T-CODE などに結び付いています。
T-CODE は、画面の上にあるコマンドフィールドに入力して実行します。たとえば FB03 と入力すると、伝票照会の画面が開きます。
T-CODE は T-CODE:SE93 で登録・管理します。
T-CODE を管理するテーブルの一覧
T-CODE の定義・名称・パラメータ・権限は、次のテーブルに分かれて入っています。
テーブル 内容 主な項目 TSTC T-CODE の定義(起動するプログラムと画面) TCODE(T-CODE)、PGMNA(プログラム名)、DYPNO(Dynpro 番号) TSTCT T-CODE の名称(言語ごと) SPRSL(言語)、TCODE、TTEXT(内容説明) TSTCP T-CODE のパラメータ TCODE、PARAM(パラメータ) TSTCA T-CODE に登録された権限オブジェクトと値 TCODE、OBJCT(権限オブジェクト)、FIELD(項目)、VALUE(値) USOBT_C USOBX_C T-CODE と権限オブジェクトの関係(T-CODE:SU24 の提案値) NAME(T-CODE など)、TYPE、OBJECT、FIELD、LOW、HIGH / OKFLAG(チェックフラグ)
テーブル関連図(TSTC・TSTCT)
TSTC と TSTCT は TCODE でつながります。
TSTCT はキーに言語(SPRSL)を持ち、1 つの T-CODE に言語ごとの名称が登録されています。
各テーブルの中身
TSTC(SAP トランザクションコード)
T-CODE ごとに、起動するプログラム(PGMNA)と最初の画面の Dynpro 番号(DYPNO)が登録されています。
TCODE PGMNA DYPNO FB01 SAPMF05A 0100 FB03 SAPMF05L 0100 VA03 SAPMV45A 0102 ME23N RM_MEPO_GUI 1000 MIGO SAPLMIGO 0001
T-CODE:SE16N で TSTC を照会すると、「内容説明」の列も並んで表示されます。
この「内容説明」は TSTC の項目ではなく、TSTCT の名称です。
TSTCT(トランザクションコードテキスト)
T-CODE の名称が言語ごとに登録されています。例えば T-CODE:FB03 は、日本語(J)が「伝票照会」、英語(E)が「Display Document」です。
TSTCP(トランザクション用パラメータ)
パラメータ付きで別の T-CODE を呼ぶ T-CODE は、そのパラメータが登録されています。
カスタマイズの T-CODE には、T-CODE:SM30 でビューを開くものが多くあります。
TCODE PARAM OB08 /*SM30 VIEWNAME=V_TCURR;UPDATE=X;OBB8 /*SM30 VIEWNAME=V_T052;UPDATE=X;OX02 /*SM30 VIEWNAME=V_T001; UPDATE=X
この例で T-CODE:SM30 が開くビューは、TSTCP の PARAM の VIEWNAME= に続く値で確認できます。
「この T-CODE はどのビュー(テーブル)を更新しているか」は、TSTCP の PARAM を見れば分かります。
T-CODE:SE16N でテーブルに TSTCP を入れ、Transaction Code の複数選択に OB08・OBB8・OX02 を入れて実行すると、次のように表示されます。
画面の見方
Transaction Code(TCODE): パラメータ付きの T-CODE です。
パラメータ(PARAM): 呼び出す T-CODE と、渡す値です。/*SM30 は T-CODE:SM30 を呼び、VIEWNAME= の後ろが開くビューです。
TSTCA(トランザクションコード権限の値)
T-CODE に登録された権限オブジェクトと、その項目の値が入っています。
画面の見方
Transaction Code(TCODE): 権限を登録した T-CODE です。
権限オブジェクト(OBJCT)・権限項目(FIELD)・権限値(VALUE): T-CODE に登録された権限オブジェクトと、その項目の値です。権限値が空の行(BUKRS・EKORG・STATM)もあります。
TCODE OBJCT FIELD VALUE FB01 F_BKPF_BUK ACTVT 01 FB03 F_BKPF_BUK ACTVT 03 ME23N M_BEST_EKO ACTVT 03 MM03 M_MATE_STA ACTVT 03
USOBT_C・USOBX_C(権限の提案値)
TSTCA の値と、USOBT_C の提案値は区別するんですね?
うむ。TSTCA は登録値、USOBT_C は提案値じゃ。チェックフラグは USOBX_C に入るぞい。
T-CODE:SU24 で管理する、T-CODE と権限オブジェクトの関係です。
USOBX_C にはチェックフラグ (OKFLAG)、USOBT_C には提案する項目の値が入ります。T-CODE は NAME に入り、TYPE は「TR」です。
T-CODE:SE16N で USOBX_C を NAME = FB03 で照会すると、FB03 にひも付く権限オブジェクトと、チェックフラグが表示されます。
画面の見方
名称(NAME)・Typ(TYPE)・権限オブジェクト(OBJECT): T-CODE と、ひも付く権限オブジェクトです。T-CODE の行の Typ は TR です。
CheckFl.(OKFLAG): チェックフラグです。N = チェック無、X = 常にチェック、Y = チェック + USOBT 入力です。
同じく USOBT_C を NAME = FB03 で照会すると、権限オブジェクトの項目ごとに、提案する値が表示されます。
画面の見方
名称(NAME)・Typ(TYPE): T-CODE です。
権限オブジェクト(OBJECT)・権限項目(FIELD)・権限値(LOW): 権限オブジェクトの項目と、提案する値です。
T-CODE 別の権限オブジェクトの一覧は、次の記事にまとめています。
あわせて読みたい
【SAP権限】T-Code別 権限オブジェクト一覧(SU24)
この記事を読むメリット SU24 のデータ(USOBX_C・USOBT_C)と、チェックフラグ・デフォルトステータスの意味が分かる T-CODE:SU24 でトランザクションの権限オブジェク…
調査での使い方
プログラムから T-CODE を探す
プログラムから T-CODE を探すときは、TSTC を PGMNA で絞り込みます。
例えば PGMNA = SAPMF05L では、T-CODE:FB02(伝票変更)・FB03(伝票照会)・FB09(伝票明細変更)・FBD3(繰返入力照会)などが出ます。
画面の見方
Transaction Code(TCODE): そのプログラムを起動する T-CODE です。この例では 12 件です。
Program(PGMNA): 絞り込みに使ったプログラム名です。
トランザクション内容説明: SE16N が並べて表示する TSTCT の名称です(TSTC の項目ではありません)。
名称から T-CODE を探す
TSTCT を SPRSL = J、TTEXT に「*請求書照合*」のように入れて照会します。
T-CODE:MR00(請求書照合)・MRM0(ロジスティクス請求書照合)・MRBP(バックグラウンド請求書照合)などが出ます。
Z で始まる T-CODE を一覧にする
TSTC を TCODE = Z* で照会すると、Z で始まる T-CODE と起動するプログラムが一覧になります。
ABAP で T-CODE と名称をまとめて取る
TSTC と TSTCT をログオン言語で結合します。
DATA lv_pgmna TYPE tstc-pgmna VALUE 'SAPMF05L'.
SELECT c~tcode, c~pgmna, t~ttext
FROM tstc AS c
LEFT OUTER JOIN tstct AS t
ON t~tcode = c~tcode
AND t~sprsl = @sy-langu
WHERE c~pgmna = @lv_pgmna
ORDER BY c~tcode
INTO TABLE @DATA(lt_tcode).
まとめ
T-CODE の定義(プログラム・画面)は TSTC、名称は TSTCT に言語ごとに入る
パラメータ付きの T-CODE は TSTCP、権限の値は TSTCA、T-CODE:SU24 の提案値は USOBT_C・USOBX_C
プログラム名・名称・Z* で照会すると、T-CODE を逆引きできる
T-CODE はモジュールに関係なく、同じテーブルで調べられるんですね!