ショートダンプとは
SAPでプログラムを実行する際に強制終了することをショートダンプと言います。
システムにとって想定外の挙動が発生すると、実行中の処理が強制終了され、ショートダンプとして記録されます。
通常のエラーとは異なり、システムとしても想定外の事象になるため、SAP自身が壊れないように自衛として出力しているイメージです。
主な発生要因としてはタイムアウト、メモリ、パラメータの誤った設定、不正な値 (プログラムが処理できない値)(0除算) がプログラムに渡された場合などに発生します。
ショートダンプが発生した場合は、実行時エラー分析(ST22)でエラーログを確認して、エラーとなったプログラムの箇所やメモリの状況などを調査します。
※実態としては例外が発生するとサーバにダンプファイルが出力され、そのダンプファイルを照会しています。
エラー分析
実行時エラー分析
実行時エラー分析はトランザクションコード「ST22」で実行できます。
ST22はSAPシステム内で発生したショートダンプを分析するためのトランザクションコードです。
ショートダンプの対処
ソースコードの修正(アドオンプログラムの場合)
「ABAP開発者のビュー>ソースコード抜粋」で原因となったソースコードを確認することができます。
アドオンプログラムの場合は、原因となるソースコード箇所を修正することで原因を解消します。
NOTE適用(主に標準機能の場合)
「ABAP開発者のビュー>エラー分析」でエラーに関連するキーワードの確認が可能です
標準機能の場合は、エラー事象に対してNOTEが提供されていることがある
エラー分析によって対象のキーワードを確認し、NOTE検索で修正NOTEを検索する
標準機能の場合はパラメータ設定が不正なケースやメモリ不足が原因の場合もあります。
Try-Catch構文
0除算
源泉となるデータで予期しない値が連携されてくることで0除算が発生し、ショートダンプで処理が強制終了してしまう事象が発生することがある
Try-Catch構文を使用することで、0除算などはショートダンプではなく、通常のエラーとして処理することが可能
※発生個所が特定できる場合は、0除算以外も分類ごとに業務エラーとして処理することが可能
コメント