この記事を読むメリット
- SAPジョブ(バックグラウンドジョブ)の概要が理解できます
- T-CODE:SM36を使用したバックグラウンドジョブの設定方法が習得できます
SAPでは、時間のかかる処理や定期的に実行したい処理を、ユーザの画面操作とは切り離して実行することができます。
その代表的な仕組みが SAPジョブ(バックグラウンドジョブ) です。
バックグラウンドジョブを利用することで、たとえば夜間の一括処理や定期帳票出力、大量データ更新などを、ユーザが画面を開いたまま待つことなく実行できます。
その設定を行う代表的なトランザクションが SM36 です。
この記事では、SM36を使ったバックグラウンドジョブの設定方法について、
単なる操作手順ではなく、各設定項目の意味や、どう判断して設定すればよいか も含めて整理します。
ジョブログの確認方法についてはこの記事を参考になるぞい!
この記事のポイント
概要
SAPジョブ(バックグラウンドジョブ)とは、SAPで処理を裏側で自動実行する仕組みです。
通常のオンライン処理のように、ユーザが画面を開いて結果を待つのではなく、指定したプログラムを指定した条件で実行させることができます。
たとえば、次のような場面で使われます。
- 夜間に一括更新処理を流したい
- 毎朝決まった帳票を出力したい
- 大量データの集計処理を定期実行したい
- インターフェース連携処理を自動で起動したい
バックグラウンドジョブの特徴は、主に次の通りです。
- ユーザが画面を占有しない
- 実行時刻を指定できる
- 定期的に繰り返し実行できる
- ログやスプールを後から確認できる
- 大量処理や定期運用に向いている
つまりバックグラウンドジョブは、
業務処理を安定して運用するための実行方式 と考えると分かりやすいです。
バックグラウンドジョブの設定方法
SM36でバックグラウンドジョブを設定するときは、主に次の流れで進めます。
設定手順
- SM36を起動しジョブ名を設定する
- 実行ステップを設定する
- 開始条件を設定する
- [任意]ターゲットサーバを設定する
- 保存する
手順1. SM36の起動とジョブ名を設定する
T-CODE:SM36を実行し、初期画面で登録したいジョブ名を入力し、“登録”を押下します。
ジョブ名は、このバックグラウンドジョブを識別するための名前です。ジョブ名は自由に設定できますが、実務では後からSM37で調査しやすいように、用途が分かる名前 にしておくのがおすすめです。
もっと詳しく
ジョブクラスを設定する
SM36ではジョブクラスも設定できます。
ジョブクラスは、バックグラウンドジョブの優先度を表します。
一般的には次の3種類です。
通常のジョブでは C を使うことが多く、初期値ではいっています。
本当に重要な処理だけを A や B にする、という考え方が一般的です。
手順2.ステップを設定する
ジョブ名を入力したら、「ステップ」ボタンから実行内容を設定します。
ここで指定するのが、このバックグラウンドジョブで何を動かすのか です。
もっとも一般的なのは、ABAPプログラムを実行するステップです。
ステップは複数登録することが可能です。連続した一連の処理を実装したい場合は、ここで複数のステップを登録します。
手順3.開始条件を設定する
ステップ設定が終わったら、「開始条件」ボタンで、いつバックグラウンドジョブを実行するか を設定します。
代表的な開始条件は次の通りです。
- 即時実行
- 保存後すぐに実行したい場合に使います。テストや単発実行でよく使われます。
- 日時指定
- 指定した日付・時刻に実行します。
- 夜間バッチや定時実行など、実務ではこの設定がよく使われます。
- 定期実行
- 毎日、毎週、毎月など、一定周期で繰り返し実行します。
- 日次処理や定期帳票に向いています。
- イベント後実行 / 他ジョブ後実行
- 特定のイベント発生後や、別ジョブ終了後に起動する方式です。
- ジョブ間の順序制御が必要な場合に使います。
開始条件は、単に「いつ流すか」だけではなく、業務タイミングや他処理との競合を考えて決める ことが重要です。
今回は、以下の様に毎週水曜日の午前5時に定期実行するという設定にしています。
手順4.ターゲットサーバを設定する
必要に応じて、バックグラウンドジョブをどのアプリケーションサーバで実行するかを指定できます。
これがターゲットサーバです。
通常は空欄のまま、システム側に任せるケースも多いです。
ただし、次のような場合には固定することがあります。
- 特定サーバ上のファイルを扱う
- バッチ専用サーバを使う運用になっている
- Basis運用上の方針がある
手順5.保存する
ジョブ名、ステップ、開始条件などの設定が終わったら保存します。
正しく登録されると、バックグラウンドジョブは実行待ちの状態になります。
実際にジョブが意図通り動いたかどうかは、下記記事で解説しているT-CODE:SM37で確認します。
あわせて読みたい
【SAP基礎】JOBログの確認方法(T-CODE:SM37)
この記事を読むメリット SAPジョブの基礎知識を理解することができます。 今回は、SAP運用で避けては通れないSAPジョブの解説とJOBログの確認方法について解説していき…
関連テーブル
| テーブルID | テーブル内容 |
|---|
| TBTCO | バックグラウンドジョブのヘッダ情報を保持する代表的なテーブルです。 ジョブ名、ジョブ番号、状態、開始条件などの基本情報が管理されます。 |
| TBTCP | バックグラウンドジョブのステップ情報を保持するテーブルです。 どのプログラムやコマンドを実行するかといった、ジョブの実行内容が格納されます。 |
関連テーブル
まとめ
T-CODE:SM36は、SAPでバックグラウンドジョブを設定するための代表的なトランザクションです。
ジョブ名、ステップ、開始条件を設定することで、定期処理や大量処理をユーザ操作とは切り離して実行できます。
大切なのは、操作手順だけを覚えることではなく、何を、どの条件で、いつ、どの優先度で実行するのか を理解して設定することです。あわせてTBTCO・TBTCPといった関連テーブルの理解があると、調査や運用でも役立ちます。
この記事が、SM36でバックグラウンドジョブを設定するときの整理に少しでも役立てばうれしいです。
最後まで読んでくださり、ありがとうございました。