SAP バックグラウンドジョブ処理 SM36: 作成、スケジュール、再スケジュール

バックグラウンドジョブとは何ですか?

バックグラウンド ジョブは、通常の対話型操作の背後で実行される非対話型プロセスです。並行して実行され、対話型 (フォアグラウンド ジョブ) のプロセスや操作を妨げません。

SM36 からスケジュールされています。SM37 からジョブ ログを表示して分析できます。

バックグラウンドジョブの利点

  • 手作業を軽減し、タスクを自動化します。
  • ユーザーの選択に従ってスケジュールを設定できます。
  • ユーザーの操作を減らし、ユーザー入力なしでバックグラウンドでシームレスに実行できます。
  • バックグラウンド ジョブのバリアントを定義すると、ユーザーはフィールドへの値の入力について心配する必要がなくなります。 したがって、ユーザーの混乱も軽減されます。
  • 夜間(システム負荷が低いとき)に実行するようにスケジュールできる、時間とリソースを大量に消費するプログラムに最適です。

バックグラウンド ジョブは XNUMX つのカテゴリに分類されます。

  1. クラス A (高/重大な優先度): – 一部のタスクは緊急または重要であり、クラス A の優先度ジョブでスケジュールする必要があります。クラス A の優先度は、2 つ以上のバックグラウンド ワーク プロセスを予約します。ユーザーは、クラス A の優先度ジョブに割り当てるバックグラウンド ワーク プロセスの数を決定する必要があります。ユーザーがこのカテゴリに 03 つのバックグラウンド ワーク プロセスを選択した場合、クラス B および C で使用可能なバックグラウンド ワーク プロセスは、(操作モード RZXNUMX で設定されたワーク プロセスの合計数) - (クラス A カテゴリに許可されるバックグラウンド ワーク プロセス数) になります。
  2. クラスB(中優先度): – クラス A ジョブが完了すると、クラス B ジョブはクラス C ジョブの前にバックグラウンドで実行を開始します。
  3. クラスC(低優先度): -クラス A ジョブとクラス B ジョブの両方が完了した後に実行されます。

バックグラウンドジョブの可能なステータス

  1. 予定: – プログラム名とバリアントは定義しましたが、開始日、終了日、頻度などの開始条件を定義していません。つまり、システムでジョブをいつスケジュールするかを定義していないことを意味します。
  2. リリース済み: – ジョブ定義に必要な基準がすべて満たされています。 ジョブがリリース状態になるには開始条件が必要です。
  3. 準備ができて: - バックグラウンド ワークプロセスでジョブを実行するために必要な条件がすべて満たされています。 しかし、ジョブ スケジューラはバックグラウンド ワークプロセスが空くのを待っているため、ジョブをキューに入れました。
  4. アクティブ: - ジョブがバックグラウンドで実行を開始しました。 ジョブが「アクティブ」ステータスになると、ステータスを変更することはできません。
  5. 終了した: - ジョブは正常に実行されました。 これは、目的のタスクがエラーなく完了したことを意味します。
  6. キャンセル: – これには XNUMX つの可能性があります。 管理者がジョブを強制的にキャンセルしたか、ジョブに何らかの問題が発生した可能性があります。 これはジョブログから調査できます。

バックグラウンドジョブをスケジュールするにはどうすればよいですか?

バックグラウンド ジョブをスケジュールするには、次を使用します。 SM36。 計画されたジョブまたは即時ジョブをスケジュールできます。

ステップ1) Tコードを実行する SM36.

バックグラウンドジョブのスケジュールを設定する

ステップ2) ジョブ名と優先度を入力します(A/B/C) そしてターゲットサーバー。 ターゲット サーバー上でスケジュールされたバックグラウンド ジョブは、そのサーバー上で実行されます。 ターゲット サーバーを定義する主な目的は、ワークロードの分散です。

バックグラウンドジョブのスケジュールを設定する

ステップ3) クリック "スプールリスト受信者」メールボックスに出力が届きます。メールは以下から確認できます。 SBWP。

バックグラウンドジョブのスケジュールを設定する

ステップ 4) を挿入してください SAP ユーザー名を入力してコピーボタンをクリックします。

バックグラウンドジョブのスケジュールを設定する

ステップ 5) クリック 手順 定義するボタン ABAPプログラム 、バリアントの詳細など。

バックグラウンドジョブのスケジュールを設定する

ステップ6) プログラム名、バリアントの詳細を定義します。

  1. フィールドにプログラム名とバリアント名を入力します。 要件に従ってバリアントを作成していない場合は、空白のままにしてください。
  2. 保存ボタンを押します。

バックグラウンドジョブのスケジュールを設定する

ステップ7) ジョブをスケジュールすると、次の画面が表示されます。

バックグラウンドジョブのスケジュールを設定する

ステップ8) [開始条件] をクリックして、ジョブの開始日、終了日、頻度などを入力します。 開始条件を指定しない場合 そうすれば、ジョブは常にスケジュールされたステータスのままになります。 スケジュールされたステータスのジョブは決して実行されません。

  1. ソフトウェアの制限をクリック 日付/時刻(定期ジョブの場合)。 「即時」をクリックすると、ジョブがすぐに実行されます。 ただし、定期ジョブとして設定されません。 まるで”押して実行してください。」
  2. ジョブの開始日時、終了日時を定義します。 ジョブは条件を満たした場合にのみリリースされます。 開始予定日時.
  3. 周期値を押します。

バックグラウンドジョブのスケジュールを設定する

ステップ9) 「時間ごと」「毎日」「毎週」の期間をクリックして、要件に応じてジョブの頻度を定義します。「その他の期間」を選択します。

バックグラウンドジョブのスケジュールを設定する

ステップ10) ここで、ジョブの繰り返し条件を指定します。 たとえば、開始日から 5 日ごとにジョブを実行することができます。 ここでは 10 分ごとに実行するジョブを選択します

バックグラウンドジョブのスケジュールを設定する

ステップ11) ソフトウェアの制限をクリック 保存

バックグラウンドジョブのスケジュールを設定する

ステップ12) ソフトウェアの制限をクリック 保存 再び。

バックグラウンドジョブのスケジュールを設定する

ステップ13) クリック 保存 再び

バックグラウンドジョブのスケジュールを設定する

ステップ14) Once ジョブステップと開始条件 定義されると次のウィンドウが表示されます。

バックグラウンドジョブのスケジュールを設定する

ステップ15) イベント セーブ。

バックグラウンドジョブのスケジュールを設定する

ステップ16) 後藤 SM37 仕事の状況を知るため。

バックグラウンドジョブのスケジュールを設定する

ステップ17) 監視するジョブの基準を選択します。

  1. ジョブ名とジョブをスケジュールしたユーザー名を入力します。
  2. ジョブのステータスを選択します。
  3. 日付範囲を指定します。 このシナリオでは、開始日をオープンのままにして終了日を指定するだけです。

バックグラウンドジョブのスケジュールを設定する

ステップ18) 次の画面が表示されます。ステータスを見ると、リリース済みは開始条件が満たされ、ジョブがキュー内で待機中であることを意味します。 バックグラウンド作業プロセスが無料になります。

バックグラウンドジョブのスケジュールを設定する

バックグラウンドジョブを再スケジュールする方法

再スケジュールされたジョブは今後実行されません。 ジョブが開始されるとスケジュールを解除できないことに注意してください。 アクティブ 状態。

ステップ1) 実行する SM37。

バックグラウンドジョブのスケジュールを変更する

ステップ2) 基準を満たしてください。

  1. ジョブのスケジュールに使用するジョブ名とユーザー名。
  2. ステータスを選択します。 ジョブのスケジュールを解除するには、リリース済み/準備完了ステータスを選択することしかできません。
  3. 日付範囲を指定します。
  4. 実行(F8)ボタンを押します。

バックグラウンドジョブのスケジュールを変更する

ステップ3) 指定したジョブを選択して を押します ジョブ -> (リリース済み -> スケジュール済み)。

バックグラウンドジョブのスケジュールを変更する

ステップ4) 「」を押すと、ステータスバーにメッセージが表示されます。リリース済み -> 予定済み"

バックグラウンドジョブのスケジュールを変更する