【SAPが動画で学べる!】YouTubeチャンネル開設しました ▶ SAPラボチャンネルはコチラ

【SAP基礎】SATでABAPの処理時間を測る方法

登場人物紹介

三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!

博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退しSAPの後進育成と啓蒙活動に従事中!
若者に負けぬようX(旧Twitter)も奮闘中。

この記事を読むメリット

  • T-CODE:SAT で、プログラムを実行しながら ABAP の処理時間を測る方法が分かる
  • Profile・Hit List・DB tables で、時間のかかった所を探す方法が分かる
  • 総時間(Gross)と正味時間(Net)の違いと、測るときの注意点が分かる

「このレポートが遅い」と言われても、どこに時間がかかっているかが分からなければ直せません。

T-CODE:SAT(ランタイム分析)でプログラムを実行しながら測ると、ABAP の処理・データベースへのアクセス・システムの処理のどこに時間がかかったかが分かります。

この記事では、次の操作を画面を 1 つずつ追って解説します。

  • T-CODE:SAT で プログラムを指定して処理時間を測る手順
  • 測定の結果を Profile・Hit List・DB tables で読む手順
レイナ

博士!このレポート、結果が出るまでずいぶん時間がかかるんです。どこが遅いんでしょう?

博士

うむ、SAT でプログラムを動かしながら測れば、どこに時間がかかっているかが分かるぞい!

SAPフリーランスバンク SAPフリーランスバンク
  • 転職求人
  • フリーランス案件
株式会社日立産業制御ソリューションズ

【リモート可】【PM/PL候補】【東京】SAP(S/4HANA)エンジニア ※フレックスタイム制/ワークライフバランス◎(S/4HANA)

年収
430~800万円 / 年
勤務地
東京本社:東京都台東区秋葉原6番1号(...
雇用形態
正社員
要スキル:
【必須】 SAP導入に強い興味があり、以...
キリンビジネスシステム株式会社

SAP会計領域コンサルタント(管理職)/キリングループ唯一のIT会社(FI/CO)

年収
900~1,300万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 以下A・B・Cすべてを...
キリンビジネスシステム株式会社

SAPコンサルタント/キリングループ唯一のIT会社(SD/MM/PP)

年収
500~850万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 SAPアプリケーショ...
株式会社ベイカレント・コンサルティング

【SAPコンサルタント】経営戦略実現を全社横断変革で支援/平均年収1,350万円

年収
600~2,500万円 / 年
勤務地
東京都港区麻布台1-3-1麻布台ヒル...
雇用形態
正社員
要スキル:
【必須(MUST)】 社会人経験3年以上...
株式会社 ホープス

【年収1000万円可】【リモート可】【上流工程】【SAP導入コンサルタント】リモート・ハイブリッド勤務OK|平均残業月10時間/HOPES ※基幹系業務システムの導入推進を行っていただける方を募集

年収
800~1,800万円 / 年
勤務地
〒 1040033:東京都中央区新川1-3-17新...
雇用形態
正社員
要スキル:
■SAPコンサルタント 【必須】 SAPモ...
COFIPP

【S/4HANA AMS体制Functional Lead】リモート可/R2R・P2D領域インシデント対応

月額単価
~1,500,000円 / 月
稼働場所
東京都
業務領域
要件定義, 運用・保守
作業内容:
グローバル企業のSAP S/4HANA AMS体制に...
COMMSD

【ECC6.0→S/4HANA再構築】東京・都内(出社)/SD・MM・CO ABAP開発・設計・テスト

月額単価
~1,200,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori), テスト
作業内容:
SAP ECC6.0からS/4HANAへの大型再構築プ...
MMPPSD

【SAP S/4保守・運用(ABAP)】東京・田無(テレワーク併用)/インシデント対応・ABAP改修

月額単価
~1,000,000円 / 月
稼働場所
東京都
業務領域
開発(ABAP/Fiori), 運用・保守
作業内容:
SAP S/4の保守・運用フェーズに参画し、...
COFIMMPPSD

【SAP Public Cloud導入(組立製造業・多モジュール)】兵庫(リモート対応可)/MM・SD・FI・CO・PP

月額単価
~1,100,000円 / 月
稼働場所
兵庫県
業務領域
要件定義
作業内容:
組立製造業を対象としたSAP Public Clou...
MMSD

【S/4HANA導入支援(システムテスト・移行)】東京・リモート併用/移行支援

月額単価
~1,400,000円 / 月
稼働場所
東京都
業務領域
テスト
作業内容:
S/4HANA導入プロジェクトの移行フェーズ...
COFIMMSD

【S/4HANA導入支援】東京(リモート併用)/基本設計&実装

月額単価
~1,400,000円 / 月
稼働場所
東京都
業務領域
設計
作業内容:
商社系のシステム再構築プロジェクトに...
SD

【S/4HANA新規導入支援(SDコンサルタント)】東京(リモート併用)/設計構築フェーズ

月額単価
~1,500,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
大手企業のS/4HANA新規導入プロジェクト...
COFI

【S/4HANA新規導入支援(原価チームリーダー)】東京駅・リモート併用

月額単価
~1,900,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
S/4HANA新規導入プロジェクトに参画し、...
FIPP

【S/4HANAコンサルティング(FI/PP)】兵庫・加古川(リモート併用)/結合テスト・キーユーザ教育

月額単価
~1,300,000円 / 月
稼働場所
兵庫県
業務領域
テスト, その他
作業内容:
組立製造業向けのS/4HANA導入プロジェク...
COFI

【商社向けパブクラ移行(FICOコンサル)】宮城・仙台(リモート併用)/要件定義+構築

月額単価
~1,100,000円 / 月
稼働場所
宮城県
業務領域
要件定義, 設計
作業内容:
総合商社向けのSAP PublicEdition移行案...
この記事のポイント

前提

  • 使うトランザクション: SAT
  • 例のデータ: SAP 標準のプログラム SHOWICON(一覧のアイコンを照会)を測ります。
  • 測定の結果はデータベースに保存され、システム全体で見られます。

ランタイム分析のしくみ

実務での要件の例

利用者から「この照会のレポートを実行すると、結果が出るまで時間がかかる」と相談された場面を考えます。この要件は、次のように分けて進めます。

要件の部分どうするか
どこに時間がかかっているかを知るT-CODE:SAT でレポートを実行しながら測り、Profile で処理の種類ごとの時間を見ます
時間のかかる命令を探すHit List で、正味時間の大きい命令を探します
データベースの読み方を調べるDB tables でテーブルごとのアクセス回数と時間を見ます。SQL の詳しい中身は T-CODE:ST05(SQL トレース)で調べます
システム全体が遅いここでは扱いません。システム全体の遅さは、T-CODE:ST03N や T-CODE:ST06 などで調べます

SAT で測るもの

T-CODE:SAT は、レポート・汎用モジュール・トランザクションなどの ABAP プログラムの性能を調べるツールです。旧来の T-CODE:SE30 を置き換えたものです。

SAT は、ABAP の命令が使った時間を測ります。データベースへのアクセス、サブルーチンや汎用モジュールの呼び出し、内部テーブルの操作など、時間のかかりうる命令を区分ごとに記録します。

総時間と正味時間

測定の結果には、総時間(Gross)と正味時間(Net)の 2 つの時間が出ます。

時間意味
総時間(Gross)その命令の中で呼び出した、サブルーチンや汎用モジュールなどの時間も含めた時間です
正味時間(Net)その命令が直接使った時間です。呼び出し先の時間は含みません

どこが重いかを探すときは、正味時間を見るのが基本です。

ランタイム分析の流れ

SAT でプログラムを実行しながら測り、Profile・Hit List・DB tables で時間のかかった所を探す流れです。

関連するトランザクションコードは次のとおりです。

T-CODE内容
T-CODE:SATランタイム分析(ABAP の処理時間の測定)
T-CODE:SE30ABAP オブジェクト実行時間分析(旧来の T-CODE)
T-CODE:ST05パフォーマンストレース(SQL トレース)

処理時間を測る(T-CODE:SAT)

1. 測る対象を入れる

コマンドフィールドに SAT と入力して Enter キーを押します。「Runtime Analysis」が表示されます。

SAT の最初の画面

画面の見方

  1. Measr.・Evaluate: 測定の設定をするタブと、測定の結果の一覧を見るタブです。
  2. Variant: どう測るかを決めるバリアントです。初期値は DEFAULT です。
  3. Program: 測るプログラムです。トランザクションや汎用モジュールを測るときは、「Transaction」「Function Module」を選びます。
  4. Execute: プログラムを実行して測ります。「Evaluate now」に印を付けておくと、測定が終わるとすぐに結果が出ます。
  5. Switch On/Off: ほかのセッションで動いている処理を測るときに使います。
  6. Schedule: ユーザやバックグラウンドの処理を、あとで測るように予定します。

この例では、③「Program」を選んで SHOWICON を入れ、④「Execute」を押します。

2. 測りたい操作をする

測るプログラムが動きます。

測定中のプログラム

画面の見方

  1. 画面のタイトル: 測っているプログラムの画面です。この例では「一覧のアイコンを照会」の選択画面です。

測りたい操作を終えたら、F3 キー(戻る)でプログラムを終えます。プログラムを終えると、測定も終わります。

3. 結果を見る

「Runtime Analysis: Display Measurement」が表示されます。

測定の結果

画面の見方

  1. 測定の情報: 測った日時(26/10/17 13:00:45)・対象(SHOWICON)・ユーザ・バリアントです。
  2. タブ: 結果を見るツールです。「Desktop 1」には Profile と Hit List が並びます。
  3. Profile: 処理の種類ごとの時間です。「Runtime Measurement」の行が全体で、正味時間は 139,690 マイクロ秒です。
  4. Hit List: 命令ごとの回数・総時間・正味時間です。

この例の Profile では、「Miscellaneous」が 43.47%、「Data Accesses External」(データベースへのアクセス)が 29.74%、「Load/Generate」(プログラムの読み込み・生成)が 14.81% でした。この例は 1 回だけ実行して測ったもので、読み込み・生成の時間が 5% を超えています。性能を調べるときは、何度か実行してから測り直すとよいでしょう(「よくあるつまずき」)。

4. データベースへのアクセスを見る

「DB tables」のタブを押すと、測定中に読んだテーブルの一覧が出ます。

DB tables

画面の見方

  1. DB tables: データベースのテーブルごとの時間を見るタブです。
  2. 合計の行: この例では、アクセスの合計は 55 回、総時間は 1,063 マイクロ秒です。
  3. テーブルごとの行: テーブル名・アクセスの種類・回数・総時間・バッファの有無などです。

アクセスの回数や時間が大きいテーブルが見つかったら、T-CODE:ST05(SQL トレース)で SQL の中身を詳しく調べるとよいでしょう。

よくあるつまずき

  • 同じプログラムを測っても値が毎回違う: バッファの対象のテーブルは、1 回目はデータベースから読み、2 回目からはアプリケーションサーバのバッファから読むことがあるので、値がそろいません。本番の測定の前に何度か実行して、バッファを満たしておくとよいでしょう。
  • 「Load/Generate」の割合が大きい: プログラムの読み込み・生成の時間です。ロード・生成の時間が全体の 5% を超える測定は性能の分析に向かないので、もう一度実行してから測り直すとよいでしょう。
  • 測定が途中で打ち切られた: バリアントで決めたファイルの大きさや時間の上限を超えると、測定は打ち切られ、それまでの値だけが残ります。長い処理を測るときは、バリアントの上限を見直すとよいでしょう。
  • 呼び出しの順番が見られない: バリアントで集計(Aggregation)をしていると、呼び出しの順番を見るツール(Call Hierarchy・Processing Blocks)は使えません。処理の流れを追うときは、集計しないバリアントで測るとよいでしょう。
  • システム全体が遅い: SAT は特定のプログラムを調べるツールです。システム全体が遅いときは、T-CODE:ST03N(負荷)、T-CODE:ST06(OS の資源)、T-CODE:ST04(データベース)などで調べます。

まとめ

  • T-CODE:SAT で、プログラム(またはトランザクション・汎用モジュール)を指定して「Execute」を押し、測りたい操作をしてから戻ると、処理時間を測れます。
  • 結果は、Profile で処理の種類ごと、Hit List で命令ごと、DB tables でテーブルごとに見ます。どこが重いかは、正味時間で探します。
  • データベースへのアクセスが重いときは、T-CODE:ST05 で SQL を詳しく調べます。
レイナ

Profile で大まかに、Hit List で命令ごとに見ればいいんですね!

博士

うむ。重い所は正味時間で探すのじゃ。データベースが重ければ ST05 で SQL を調べるのじゃぞ。

  • 転職求人
  • フリーランス案件
株式会社日立産業制御ソリューションズ

【リモート可】【PM/PL候補】【東京】SAP(S/4HANA)エンジニア ※フレックスタイム制/ワークライフバランス◎(S/4HANA)

年収
430~800万円 / 年
勤務地
東京本社:東京都台東区秋葉原6番1号(...
雇用形態
正社員
要スキル:
【必須】 SAP導入に強い興味があり、以...
キリンビジネスシステム株式会社

SAP会計領域コンサルタント(管理職)/キリングループ唯一のIT会社(FI/CO)

年収
900~1,300万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 以下A・B・Cすべてを...
キリンビジネスシステム株式会社

SAPコンサルタント/キリングループ唯一のIT会社(SD/MM/PP)

年収
500~850万円 / 年
勤務地
東京都中野区中野4-10-2 中野セントラ...
雇用形態
正社員
要スキル:
【必須(MUST)】 SAPアプリケーショ...
株式会社ベイカレント・コンサルティング

【SAPコンサルタント】経営戦略実現を全社横断変革で支援/平均年収1,350万円

年収
600~2,500万円 / 年
勤務地
東京都港区麻布台1-3-1麻布台ヒル...
雇用形態
正社員
要スキル:
【必須(MUST)】 社会人経験3年以上...
株式会社 ホープス

【年収1000万円可】【リモート可】【上流工程】【SAP導入コンサルタント】リモート・ハイブリッド勤務OK|平均残業月10時間/HOPES ※基幹系業務システムの導入推進を行っていただける方を募集

年収
800~1,800万円 / 年
勤務地
〒 1040033:東京都中央区新川1-3-17新...
雇用形態
正社員
要スキル:
■SAPコンサルタント 【必須】 SAPモ...
COFIPP

【S/4HANA AMS体制Functional Lead】リモート可/R2R・P2D領域インシデント対応

月額単価
~1,500,000円 / 月
稼働場所
東京都
業務領域
要件定義, 運用・保守
作業内容:
グローバル企業のSAP S/4HANA AMS体制に...
COMMSD

【ECC6.0→S/4HANA再構築】東京・都内(出社)/SD・MM・CO ABAP開発・設計・テスト

月額単価
~1,200,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori), テスト
作業内容:
SAP ECC6.0からS/4HANAへの大型再構築プ...
MMPPSD

【SAP S/4保守・運用(ABAP)】東京・田無(テレワーク併用)/インシデント対応・ABAP改修

月額単価
~1,000,000円 / 月
稼働場所
東京都
業務領域
開発(ABAP/Fiori), 運用・保守
作業内容:
SAP S/4の保守・運用フェーズに参画し、...
COFIMMPPSD

【SAP Public Cloud導入(組立製造業・多モジュール)】兵庫(リモート対応可)/MM・SD・FI・CO・PP

月額単価
~1,100,000円 / 月
稼働場所
兵庫県
業務領域
要件定義
作業内容:
組立製造業を対象としたSAP Public Clou...
MMSD

【S/4HANA導入支援(システムテスト・移行)】東京・リモート併用/移行支援

月額単価
~1,400,000円 / 月
稼働場所
東京都
業務領域
テスト
作業内容:
S/4HANA導入プロジェクトの移行フェーズ...
COFIMMSD

【S/4HANA導入支援】東京(リモート併用)/基本設計&実装

月額単価
~1,400,000円 / 月
稼働場所
東京都
業務領域
設計
作業内容:
商社系のシステム再構築プロジェクトに...
SD

【S/4HANA新規導入支援(SDコンサルタント)】東京(リモート併用)/設計構築フェーズ

月額単価
~1,500,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
大手企業のS/4HANA新規導入プロジェクト...
COFI

【S/4HANA新規導入支援(原価チームリーダー)】東京駅・リモート併用

月額単価
~1,900,000円 / 月
稼働場所
東京都
業務領域
設計, 開発(ABAP/Fiori)
作業内容:
S/4HANA新規導入プロジェクトに参画し、...
FIPP

【S/4HANAコンサルティング(FI/PP)】兵庫・加古川(リモート併用)/結合テスト・キーユーザ教育

月額単価
~1,300,000円 / 月
稼働場所
兵庫県
業務領域
テスト, その他
作業内容:
組立製造業向けのS/4HANA導入プロジェク...
COFI

【商社向けパブクラ移行(FICOコンサル)】宮城・仙台(リモート併用)/要件定義+構築

月額単価
~1,100,000円 / 月
稼働場所
宮城県
業務領域
要件定義, 設計
作業内容:
総合商社向けのSAP PublicEdition移行案...

★★★SAPラボのライター募集★★★

SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!

SAPラボのライターの特徴

・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!

SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。

募集要項

・SAP導入や運用保守プロジェクトへの参画経験1年以上

ご応募/お問合せ先

info@sap-labo.com

少しでもご興味ある方、ぜひお気軽にご連絡下さい!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

株式会社スプラッシュエンジニアリング(https://splash-eng.com/)の代表取締役。

新卒でSAPエンジニアとして働き始め、SAPエンジニア・コンサルタント歴は10年以上。
2015年にシステム開発会社である株式会社Luxyを創業し2021年にバイアウト。その後、受託開発会社の株式会社アガルートITパートナーズ代表取締役も兼任。
2024年にこれまでの会社の代表を退任し株式会社スプラッシュエンジニアリングを創業。

一緒に「SAPラボ」を盛り上げてくれる副業ライター(SAP経験者)を募集してますので、お問い合わせよりお願いします!

この記事のポイント