课程:基于时间的作业调度
课程概述
在本课中,您将了解基于时间的作业调度。
课程目标
完成本课程后,您将能够:
• 安排与时间相关的工作
• 安排标准作业
业务示例
管理员安排作业并监控系统的后台处理以确保其正常运行。
基于时间的调度
图 124:作业的时间相关启动
可以以时间或事件相关的方式启动作业。如果作业开始时间取决于时间,您可以在以下选项之间进行选择:
• 作业应立即执行
• 作业应在特定日期/时间执行
• 作业应在特定工作日执行
您可以选择使作业的所有基于时间的开始条件重复出现。这意味着在经过定义的时间段后再次执行作业。您可以指定例外情况(例如在工厂日历中的节假日情况下推迟到下一个工作日)。
根据作业优先级和后台工作进程的可用性,作业在指定的日期和时间开始。
您还可以指定应执行作业的时间段。为此,您需要指定一个时间,在该时间之后作业不应再执行。使用此功能,您可以防止在不希望的时间执行定期作业等。例如,应该只在晚上执行的重组作业被延迟。使用开始时间窗口,您可以避免在白天执行此作业,此时对话用户处于活动状态并且可用的系统资源较少。
负载均衡
配置文件参数 rdisp/bctime 指定时间相关作业调度程序处于活动状态的时间段(参见下图)。以立即开始条件执行作业通常会避免依赖时间的调度程序。在这种情况下,调度用户的对话工作进程执行作业调度。只有在没有找到空闲资源的情况下,才会以基于时间的方式安排相关作业。然后,计划的开始时间对应于它应该开始的时间点。
图 125:调度作业和负载平衡
可以使用配置文件参数 rdisp/wp_no_btc 在 SAP 系统的每个实例上配置后台工作流程。
SAP 系统所需的后台工作进程数量取决于要在后台执行的任务数量。如果使用传输系统,系统中必须至少有两个后台工作进程。
作业 ID 和作业名称的组合定义了系统中唯一的作业。
在定义了后台工作进程的每个 SAP 实例上,时间相关的作业调度程序每 rdisp/btctime 秒运行一次(默认值:60 秒)。这是一个在对话工作流程中自动运行的 ABAP 程序(SAPMSSY2 - 一种自动 ABAP)。
与时间相关的作业调度程序检查数据库中的作业调度表以查找正在等待处理的作业。这些作业根据其优先级和执行目标转移到 SAP 实例中的空闲后台工作进程。
• 未分配任何特定执行目标的作业可以使用任何空闲的后台工作进程执行。这意味着工作负载会在 SAP 实例之间自动分配。
• 如果作业被显式分配了执行目标(例如选定的实例或一组实例),则可以使用执行目标的特殊属性(例如,您可以确保作业在特定操作系统上执行) ,或者作业由与数据库在同一主机上运行的后台工作进程执行)。但是,这意味着您没有自动负载平衡的优势。
标准工作
标准作业是应在生产 SAP 系统中定期运行的后台作业。这些作业主要执行系统中的某些清理任务,例如删除过时的假脱机请求。
图 126:计划标准作业
在作业定义事务 (SM36) 中,您可以访问一系列重要的标准作业,您可以通过选择标准作业来安排、监控和编辑这些作业(见图)。
• 如果您要计划所有标准作业,请选择默认计划。表 REORGJOBS 中定义的所有标准作业都使用指定的变式和期间进行调度。如果存在执行标准作业程序之一的其他作业,系统会通知您。
• 要安排单个作业,请使用输入帮助选择所选作业并指定执行周期。
• 要定义选择中尚不可用的附加标准作业(表REORGJOBS),请选择预定义新作业。
解决方案 24:基于时间的作业
任务 1:检查配置文件参数
检查与时间相关的 Job Scheduler 的设置。
1. 你的系统中时间相关的 Job Scheduler 的时间间隔是多少?
a) 确定配置文件参数 rdisp/btctime 的值(使用事务 RZ11 或报告 RSPFPAR)。
结果
您现在知道依赖时间的 Job Scheduler 每隔多少秒启动一次。
任务 2:可选:变体
为 ABAP 程序创建变体。
1. 为程序 RSPFPAR(## 代表您的组号)创建一个变体 DISP_##,它只为 ABAP 调度程序发布参数。
a) 启动事务 SA38 并输入 RSPFPAR 作为程序。选择执行。
b) 在 Profile Parameters 下,输入 rdisp/* 并选择 Save as Variant ( )。
c) 在变体名称下输入 DISP_##,在含义下输入任何文本。
d) 保持其他字段不变并保存新变量。
结果
您已经为 ABAP 程序创建了一个变体。
任务 3:安排作业
使用各种工具来创造就业机会。
1.(可选)使用事务SA38在后台运行报表RSPFPAR(开始时间:立即执行)。对于 Variant,选择名称 DISPATCHER 或(如果您已执行上一个任务)DISP_##。
a) 启动事务 SA38 并输入 RSPFPAR 作为程序。
b) 选择背景。
c) 选择变体 DISPATCHER 或 DISP_##(使用 F4 帮助)。
d) 选择执行 Immed。使用作业概览按钮转到事务 SM37,您可以在其中显示作业结果(执行按钮)。
2. (可选)使用事务 SM36WIZ 创建具有以下属性的作业:
a) 启动事务 SM36WIZ 并选择 Continue。
b) 填写任务中指定的屏幕。尽可能使用 F4 帮助。如果未指定任何值,请使用默认值。
c) 要完成,请选择完成。
3. 使用事务 SM36(不带向导)创建具有以下特征的作业:
a) 启动事务 SM36。
b) 在作业名称下,输入 TIME-##。
c) 选择步骤。输入任务中列出的步骤的规范,然后选择保存。然后选择返回 ( )。
d) 选择开始条件。选择日期/时间并输入时间 <系统时间 + 3 分钟>。选中定期作业复选框并在期间值下选择每日。然后选择保存。
e) 最后,在事务 SM36 的初始屏幕上,选择保存一次。
结果
您可以使用不同的工具安排与时间相关的作业。
任务 4:监控作业
使用作业概览监控作业。
1. 显示您今天的所有工作。
a) 启动事务 SM37。在选择中也包括预定的工作。然后选择执行。
2. 找出作业 RSPFPAR 的详细信息,例如优先级、客户端、作业 ID、调度和释放作业的用户以及执行作业的工作流程。
a) 在事务 SM37 中,双击作业 RSPFPAR。
b) 选择作业详细信息以显示一个对话框,其中包含您需要的所有信息。
3. 查看作业 TIME-WIZ-## 的假脱机列表。
a) 在事务 SM37 中,选择作业 TIME-WIZ-##。
b) 使用 Spool 按钮转到生成的假脱机请求。
c) 选择假脱机请求并选择显示内容 ( )。您应该会看到与事务 AL08 的输出类似的用户概览。
假脱机列表仅为包含 ABAP 程序和输出的作业步骤创建。仅当您在定义作业步骤期间在打印机设置中或在您的用户默认值中进行了相应设置时,它们才会立即打印。
4.判断作业TIME-##是否被延迟,如果是,延迟的时长。
a) 根据设置,您将在 SM37 中看到标题为延迟的列。选择作业 TIME-## 后,您可以选择作业日志以显示作业随时间的进度。
延迟可能是由于繁忙的后台工作进程或与时间相关的作业计划程序定期运行的事实。
5.在SM37中,为什么你看到下一个工作TIME-WIZ-##,却没有看到下一个工作TIME-##?
a) 使用默认值,作业监视器 SM37 显示今天的作业。 如果您相应地调整选择,也会显示下一个作业 TIME-##(次日发布)。
原文下载: