ジョブエラーや実行時エラー(ショートダンプ)した時にチェックするトランザクション

SAPコンサルとして仕事をしていると予期せぬエラーや障害が発生することが少なからずありますよね。プログラム不具合であったり、マスタ設定の不備やメモリ不足など原因が多岐に渡り、原因の特定に時間が掛かってしまうことも多いです。

そのようなSAPのプログラムが実行時エラーになってしまった場合に、原因を特定するために詳細なログ等を確認する必要がありますが、今回はSAP標準機能として用意されているログ管理の機能をいくつかご紹介したいと思います。どれから確認すれば良いのかは、その時々の状況によって異なるため、一概には言い難いのですが、発生しているエラーの確認に適していそうなものを選んで確認してみてください。

ジョブログ照会:SM37

夜間や日中に自動起動させているプログラムにエラーが発生した場合には、まずはジョブログの確認をすることになります。

多くの場合は、JP1やA -AUTO、Joc Centerなど外部のジョブ管理ツールにてスケジューリングしたタイミングでSAPのプログラムを起動する形で本番運用していると思いますが、それらのツールからシステム担当者にエラー通知が発信されたときに、アプリケーション担当に連絡が来たりします。

そういうときに最初に見るのが『T-CD:SM37』です。このトランザクションでは、ジョブ実行したプログラムが正常終了したのか、エラー終了したのかや、どのようなログを出力しているのかを確認することができます。ジョブログを見れば、どのメッセージクラスのどのメッセージを出力したのかが確認できるため、該当のメッセージの詳細な内容や使用先などを『T-CD:SE91』から確認することができます。

ランタイムエラー照会:ST22

ABAPプログラムが実行時エラーを起こした時のログは『T-CD:ST22』で確認することができます。

エラーになったプログラムの箇所やメモリの状況なども確認でき、ここに吐き出されたデータを確認することで、なぜエラーになったのか調べる参考情報になります。

アドオンプログラムでも標準プログラムでも同じように、このトランザクションで確認できるので覚えておきましょう。また、オンライン実行でのエラーもバックグラウンド実行時のエラーも、このトランザクションで確認できるため、ショートダンプした時は、まずここを見るのが良いでしょう。

システムログの照会:SM21

システムログというのはシステム的に重要な記録をログとして残すもので、シスログと呼んだりします。システム的にクリティカルなエラーなどがあれば、この機能で原因を探ることがあります。

基本的にはBasisなどシステム管理者が見る機能なので、モジュールコンサルが見ることは少ないのですが、ABAP開発者の場合は、たまに見ることもあるので、トランザクションコードだけでも覚えておくと便利だと思います。

IDocのステータス照会:BD87


 IDocの処理結果を確認するトランザクションがBD87です。
処理日時やIDocのメッセージタイプを指定して処理結果の確認ができます。また、エラーがあった場合、この画面でエラーメッセージを確認し、エラー原因を改善した後に再実行も可能です。
 

●よくある実行時エラー

・数値型の変数に文字(カンマやマイナス符号)を代入してしまう

関連トランザクション

トランザクションコード内容
SM37ジョブの実行結果を確認する機能。ジョブログやスプールの照会が可能。
ST22プログラムがショートダンプした場合に出力されるダンプが確認できる機能。
SM21シスログを確認する機能。

コメント

この記事へのコメントはありません。

PAGE TOP