この記事を読むメリット
SLG1を使ったアプリケーションログ(Application Log)の概要と確認方法が理解できます
T-CODE : SLG1は、アプリケーションが出力した技術・業務メッセージ(成功・警告・エラー・情報)を横断的に検索・閲覧できる機能です。
バッチ不具合、IF連携の取りこぼし、ユーザ操作ミス、カスタムBAPIの例外——こうした事象はジョブログや短いメッセージだけでは掴み切れません。 SLG1なら、オブジェクト/サブオブジェクト/外部番号で業務キーに紐づくログを素早く掘り当て、詳細(スタック、長文、アプリ固有データ)まで見ることができます。
本記事では、実際の使い方からテーブル情報まで実務で使える情報を幅広くまとめていますので、ぜひご参考ください!
この記事のポイント
概要
アプリケーションログには、システムやアプリケーションで発生したイベントやエラーに関する情報が記録されています。アプリケーションログが登録されるケースは様々ですが、HTTP通信、ワークフローのログ、出力制御、HRマスタの転送/同期、iDocなどのケースでログが生成されます。
もちろん、アドオン機能でアプリケーションログを生成させることも可能です。
T-CODE:SLG1は、そのアプリケーションログを閲覧するためのトランザクションコード です。
実行したトランザクション画面だけでは、エラーの際に詳しい原因がわからない場合もあるので、T-CODE:SLG1にメッセージが残っていないかを確認するのがおススメです。
また、夜間ジョブ異常の深堀りやユーザ問い合わせの一次切り分けなどに利用できます。
もっと詳しく💡
SLG1で見ることができるログは、BAL API (Business Application Log)で書かれ、DBに保存されたアプリケーションログのみです。システムログやABAPダンプ、ジョブログ等はSLG1では確認できません。それぞれ、SM21やST22、SM37などの専用のトランザクションコードを使用することになります。
あわせて読みたい
【SAP不具合調査】ショートダンプの調査方法(ST22)について解説!
この記事を読むメリット SAPにおけるT-CODE:ST22(ABAP実行時エラー)についての基本を理解することができます。 SAPでは、ABAPプログラムが異常終了したときにショー…
あわせて読みたい
【SAP基礎】JOBログの確認方法(T-CODE:SM37)
この記事を読むメリット SAPジョブの基礎知識を理解することができます。 今回は、SAP運用で避けては通れないSAPジョブの解説とJOBログの確認方法について解説していき…
あわせて読みたい
【SAP運用保守で使える!】システム不具合調査で役立つトランザクションコードまとめ
この記事を読むメリット SAPシステムの不具合調査で使える主要なトランザクションコードを知ることができます。 エラーの種類別に効率的な調査手順を習得できます。 シ…
他ログとの違い
SM21(システムログ): BASIS寄りの技術ログ
SM37(ジョブログ): ジョブ単位の実行ログ
SLG1(アプリログ): 業務・アプリ視点の詳細メッセージを体系的に保持したログ
アプリケーションログに関連するトランザクションコード
T-CODE 内容 SLG0 オブジェクトやサブオブジェクトを定義することができます SLG1 アプリケーションログを照会することができます SLG2 アプリケーションログを削除することができます
アプリケーションログに関連するトランザクションコード
アプリケーションログの確認方法
検索画面
まず、検索画面で選択条件を指定して対象のログを絞り込みます。 オブジェクトやサブオブジェクトがわかっている場合は、直接指定すればよいですが、基本的にわかっていないことがほとんどだと思います。
その場合は、下記の様にログの原因とされるユーザ名やトランザクションコード、プログラム名を入力します。期間を指定することも有効です。
SLG1 検索画面
ジョブ異常時は、まずT-CODE:SM37でジョブログを確認後、対象プログラムを特定し、同期間をT-CODE:SLG1で検索 するのが定石です。
ログ検索時の効率を上げるために、開発時からIF処理のIFIDやiDoc番号などを外部IDに入れることも大切です。
ログ照会画面
検索されたログが一覧で出力されます。 そこから対象ログの行をダブルクリックすると、長文・テクニカル情報を参照することができます。
下記画像の上の画面は、与信管理で正常終了した時のログが確認できています。 下の画面はHRマスタの従業員IDをBPマスタに同期するプログラムで異常終了した時のログが確認できています。
SLG1 ログ照会
もっと詳しく 💡
アプリケーションログの容量逼迫を回避するために、T-CODE:SLG2を使用し定期的にログの削除・退避を行うことが重要です。
そもそもアプリケーションログは、汎用モジュール「BAL_LOG_CREATE」を使用して生成されますが、呼び出し時にログの有効期限を指定することができます。これを利用すれば、T-CODE:SLG2の下記実行条件から有効期限を超過したアプリケーションログを定期的に削除することができます。
SLG2
*なお、削除可能なログのレコード数や割合を照会することも可能です。
アプリケーションログの関連テーブル
テーブルID テーブル内容 BALHDR アプリケーションログ: ログヘッダ オブジェクト、外部番号、作成時刻等の情報が格納されています BALM ログメッセージ明細 主に、メッセージタイプやテキスト、パラメータ等が格納されています BALHDRのログ番号(LOGNUMBER)から検索可能です。 BALOBJ アプリケーションログ: オブジェクト T-CODE:SLG0で定義したオブジェクトが格納されています。
アプリケーションログ関連テーブル
アプリケーションログ作成で用いる汎用モジュール
汎用モジュールID 処理内容 BAL_LOG_CREATE ヘッダーデータを含むログを作成する BAL_LOG_MSG_ADD ログにメッセージを追加する BAL_DB_SAVE メッセージを保存する
アプリケーションログ関連汎用モジュール
SAP運用保守でよく使うトランザクションコードを以下の記事にまとめた記事が参考になるぞい!
あわせて読みたい
【SAP運用保守で使える!】システム不具合調査で役立つトランザクションコードまとめ
この記事を読むメリット SAPシステムの不具合調査で使える主要なトランザクションコードを知ることができます。 エラーの種類別に効率的な調査手順を習得できます。 シ…