2025.11.25

SAPバックグラウンドジョブ

今回は、SAP S/4HANAなどのABAPシステムにおけるバックグラウンドジョブについて、ご紹介します。

1.バックグラウンドジョブとは?

SAPシステムにおけるバックグラウンドジョブは、SAPシステム内で定期的または1度限りで実行される処理を、ユーザ操作なしでバックグラウンドで自動的に実行する仕組みとなります。
バックグラウンドジョブの主な用途は、以下になります。

上記の通り、アプリ業務のバッチ処理や自動化、ベーシスのハウスキープ処理などでバックグラウンドジョブを使用します。

2.バックグラウンドジョブの登録方法

バックグラウンドジョブの登録方法 ( 実行方法 ) は、大きく以下の3通りとなります。

3.バックグラウンドジョブの構成要素

バックグラウンドジョブの構成要素は、下記の通りとなります。

4.バックグラウンドジョブの実行

バックグラウンドジョブは、ジョブに定義した開始条件が満たされると、ジョブが開始します。
バックグラウンドジョブは、バックグラウンドワークプロセスによって実行されます。( ステップで定義したABAPプログラムなどがバックグラウンドワークプロセスによって実行される )

■ バックグラウンドジョブの実行アーキテクチャ

バックグラウンドジョブは開始条件を満たすことで実行されます。「先行ジョブ」、「イベント」を除く「即時」、「時間」の開始条件のジョブは、SAPシステムのバックグラウンドスケジューラ ( ジョブスケジューラ ) によって、定期的に開始条件が満たしたかチェックされます。
ジョブスケジューラは、バックグラウンドワークプロセスが実行されているアプリケーションサーバインスタンスで、プロファイルパラメータ「rdisp/btctime」で指定された時間 ( デフォルト60秒 ) 間隔で起動されます。
バックグラウンドジョブの定義は、下記のジョブの管理テーブルに登録されており、ジョブスケジューラは下記のテーブルから実行可能なジョブを検索して、バックグラウンドワークプロセスにジョブの実行を命令します。

JP1などの外部ジョブスケジューラからバックグラウンドジョブを実行する場合、開始条件は即時で登録されます。
外部ジョブスケジューラは、RFCなどでSAPシステムにログインして、ジョブを即時登録します。

■ バックグラウンドジョブの実行サーバの決定

バックグラウンドジョブの登録時に、対象サーバ ( アプリケーションサーバインスタンス ) を指定することで、指定したサーバ上でジョブを実行することが可能となります。対象サーバを指定しない場合は、ジョブスケジューラが実行サーバを決定します。
ジョブスケジューラは、定期的にジョブ管理テーブルに実行可能なジョブが存在するか確認します。実行可能なジョブが存在する場合は、ジョブスケジューラが自身のアプリケーションサーバインスタンス内のバックグラウンドワークプロセスにジョブ ( ジョブで指定されたABAPプログラムなど ) の実行を指示します。その際に利用可能なバックグラウンドワークプロセスが存在しない場合はバックグラウンドワークプロセスが利用可能になるまで実行待機します。

実行サーバは、ジョブサーバグループを指定することも可能となります。ジョブサーバグループを指定した場合は、ジョブサーバグループを構成するアプリケーションサーバインスタンスから実行サーバが決定されます。ジョブサーバグループについては、下記のブログ記事をご確認下さい。
ブログ記事:SAPシステムでの負荷分散

ジョブスケジューラは、トランザクションコード SM61 から有効 / 無効に設定することができます。ジョブスケジューラが無効な場合は、スケジュール起動のバックグラウンドジョブは実行されません。
パラメータ rdisp/btctime の値を「0」に設定した場合もスケジュール起動のバックグラウンドジョブが実行されなくなります。ただし、イベント起動のジョブは実行可能となります。
SAP Note 1898924 – About rdisp/btctime=0 parameter

5.バックグラウンドジョブの監視

SAPシステムで実行されているバックグラウンドジョブは、トランザクションコード SM37 から実行状態を確認することができます。
トランザクションコード SM37 からジョブの開始条件 ( ジョブの開始時刻、実行周期など ) 、実行ステップ ( ABAPプログラム、バリアントなど ) 、実行先SAPインスタンス、実行ステータス、ジョブログ、スプールログなどを表示することができます。

バックグラウンドジョブのステータスとステータスの変移 は、以下の通りとなります。

6.SAP標準ジョブ ( テクニカルジョブ )

SAPシステムでは、ジョブログやスプールログ、ショートダンプログなどのログは、デフォルトでは削除されないため、どんどんデータベースやファイルシステムに蓄積されていきます。
このため、SAPシステムの安定を図るために古いログは定期的に削除 ( ハウスキープ ) する必要があります。このように定期的に古いログを削除する必要があるものに関しては、SAP標準でハウスキープジョブ ( SAP標準ジョブ ) が用意されています。
SAP S/4HANA現在では、テクニカルジョブリポジトリによって、SAP標準ジョブは管理されています。
標準ジョブ、テクニカルジョブについては、下記のSAPノートをご確認下さい。
<SAP S/4HANA>
 SAP Note 2190119 – Background information about SAP S/4HANA technical job repository
 SAP Note 3236399 – FAQ – Technical Job Repository (SJOBREPO)

<SAP S/4HANA以外>
 SAP Note 16083 – Standard jobs, reorganization jobs
 SAP Note 1411877 – New standard jobs

SAP製品の導入・移行・運用保守に関して、お気軽に相談下さい。
レイエントシステムではSAP製品の新規導入からシステム移行、運用保守までご対応します。
お問い合わせ

RECRUIT

エンジニアが主役となり、未来を明るく照らしていく100年企業へ。

採用情報へ