课程:后台处理:更多主题
课程概述
在本课中,您将进一步了解后台处理的特殊功能。
课程目标
完成本课程后,您将能够:
使用后台处理的附加特殊功能
业务示例
您希望更有效地使用后台处理资源。
A类工作预约
在正常操作中,每个后台工作进程都会处理每个优先级的作业。
但是,您可以根据需要为高优先级作业(即 A 类作业)保留尽可能多的已配置后台工作进程。为 A 类作业保留工作流程不会保留任何特定的工作流程。相反,它确保特定数量的工作流程始终保持空闲。仅当为可能的 A 类作业定义的工作流程数量保持空闲时,才能启动作业类 B 和 C 中的作业。
图 129:A 类作业的预留
设置A类预留后台工作进程的数量,可以在事务RZ04(操作模式和实例的维护)中定义一个操作模式,并维护该操作模式的工作进程分布。这样做时,您可以选择保留工作流程。
如果 A 类工作负载很小,或者后台处理很少出现瓶颈——换句话说,通常至少有一个后台工作进程是空闲的——那么为 A 类作业保留一个工作进程可能没有任何优势。在这种情况下,保留只是意味着很少使用工作流程。
我们建议您不要为每个实例保留一个以上的后台工作进程来处理 A 类作业。对于每个系统,通常预留一个后台工作进程来处理 A 类作业就足够了。
执行目标
只有具有后台工作进程或作业服务器组的实例才能用于专门安排后台任务。
一个作业服务器组包含一个或多个具有可用后台工作进程的实例。此类型组的使用方式与对话用户的登录组相同。还可以在选定实例上处理来自不同应用程序的后台任务。
图 130:执行目标和作业服务器组
您可以在事务 SM61 中设置作业服务器组(菜单路径:工具 → CCMS → 后台处理 → 后台对象)。为此,请调用事务,然后选择作业服务器组。然后,您可以定义您的作业服务器组并分配您的实例。
后台用户
使用事务 SM36 对作业的经典定义,您可以将作业的每个步骤分配给用户(见图)。指定的用户用于步骤执行期间的授权检查。默认情况下,登录用户的名称显示在此字段中,并且您的工作是使用您的授权执行的。如果您的工作不应使用您自己的授权执行,请输入不同的用户名。但是,为了能够执行此操作,您必须具有适当的授权(授权对象 S_BTCH_NAM)才能在“用户”字段中输入您自己以外的名称。
图 131:后台用户
为具有所需活动的必要权限的各种工作区域设置后台用户很有用,并且具有相同权限的用户可以使用这些用户来安排该工作区域中的后台任务(例如系统管理)。后台用户拥有专门用于后台处理授权的用户主记录。
创建后台用户时使用系统用户类型。无法与此类用户进行对话登录。同样,这种类型的用户免于密码有效期的常规设置。密码只能由用户管理员使用事务 SU01(用户 → 更改密码)更改。
使用作业向导定义作业时,登录用户的名称包含在每个步骤的授权检查中。
使用外部程序
后台处理系统区分普通用户的外部命令和系统管理员的外部程序。这种区分的目的是让系统管理员能够运行任何所需的外部程序,而普通用户则仅限于使用经过授权检查的外部命令。在这两种情况下,程序 sapxpg 都在操作系统级别调用。然后,sapxpg 在操作系统级别启动相关程序。
图 132:使用外部程序
外部命令是管理员在 SAP 系统中预定义的主机系统命令或程序。它们受授权保护,因此普通用户只能调度系统管理员已为其分配授权的命令。因此,您可以在操作系统级别为 SAP 系统的用户提供 SAP 系统之外的功能。
外部程序是不受限制的命令,既不受预定义也不受授权限制。具有管理权限的用户可以在作业步骤中输入任何外部程序。在执行命令之前不执行 SAP 授权检查。外部程序为管理员(具有外部命令的管理权限的用户(授权对象 S_RZL_ADM:后台处理:后台管理员))提供了在 SAP 系统中运行任何所需主机系统命令的灵活性,而无需进行管理准备。
图 133:外部命令的定义和使用
外部命令的创建需要以下步骤:
1. 调用事务 SM69(工具 → CCMS → 配置 → 显示/更改外部命令)。
2. 选择创建。
3. 为新命令输入条目。
• 外部命令由名称(以 Y 或 Z 开头)和操作系统类型唯一标识。类型字段会自动填充。
• 指定可执行的操作系统命令(如果需要完整路径)并指定任何其他必需或可选参数。
• 如果允许用户在稍后执行外部命令或将其安排在作业中时指定附加参数,请选中允许附加参数复选框。附加参数被添加到可能已经在“操作系统命令参数”下指定的参数字符串中。
• Trace 字段通常应该留空。要跟踪外部命令的执行,请使用功能模块 SXPG_COMMAND_EXECUTE 的跟踪参数。
• 如果您已定义附加授权检查,请在检查模块字段中输入执行检查的功能模块的名称。这通常是功能模块 SXPG_DUMMY_COMMAND_CHECK 的客户副本。如果用户尝试执行外部命令或将其安排在作业中,系统会自动调用该功能模块。
4. 选择保存。要返回命令概览,请选择返回 ( )。
控制标志
您可以使用控制标志对任务和其他运行时选项进行规范。您通常不需要更改默认值。
图 134:外部程序/命令的控制标志 例如,您可以指定:
• 是否要记录进程。输出数据被写入日志,因为它是由外部程序输出的。此处的语言可能与您的登录语言不同。您还可以在作业日志中调用有关外部程序数据的附加信息。
• SAP 控制程序应如何结束以及外部程序是否触发事件。使用后台处理系统(如 UNIX 系统中的守护程序)启动服务程序后,它们在启动后仍保持活动状态。它们不会结束,也不会像其他程序一样返回到 SAP 后台处理系统。如果你启动一个服务程序,你不应该使用控制标志设置 Job waiting for ext。调度作业时终止。
您可以使用 F1 帮助在 Edit Control Flags for External Programs 屏幕上显示有关控制标志含义的附加信息。
扩展标准
前面课程中描述的作业调度选项并未涵盖所有可能的要求。您可以通过以下方式实现更复杂的场景:
SAP 系统具有各种内部功能模块,可在定义自己的工作流程时为您提供支持。这些功能模块位于功能组 BTCH 和 BTC2 中。您可以借助这些功能模块定义任何复杂的场景。
SAP 提供了一组接口,使其他系统管理环境能够连接到 SAP 计算中心管理系统 (CCMS):
• 外部监控接口API (XMI-API) 接口记录外部用户和程序的活动。
• 后台处理的外部接口 (XBP-API) 接口允许使用外部作业调度程序。
使用这些工具,您可以安排 SAP 系统边界之外的后台作业,并包括非 SAP 系统。
图 135:扩展标准
有关认证解决方案的列表,请参阅软件合作伙伴目录中的软件类别作业调度。
除了传统的本地 SAP 后台处理(事务 SM36/SM37)之外,您还可以从 SAP NetWeaver 2004 开始使用作业调度程序进行跨环境后台处理。有关此跨环境作业调度程序的信息可在 SAP Developer Network 下获得快速链接 /nw-scheduling https://www.sdn.sap.com/irj/sdn/nw-scheduling。
此外,SAP Solution Manager 7.0 为作业管理工作中心的作业调度提供了一些中心功能。
解决方案 26:(可选)其他主题
后台处理领域
任务 1:预订“A”类工作
检查为“A”类作业保留后台工作进程的当前设置。
1. 查明后台工作进程是否为系统中的“A”类作业保留。
a) 您只能使用事务 RZ04(维护操作模式和实例)检查您是否为作业类 A 的作业定义了后台工作流程。在那里选择实例/操作模式并检查 BPA 列。
任务 2:外部程序和外部命令
创建作业链、外部程序和外部命令作为作业步骤。
1. 使用事务 SM36(不带向导)创建具有以下特征的作业:
a) 启动事务 SM36。
b) 在作业名称下,输入 EXT-PROG-##。
c) 对于工作类别,选择 A。
d) 选择步骤。选择外部程序。输入任务中列出的步骤的规范,然后选择保存。
e) 选择开始条件。选择 After Event 并选择 EVENT_##。将 Parameter 字段留空,不要选中 Periodic Job 复选框,然后选择 Save。
f) 最后,在事务 SM36 的初始屏幕上,选择保存一次。
2. (可选)创建执行操作系统命令 whoami 的外部命令 Z_OSUSER_##。
a) 启动事务 SM69。
b) 选择创建。
c) 在命令名称下,输入 Z_OSUSER_##,在操作系统命令下,输入 whoami。不要更改其他默认值并保存命令。
您也可以返回概览并执行您的命令来测试它。
3. 使用事务 SM36(不带向导)创建具有以下特征的作业:
a) 调用事务 SM36。
b) 在作业名称下,输入 EXT-CMD-##。
c) 选择步骤。选择外部命令。为任务中指定的步骤输入条目。在操作系统下,选择 Windows NT 并选择保存。
d) 选择开始条件。选择 After Job 并在 Name 下输入 EXT-PROG-##。然后选择保存。
e) 最后,在事务 SM36 的初始屏幕上,选择保存一次。
4. 使用 CCMS 工具在新会话中触发事件 EVENT_## 并刷新作业概览。
a) 启动事务 SM64 并选择您的事件 EVENT_##。
b) 选择触发器,将参数字段留空,然后再次选择触发器。
c) 刷新作业概览后,作业 EXT-PROG-## 和 EXT-CMD-## 应该都已成功运行一次。
结果
恭喜!您现在可以创建外部命令并将外部程序安排为作业步骤。
原文下载: