赞
踩
课程:使用 Redwood 的 SAP Central Process Scheduling 进行作业调度
课程概述
在本课中,将介绍 SAP NetWeaver 的新的基于事件的作业调度功能。您将了解 SAP CPS 与 CCMS 中的作业调度功能相比有哪些优势。
课程目标
完成本课程后,您将能够:
• 解释如何使用 Redwood 的 SAP Central Process Scheduling
• 说出 SAP CPS 最重要的特性
业务示例
在每个系统环境中,您都需要运行和监控后台进程。 Redwood 的 SAP Central Process Scheduling 是新的中央调度工具,自 SAP NetWeaver 7.0 起集成在 SAP NetWeaver 中。
Redwood 的 SAP 中央流程调度
Redwood 的 SAP Central Process Scheduling 应用程序 (SAP CPS) 是一种解决方案,可集中管理和编排需要跨多个应用程序和组织进行的底层流程。它通过自动监控您的环境以及启动或管理流程和流程链来支持事件驱动和动态流程。它提供对所有业务流程(包括计划流程或批处理流程)的完整、集中管理。它与本地 SAP 管理工具 SAP NetWeaver 和 SAP Solution Manager 无缝集成,并提供与 SAP 和非 SAP 应用程序的集成。
在下图中,您可以看到 SAP CPS 一方面在免费版本中提供的功能,另一方面在完整版本(收费)中提供的功能。基本版和完整版之间的主要区别在于事件驱动的作业调度、操作系统级别的作业处理以及跨系统运行作业或作业链的能力。
图 136:SAP CPS 的功能 - 基本版和完整版的比较
在此图中,显示了 SAP CPS 的技术架构。 SAP CPS 是在 SAP NetWeaver 7.0 AS Java (SP14) 之上运行的 Java 应用程序,并将其所有配置数据保存在数据库的 Java 模式中 (1)。所有 SAP CPS 相关表的名称中都有前缀“JCS_”。
所谓的流程服务器 (2) 是在 SAP CPS 中运行的 RFC 客户端。每个 Process Server 只能连接到一个 RFC 服务器。相应的接口 XBP、BW-SCH 和 JXBP 是连接的远程系统上的对应接口。
如果必须连接非 SAP 系统,则需要在该远程主机上安装 RFC 服务器。在这些系统上,必须安装所谓的平台代理 (3) 以使 SAP CPS 能够连接到它们。
要访问 SAP CPS,需要使用 Web UI (4),它可以在浏览器中打开。
图 137:Redwood 与 SAP 解决方案管理器集成的中央流程调度
SAP Solution Manager 和 SAP CPS 使用 Application Scheduling API 进行交互。作业的请求可以通过 SAP 解决方案经理变更请求管理流程进行管理。工作描述可以集中保存在 SAP 解决方案管理器中。可以在 SAP Solution Managers Business Process Monitoring 中分析和呈现作业状态结果。
有关如何安装和自定义 Process Scheduling Adapter 的详细信息,请参阅 http://service.sap.com/rkt → SAP Solution Manager → SAP Solution Manager Extensions → Process Scheduling Adapter for SAP Solution Manager。
使用 SAP CPS
SAP CPS 是一个应用程序,必须使用软件部署管理器进行部署。随着部署,三个动作
• Redwood.com/Scheduler/AccessScheduler
• Redwood.com/Scheduler/ManageScheduler
• Redwood.com/Scheduler/ManageSchedulerIsolation
在 UME 中可用。要授予调度程序的管理访问权限,您需要定义具有这两个操作的 UME 角色或将这些操作分配给现有角色。对于具有指定操作的用户,您可以在 Web 浏览器中使用 URL http://<host>:<http port>/scheduler 启动调度程序。
使用 SAP CPS 的基本版本,每次登录只能处理一个系统。系统环境中的每个系统都需要一个具有指定用户的所谓隔离组。这意味着,作为第一步,您必须创建隔离组并分配允许在此系统上安排作业的用户。
创建隔离组后,您必须注销并重新登录才能进入隔离组。现在在隔离组中创建 SAP 系统。
1. 从导航栏中,选择环境 → SAP 系统
2. 从上下文菜单中,选择新建。
3. 进行以下设置:
• RFC 连接字符串 ASHOST=<完整主机名,例如twdfxx.sap.corp> SYSNR=<系统编号> TRACE=0
• J2EE URL:http://<j2ee 主机:http 端口>
• 默认时区:Europe/Berlin(输入 eu 并等待系统进行预选)
4. 测试连接。
5. 切换到 XBP 选项卡并单击新建。
6. 进行以下设置:
• 连接系统的客户端
• RFC 用户
• 密码
• 标记启用复选框
• 标记默认客户端复选框
7. 检查连接设置。选择保存并关闭。
创建系统后,CPS 会自动为系统创建进程服务器和作业队列。对于流程服务器,您必须输入其他参数。
1. 从导航栏中,选择环境 -> 进程服务器
2. 已创建名称为 >system>_ProcessServer 的进程服务器。选择它并从上下文菜单中选择编辑。
3. 在参数选项卡上,单击新建并选择 SAP_EnableRfcServer。作为值,输入 true。
4. 保存并关闭。
5. 启动进程服务器:选择进程服务器,然后从上下文菜单中选择启动。一旦 Process Server 运行,就会建立与系统的连接。您可以查看 TA sm59,TCP/IP 连接:cronacle-@sap:<sys ID-nr>,由用户 CPSCOMM 创建。
现在您可以开始使用 SAP CPS 运行作业。
创建和安排作业
在 SAP CPS 中创建作业有多种选择:
• 从顶级导航中的提交作业按钮开始,然后在此处选择作业定义(模板)或手动编写作业脚本
• 从导航栏定义 → 作业定义开始,选择作业定义并从上下文菜单中选择提交
• 创建工作链(借助图形显示)并选择定义→工作链
图 138:创建和安排作业
您可以在 Monitor → Jobs 下的作业监视器中观察作业。从每个作业的详细视图中,您可以打开日志和输出文件(如果适用)。您甚至可以从监控视图重新安排作业,从上下文菜单中选择 Schedule → Resubmit。
有关 SAP CPS 功能和特性的完整概述,请参阅管理指南,您可以通过单击顶级导航中的信息按钮打开。
创建和运行作业链
作业链并行或顺序执行一个或多个作业定义(作业定义作业)。作业定义作业被分组为多个步骤。一个步骤中的所有作业同时执行(并行处理)。进程服务器等待直到一个步骤中的所有作业都获得最终作业状态,然后再继续下一步(顺序处理)。
核心 CCMS 功能的主要优点是可以使用状态处理程序根据步骤的最终状态跳过或重新启动步骤。作业链有两个级别的状态处理程序,步骤级别和作业链级别:当步骤级别没有找到状态处理程序时,使用作业链级别的状态处理程序。如果作业链级别也没有,则使用默认行为。
默认行为如下:
• 当一个步骤达到状态完成时,将启动下一个步骤,或者,当这是最后一个步骤时,链状态设置为完成。
• 当步骤达到状态错误时,作业链状态设置为错误。
• 当一个步骤被取消时,作业链状态设置为错误。
图 139:使用步骤状态处理程序创建作业链
状态处理程序会否决默认设置,并将步骤或链设置为预选状态,或者在达到特定状态时采取不同的操作。可以使用以下操作:
• GotoStep - 转到工作链中的另一个步骤
• 引发错误 - 通过返回返回代码引发错误
• 标记已完成 - 将步骤状态更改为已完成(独立于实际结果)
• 重新启动步骤 - 重新启动当前步骤
• 重新启动链 - 重新启动链
• 请求重新启动 - 在出现错误时创建操作员消息并要求手动重新启动作业链
• 继续 - 继续处理链
基于事件的调度
在 SAP CPS 中,作业和作业链不能仅通过输入开始时间和期间来触发。根据作业与其他作业的依赖关系来启动作业会更有效,例如,一旦前一个作业传输了数据。这可以通过事件来完成:
• 添加到作业/作业链的引发事件在您定义的状态下启动新的作业/作业链
• 添加到作业/作业链的等待事件使该作业等待引发事件(由分配的作业或手动)
事件允许创建复杂的依赖关系,因为它们可以由已完成的作业引发和清除。只要没有引发一个或多个事件,等待这些事件的作业就不会开始。这保证了一个作业只有在所有条件都满足才能开始时才会开始。
图 140:使用事件创建作业链之间的依赖关系
如果要使用事件,首先必须创建事件定义。
1. 从导航栏中选择定义 → 事件定义。
2. 从上下文菜单中选择创建并输入事件定义和描述。保存并关闭。
3. 将事件分配给工作链。您可以通过编辑作业链来做到这一点。
4. 如果要添加启动另一个作业链的事件,请编辑作业链并转到“引发事件”选项卡。
5. 从下拉列表中选择事件并选择应引发事件的状态。保存并关闭。
6. 将与等待事件相同的事件添加到要依赖于第一个的作业链。
7. 提交带有等待事件的作业链。该作业现在等待引发事件。
从 ABAP 系统导入作业
如果您想运行和控制之前通过 SAP CPS 事务 SM36 在 SAP 系统中提交的后台作业,您可以使用 ImportCCMSJobs 功能。您可以将 CCMS 作业步骤作为单独的作业定义导入,或者只使作业链使用 SAP_AbapRun 作业定义;后者使 SAP CPS 中的作业定义数量保持在较低水平,并让您有更好的概览。缺点是如果不自己填写参数或提交禁用步骤的作业链,您将无法轻松地自行安排步骤。
要从 SAP 系统导入 CCMS 作业:
1. 选择定义 > 工作定义并找到工作定义
SAP_ImportCCMS 作业。
2. 从上下文菜单中,选择提交。
3. 在参数和生成设置选项卡中填写相应信息。
参数选项卡上的以下字段是必需的:
• SAP 系统
• SAP 客户端
• SAP 作业名称
生成设置选项卡上的以下字段是必需的:
• 生成的作业定义的名称
• 覆盖现有的作业定义?
• 应用
• 为每个步骤创建工作定义?
• 将步骤编号添加到 SAP 作业名称?
• 检索工作日志?
• 检索假脱机列表?
• 完成后删除作业?
4. 选择左侧的调度并选择属于 SAP 系统的队列。
5. 选择提交。
解决方案 27:使用 SAP CPS 进行作业调度
任务1:
在 SAP CPS 中创建一个隔离组并将您的用户和系统分配给它。
1. 使用 URL http://<devhost>:<http-port>/scheduler 打开 SAP CPS 浏览器并使用您的用户 adm100-## 登录。创建隔离组并将您的用户添加到隔离组。
a) 当您使用 SAP CPS 的基本版本时,您必须创建一个隔离组(每次登录只能在一个系统中设置和管理计划)。在导航栏中,选择安全 → 隔离组。从上下文菜单中,选择新建。创建隔离组 dev_##。保存并关闭。
b) 选择隔离组并从上下文菜单中选择导入用户。搜索您的用户 adm100-## 并导入该用户。
2. 在新的隔离组中为系统 DEV 创建 SAP 系统条目。
a) 从调度程序注销并再次登录。您将被定向到新创建的隔离组。 (如果您创建多个隔离组,您可以从您的用户分配到的所有组的列表中选择隔离组。)
b) 从导航栏中,选择环境 → SAP 系统
从上下文菜单中,选择新建。
进行以下设置:
• RFC 连接字符串 ASHOST=devtdc00.wdf.sap.corp SYSNR=00 TRACE=0
• J2EE URL:http://devtdc00.wdf.sap.corp:50000
• 默认时区:Europe/Berlin(输入 eu 并等待系统进行预选)
测试连接。
切换到 XBP 选项卡并单击“新建”。进行以下设置:
• 客户 100
• 用户 CPSCOMM
• 密码红木
• 标记启用复选框
• 标记默认客户端复选框
检查连接设置。选择保存并关闭。
创建系统后,CPS 会自动为系统创建进程服务器和作业队列。对于流程服务器,您必须输入其他参数:
从导航栏中,选择环境 → 进程服务器
已创建名为 DEV_ProcessServer 的流程服务器。选择它并从上下文菜单中选择编辑。
在参数选项卡上,单击新建并选择“SAP_EnableRfc-Server”。作为值,输入 true。
保存并关闭。
任务 2:
使用状态处理程序创建并提交作业链
1. 创建一个名为 JobChain## 的作业链。
a) 从导航栏中,选择定义 → 作业链。从上下文菜单中选择新建。在新窗口中单击带有作业链符号的矩形。这将导致显示作业链详细信息。输入作业链 JobChain## 的名称并选择队列 DEV_Queue。
b) 单击矩形并从上下文菜单中选择添加步骤。添加名称,例如步骤 1,以及步骤说明。单击步骤矩形并从上下文菜单中选择添加作业。单击作业定义字段并从列表中选择 SAPAbapRun。进行以下输入:
• 调度 - 队列:<选择本地队列>
• 输入参数:
– 系统:dev_local.dev
– 客户:100
– SAP 作业名称:DEMOJOB1
– ABAP 程序:RSDEMO03
在调度下,选择本地队列。
c) 单击作业链矩形并从上下文菜单中选择添加步骤。添加名称,例如第 2 步,以及第 2 步的说明。单击步骤矩形并从上下文菜单中选择添加作业。单击作业定义字段并从列表中选择 SAPAbapRun。进行以下输入:
• 调度 - 队列:<选择本地队列>
• 输入参数:
– 系统:dev_local.dev
– 客户:100
– SAP 作业名称:DEMOJOB2
– ABAP 计划:RSPFPAR
– ABAP 变体:SAP&SPOOL
2. 为步骤 1 分配一个步骤状态处理程序。
a) 返回第 1 步。在最终状态处理程序下打开 On Error 并输入以下条目:
• 操作:转到步骤
• 转至步骤:步骤 2
保存并关闭。
3. 提交作业链并监控作业链的处理。
a) 在作业链定义视图中,单击您的新作业链并从上下文菜单中选择提交。保留默认设置并选择提交。打开作业监视器并刷新列表。现在你看到你的工作链正在运行。
结果
虽然工作链中的一个工作失败了,但整个工作链
已处理并以状态 Completed 结束。状态处理程序允许在步骤级别上覆盖状态,并设置在满足某些条件时如何在作业链中进行的规则。
原文下载:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。