SAP后台作业处理 SM36:创建、计划、重新计划

什么是后台作业?

后台作业是一个非交互式进程,在正常的交互式操作之后运行。它们并行运行,不会干扰交互式(前台作业)进程和操作。

它从 SM36 安排。您可以通过查看其作业日志从 SM37 进行分析。

后台作业的优点

  • 它减少了手动工作量并自动化了任务。
  • 它可以根据用户的选择进行安排。
  • 它减少了用户交互,可以在后台无缝运行,无需用户输入
  • 一旦为后台作业定义了变式,用户就不必担心字段中的值输入。因此,用户混淆也减少了。
  • 非常适合耗时/资源密集型的程序,可以安排在夜间运行(系统负载较低时)。

后台作业分为三类——

  1. A 类(高/关键优先级):– 有些任务是紧急或关键的,必须以 A 类优先级作业安排。A 类优先级会保留一个或多个后台工作进程。用户必须决定分配多少后台工作进程给 A 类优先级作业。假设用户为该类别选择了 2 个后台工作进程,则 B 类和 C 类作业可用的后台工作进程 =(操作模式 RZ03 中设置的工作进程总数)-(允许给 A 类别的后台工作进程)。
  2. B 类(中优先级):– 一旦 A 类作业完成,B 类作业将在 C 类作业之前在后台开始执行。
  3. C 类(低优先级):- 在 A 类和 B 类作业都完成后运行。

后台作业的可能状态

  1. 已安排:– 您已定义了程序名称和变式,但未定义开始条件,如开始日期、结束日期、频率等。这意味着您尚未定义作业应在系统中安排的时间。
  2. 已发布:– 作业定义的所有必需条件均已满足。作业处于发布状态必须有开始条件。
  3. 就绪:– 已满足运行作业在后台工作进程中的所有必需条件。但是,作业调度程序将作业放入队列,因为它正在等待后台工作进程可用。
  4. 活动:– 作业已开始在后台运行。一旦作业处于活动状态,我们就无法更改其状态。
  5. 已完成:– 作业已成功执行。这意味着期望的任务已完成,没有任何错误。
  6. 已取消:– 有两种可能性。管理员已强制取消作业,或者作业可能存在某些问题。您可以通过作业日志对此进行调查。

如何安排后台作业?

您可以使用 **SM36** 安排后台作业。可以安排计划的或即时作业。

步骤 1) 执行 T-code **SM36**。

Schedule the Background Job

步骤 2) 填写作业名称、优先级 **(A/B/C)** 和目标服务器。后台作业一旦在目标服务器上安排,就会在该服务器上运行。定义目标服务器的主要目的是进行工作负载平衡。

Schedule the Background Job

步骤 3) 点击“**spool 列表接收者**”。您将在邮箱中收到输出。您可以从 **SBWP** 查看电子邮件。

Schedule the Background Job

步骤 4) 插入您的 **SAP** 用户名并点击复制按钮。

Schedule the Background Job

步骤 5) 点击 **Step** 按钮定义 ABAP 程序、变式详情等。

Schedule the Background Job

步骤 6) 定义程序名称、变式详情。

  1. 在字段中输入您的程序名称、变式名称。如果您尚未根据要求创建变式,则将其留空。
  2. 按保存按钮。

Schedule the Background Job

步骤 7) 一旦您安排了作业,您将看到以下屏幕。

Schedule the Background Job

步骤 8) 点击开始条件填写作业的开始日期、结束日期、频率等。如果您不指定开始条件,**作业将始终保持已安排状态**。已安排状态的作业将永远不会运行。

  1. 点击 **日期/时间(对于周期性作业)**。如果您点击“立即”,作业将立即开始运行。但它不会被设置为周期性作业。这就像“**按一下就运行**”。
  2. 定义作业的开始日期/时间、结束日期/时间。一旦满足其**计划的开始日期/时间**,作业才会被发布。
  3. 按周期值。

Schedule the Background Job

步骤 9) 点击“每小时/每天/每周”周期以根据您的要求定义作业的频率。我们将选择“其他周期”

Schedule the Background Job

步骤 10) 在此处指定作业的重复标准。例如,您可以让作业从开始日期开始每 5 天运行一次。在这里,我们选择作业每 10 分钟运行一次

Schedule the Background Job

步骤 11) 点击 **保存** 按钮。

Schedule the Background Job

步骤 12) 再次点击 **保存**。

Schedule the Background Job

步骤 13) 再次点击 **保存**

Schedule the Background Job

步骤 14) 一旦定义了 **作业步骤和开始条件**,将出现以下窗口。

Schedule the Background Job

步骤 15) 按 **保存**。

Schedule the Background Job

步骤 16) 转到 **SM37** 了解作业的状态。

Schedule the Background Job

步骤 17) 选择您要监控的作业的标准。

  1. 输入您的作业名称和安排作业的用户名。
  2. 选择作业的状态。
  3. 指定日期范围。在我们的场景中,我们只指定结束日期,而将开始日期留空。

Schedule the Background Job

步骤 18) 您将看到以下屏幕。查看状态,它是已发布,表示满足开始条件,并且作业在队列中等待**后台工作进程可用**。

Schedule the Background Job

如何重新安排后台作业

重新安排的作业将来不会运行。请记住,一旦作业处于**活动**状态,您就无法取消其计划。

步骤 1) 执行 **SM37**。

Reschedule a Background Job

步骤 2) 填写标准。

  1. 作业名称和安排作业的用户名。
  2. 选择状态。要取消作业的计划,您只能选择已发布/就绪状态。
  3. 指定日期范围。
  4. 按执行 (F8) 按钮。

Reschedule a Background Job

步骤 3) 选择指定的作业并按 **Job -> (Released -> Scheduled)**。

Reschedule a Background Job

步骤 4) 按下“**已发布 -> 已安排**”后,您将在状态栏中看到消息。

Reschedule a Background Job