SAP バックグラウンドジョブ処理 SM36: 作成、スケジュール、再スケジュール
バックグラウンドジョブとは何ですか?
バックグラウンド ジョブは、通常の対話型操作の背後で実行される非対話型プロセスです。並行して実行され、対話型 (フォアグラウンド ジョブ) のプロセスや操作を妨げません。
SM36 からスケジュールされています。SM37 からジョブ ログを表示して分析できます。
バックグラウンドジョブの利点
- 手作業を軽減し、タスクを自動化します。
- ユーザーの選択に従ってスケジュールを設定できます。
- ユーザーの操作を減らし、ユーザー入力なしでバックグラウンドでシームレスに実行できます。
- バックグラウンド ジョブのバリアントを定義すると、ユーザーはフィールドへの値の入力について心配する必要がなくなります。 したがって、ユーザーの混乱も軽減されます。
- 夜間(システム負荷が低いとき)に実行するようにスケジュールできる、時間とリソースを大量に消費するプログラムに最適です。
バックグラウンド ジョブは XNUMX つのカテゴリに分類されます。
- クラス A (高/重大な優先度): – 一部のタスクは緊急または重要であり、クラス A の優先度ジョブでスケジュールする必要があります。クラス A の優先度は、2 つ以上のバックグラウンド ワーク プロセスを予約します。ユーザーは、クラス A の優先度ジョブに割り当てるバックグラウンド ワーク プロセスの数を決定する必要があります。ユーザーがこのカテゴリに 03 つのバックグラウンド ワーク プロセスを選択した場合、クラス B および C で使用可能なバックグラウンド ワーク プロセスは、(操作モード RZXNUMX で設定されたワーク プロセスの合計数) - (クラス A カテゴリに許可されるバックグラウンド ワーク プロセス数) になります。
- クラスB(中優先度): – クラス A ジョブが完了すると、クラス B ジョブはクラス C ジョブの前にバックグラウンドで実行を開始します。
- クラスC(低優先度): -クラス A ジョブとクラス B ジョブの両方が完了した後に実行されます。
バックグラウンドジョブの可能なステータス
- 予定: – プログラム名とバリアントは定義しましたが、開始日、終了日、頻度などの開始条件を定義していません。つまり、システムでジョブをいつスケジュールするかを定義していないことを意味します。
- リリース済み: – ジョブ定義に必要な基準がすべて満たされています。 ジョブがリリース状態になるには開始条件が必要です。
- 準備ができて: - バックグラウンド ワークプロセスでジョブを実行するために必要な条件がすべて満たされています。 しかし、ジョブ スケジューラはバックグラウンド ワークプロセスが空くのを待っているため、ジョブをキューに入れました。
- アクティブ: - ジョブがバックグラウンドで実行を開始しました。 ジョブが「アクティブ」ステータスになると、ステータスを変更することはできません。
- 終了した: - ジョブは正常に実行されました。 これは、目的のタスクがエラーなく完了したことを意味します。
- キャンセル: – これには XNUMX つの可能性があります。 管理者がジョブを強制的にキャンセルしたか、ジョブに何らかの問題が発生した可能性があります。 これはジョブログから調査できます。
バックグラウンドジョブをスケジュールするにはどうすればよいですか?
バックグラウンド ジョブをスケジュールするには、次を使用します。 SM36。 計画されたジョブまたは即時ジョブをスケジュールできます。
ステップ1) Tコードを実行する SM36.
ステップ2) ジョブ名と優先度を入力します(A/B/C) そしてターゲットサーバー。 ターゲット サーバー上でスケジュールされたバックグラウンド ジョブは、そのサーバー上で実行されます。 ターゲット サーバーを定義する主な目的は、ワークロードの分散です。
ステップ3) クリック "スプールリスト受信者」メールボックスに出力が届きます。メールは以下から確認できます。 SBWP。
ステップ 4) を挿入してください SAP ユーザー名を入力してコピーボタンをクリックします。
ステップ 5) クリック 手順 定義するボタン ABAPプログラム 、バリアントの詳細など。
ステップ6) プログラム名、バリアントの詳細を定義します。
- フィールドにプログラム名とバリアント名を入力します。 要件に従ってバリアントを作成していない場合は、空白のままにしてください。
- 保存ボタンを押します。
ステップ7) ジョブをスケジュールすると、次の画面が表示されます。
ステップ8) [開始条件] をクリックして、ジョブの開始日、終了日、頻度などを入力します。 開始条件を指定しない場合 そうすれば、ジョブは常にスケジュールされたステータスのままになります。 スケジュールされたステータスのジョブは決して実行されません。
- ソフトウェアの制限をクリック 日付/時刻(定期ジョブの場合)。 「即時」をクリックすると、ジョブがすぐに実行されます。 ただし、定期ジョブとして設定されません。 まるで”押して実行してください。」
- ジョブの開始日時、終了日時を定義します。 ジョブは条件を満たした場合にのみリリースされます。 開始予定日時.
- 周期値を押します。
ステップ9) 「時間ごと」「毎日」「毎週」の期間をクリックして、要件に応じてジョブの頻度を定義します。「その他の期間」を選択します。
ステップ10) ここで、ジョブの繰り返し条件を指定します。 たとえば、開始日から 5 日ごとにジョブを実行することができます。 ここでは 10 分ごとに実行するジョブを選択します
ステップ11) ソフトウェアの制限をクリック 保存
ステップ12) ソフトウェアの制限をクリック 保存 再び。
ステップ13) クリック 保存 再び
ステップ14) Once ジョブステップと開始条件 定義されると次のウィンドウが表示されます。
ステップ15) イベント セーブ。
ステップ16) 後藤 SM37 仕事の状況を知るため。
ステップ17) 監視するジョブの基準を選択します。
- ジョブ名とジョブをスケジュールしたユーザー名を入力します。
- ジョブのステータスを選択します。
- 日付範囲を指定します。 このシナリオでは、開始日をオープンのままにして終了日を指定するだけです。
ステップ18) 次の画面が表示されます。ステータスを見ると、リリース済みは開始条件が満たされ、ジョブがキュー内で待機中であることを意味します。 バックグラウンド作業プロセスが無料になります。
バックグラウンドジョブを再スケジュールする方法
再スケジュールされたジョブは今後実行されません。 ジョブが開始されるとスケジュールを解除できないことに注意してください。 アクティブ 状態。
ステップ1) 実行する SM37。
ステップ2) 基準を満たしてください。
- ジョブのスケジュールに使用するジョブ名とユーザー名。
- ステータスを選択します。 ジョブのスケジュールを解除するには、リリース済み/準備完了ステータスを選択することしかできません。
- 日付範囲を指定します。
- 実行(F8)ボタンを押します。
ステップ3) 指定したジョブを選択して を押します ジョブ -> (リリース済み -> スケジュール済み)。
ステップ4) 「」を押すと、ステータスバーにメッセージが表示されます。リリース済み -> 予定済み"