维护流程链
学习目标
使用 SAP BW/4HANA Cockpit 定义、执行和监控流程链
从显示组件迁移到 InfoArea
在 SAP BW 中,流程链通过专用的显示组件层次结构进行组织。对于 SAP BW/4HANA,显示组件会迁移到相应的 InfoArea。
对于就地转换(in-place conversion),迁移会在升级到 SAP BW/4HANA 的技术升级期间自动完成。对于 Shell 转换或 Remote 转换,SAP 建议先将显示组件层次结构传输到目标 SAP BW/4HANA 系统,然后再传输任何流程链。如果不进行此传输,流程链会被临时传输到 NODESNOTCONNECTED InfoArea。传输完成后,流程链会重新分配到正确的 InfoArea。要传输显示组件层次结构,请在传输请求中添加程序 ID R3TR、对象 RSDC 和对象名称 RSPC。
SAP BW/4HANA 中的流程变体
在 SAP BW/4HANA 中,流程变体的数量比 SAP BW 的早期版本少得多。这与 SAP BW/4HANA 中对象类型可用性的精简有关。另一个原因是 SAP HANA 的特性,它不需要索引生成或数据库统计信息刷新之类的额外性能相关活动。此外还有两个新变体:
BW 请求状态管理 - 整理(BW Request Status Management - Housekeeping) : 清理 DataStore Object (advanced)、InfoObject 特征和 Open Hub Destination 中的请求 TSN。
检查后继 DTP 的 ADSO 中的新数据(Check for new data in ADSO of successor DTP) : 启用 BCS/4HANA InfoProvider 的异步加载。仅与 BCS/4HANA 附加组件相关的场景才适用。
当您从 SAP BW any DB 迁移到由 SAP HANA 提供支持的 SAP BW 时,现有流程链中已过时的流程变体在处理期间会被跳过,并且无法在新的流程链中建模。不过,SAP 建议在此领域进行整理,以精简流程链。
转换为 SAP BW/4HANA 之后,若干流程变体不再可用。流程链本身仍完全受支持,但如果必须删除某个变体(例如在就地转换期间),则必须相应地调整对应的流程链,也就是说,必须从链中移除该变体,并封闭前序流程与后续流程之间的间隙。在某些情况下,必须用相应的新流程类型替换某个流程变体。此时,流程链也必须相应地调整。这些调整有一些工具支持,但无法避免人工投入。
在 SAP BW/4HANA Cockpit 中建模和监控流程链
在 SAP BW/4HANA Cockpit 中,还有一些与 SAP BW/4HANA 中流程链相关的附加应用。现有的 SAP GUI 事务暂时保留,但您越早熟悉这些新功能越好。
建模流程链:
系统会显示系统中所有流程链的列表。您可以在此创建、更改和删除流程链。要创建和编辑流程链,您可以使用该应用中的图形化编辑器。您可以在其中通过选择流程变体来插入流程,也可以直接在编辑器中定义流程。
建模流程变体:
系统会显示系统中所有流程变体的列表。您可以在此为许多流程类型创建流程变体。您可以在流程链中使用这些流程变体。不过,您不必先建模流程变体才能建模流程链。与过去一样,可以建模流程链并在其中创建相应的流程类型。
监控流程链 — 仪表盘:
系统会显示各种图表,概述流程链和流程链运行的重要统计分析。您可以从此处导航到流程链的监控列表或流程链运行的列表。
监控流程链 — 查看最新状态:
系统会显示所有流程链及其状态信息的列表。您可以在此计划、取消计划或修复流程链,并可以调用当前运行的日志。
监控流程链运行:
系统会显示系统中所有流程链运行及其状态信息的列表。您可以在此修复某次运行,或调用某次运行的日志以分析错误。
引入流式处理流程链
2006 年,SAP NetWeaver 7.0 引入了一个称为**实时数据采集(RDA)**的概念,用于以极高的频率(从每小时到每分钟)实现新数据的快速上传,尤其适用于运营报表场景。RDA 仅适用于 InfoCube 和 DSO(经典),不适用于 ADSO,因此它不再是 SAP BW/4HANA 中有效的概念。作为一项高级替代方案,SAP 已将 RDA 能力实现到流程链的标准框架中。
这些所谓的流式处理流程链是自随 SAP BW 7.5 SP04 发布以来推荐的概念。它们支持将数据传输近乎实时地传送到 InfoProvider,并为 BW 报表呈现最新数据。它并非 100% 实时,因为在实际情况下延迟最理想也以分钟计。因此,不要期望出现例如纯数据复制场景中常见的毫秒到秒级延迟。
注意
一般而言,尽可能快地获取数据不应被视为首选。相反,SAP 建议尽可能利用虚拟化和数据联合。SAP BW/4HANA 提供了多种合适的建模选项,主要基于 SAP HANA 集成服务(SDA、SDI)、SAP HANA 建模选项(Calculation View),以及 BW 应用侧的 Open ODS View 或 CompositeProvider 等虚拟 InfoProvider。因此,只有当这些方法无法满足您的业务需求时,才应将流式处理流程链视为首选的替代方案。
没有从 RDA 概念到流式处理流程链的自动迁移。在 SAP BW/4HANA 转换的准备阶段,必须执行若干手动步骤来移除 RDA 组件,并基于流程链设置相同的逻辑。有关详细的分步说明,请参阅 SAP 注释 2447916。
提示
SAP 注释 2844555 – 流程链流式处理更正的重要 SAP 注释(BW Note Analyzer)
设置流式处理流程链
可以为具备增量能力且基于 SAP BW/4HANA 源系统 ODP_* 或 HANA_* 的 DataSource 设置流式处理流程。对于 ODP 源,如果 DataSource 启用了流式处理,则会更有优势,因为在这种情况下,只有当源中存在新的增量数据时,流程才会传输数据。对于 HANA 源,如果连接具有名为实时变更数据捕获的属性,则情况相同。如果满足这些前提条件,就可以避免空的加载请求。因此,这是使用流式处理流程链的首选模式。
流式处理流程链只能由少数几种流程类型组成,例如不应涵盖额外的整理任务。由于重点是快速执行和重复执行,DTP 执行和 ADSO 激活是这些情况下支持的主要流程变体。
流式处理是 SAP BW/4HANA 中流程链的一种运行模式。您可以通过在 SAP GUI 的菜单中选择流程链→属性→流式处理模式,或在 SAP BW/4HANA Modeling 应用的流程链属性中激活它。
流程链运行时,每个步骤都会花费一定的时间;有趣的问题是,在此期间如果再次启动该链(甚至可能启动多次),并且执行到达了上一次执行时已处于活动状态的流程,实际会发生什么:
经典方法是在后台计划流程链。此时,第二次执行会等待上一次执行完成,最长等待 10 分钟。如果上一次执行在此期间未完成,第二次执行将被取消,流程链会被中断,并以错误结束。
处于流式处理模式的流程链使用新的排队任务管理器框架执行。这允许灵活数量的工作进程作业从队列中获取下一个流程。如果第二次、第三次以及更多次执行到达当前活动的流程,这些再次启动该流程的请求只会被写入队列。不会占用更多资源,系统也不会等待。当前流程一完成,工作进程作业就会收到针对给定流程的所有这些启动请求,并且只重新启动该流程一次:它从队列中取出最近的链执行并执行它。这意味着第二次和第三次链执行会被丢弃,只有最近的链执行会继续。 想象一下这样的场景:几个人在机场外等候各自的出租车。他们都想去同一家酒店。最终他们都上了同一辆出租车,而其他出租车行程则没有发生。
流式处理运行模式
由流式处理流程链控制的数据传输可以分为不同的运行模式:一种 Push 运行模式和两种 Pull 运行模式。它们之间的主要区别在于,是消费系统还是源系统触发数据传输:
在 Push 模式下,源系统向 SAP BW/4HANA 发送一个触发器,由后者执行数据传输。
在 Pull 模式下,作为目标系统的 SAP BW/4HANA 起主导作用。这意味着,它会检查源中的新数据,并将新数据传输到目标 InfoProvider。此模式有两个版本:
智能 Pull : SAP BW/4HANA 会定期在源中检查新数据。但是,只有在检查成功时才执行数据传输。这意味着,目标 InfoProvider 中不会生成空请求。
计划的 Pull : 流程链利用流式处理框架,并按周期进行计划。如果需要,可以频繁执行,间隔最短可达每分钟一次。每次计划的运行都会执行数据传输,这意味着无论源中是否存在新数据,都会在目标 InfoProvider 中创建一个请求。
PUSH 模式
PUSH 模式的主要特征是,当源系统生成新记录时,SAP BW/4HANA 会收到来自源系统的触发器。此事件会立即启动流程链的执行,将新数据传输到 InfoProvider。流程链以流式处理模式计划一次,无需定义周期性重复。这是 ODP 源的首选模式,因为只有当源系统中存在新数据时,流程链才会运行。
前提条件:
此模式仅适用于以下类型的 ODP DataSource: SAP 抽取器 、 ABAP CDS View 、 BW InfoProvider 和 SLT 。其他 ODP 类型(如 ODP_HANA 或 ODP_BYD)不支持此推送模式。
另一个前提条件是 DataSource 需要 支持增量(Delta-capable) :
ODP_SAP 或 ODP_CDS:增量能力取决于具体实现。
ODP_BW:增量能力取决于源 InfoProvider。受支持的源为 DSO(经典)、InfoCube 和 ADSO。
ODP_SLT:所有 DataSource 通常都具备增量能力。
最后,DataSource 还需要支持 流式处理(Streaming) :
ODP_CDS、ODP_BW、ODP_SLT:所有具备增量能力的 DataSource 默认都支持此属性。
ODP_SAP:此属性取决于抽取器的具体实现。例如,LO Cockpit DataSource(2LIS_)由于其复杂性(例如由于排队的增量)通常不启用流式处理,但其他 SAP 交付的 DataSource 可能支持此功能。不过,大多数 SAP 交付的 DataSource 在交付版本中并未启用流式处理。 系统提供了一些更正(请参阅 SAP 注释 1692484、1780297、1782173),但在大多数情况下,必须在 SAP 源系统中手动设置所谓的实时标志*(例如,通过客户报表将 ROOSOURCE-REALTIME 更新为值 'X')。不过,请注意,这仅对能够实时提供新数据的 DataSource 才有意义,也就是说,在任何时间点都有增量可用(另请参阅 SAP 注释 905089,该注释当前未发布,因此仅限 SAP 内部)。 客户开发的 DataSource 最初也没有此属性。必须在 DataSource 定义中显式启用它(事务 RSO2 )。相应的属性称为 实时启用(Real-Time enabled) ,可在增量模式的定制设置中使用。
如果满足这三个前提条件,则 ODP 队列守护程序能够在目标 SAP BW/4HANA 系统中触发流程链,以执行 DTP 并立即加载新数据。必须在 SAP 源系统中将此守护程序作为常规作业 ODQ_DAEMON_CLIENT_xxx 计划到 ODP 队列中(事务 ODQMON,转到 / 实时守护程序...)。
智能 PULL 模式
智能 Pull 模式的主要特征是,目标 SAP BW/4HANA 系统会非常频繁地(每 60 秒)检查源中是否生成了新记录。如果检查成功,则立即启动流程链,将新数据传输到目标 InfoProvider。流程链以流式处理模式计划一次,无需定义周期性重复。这是 HANA 源的首选模式,因为只有当源系统中存在新数据时,流程链才会运行。
前提条件:
此模式仅适用于 HANA DataSource 。
这些 DataSource 需要 支持增量(Delta) 。
如果源系统类型为 HANA_LOCAL 或 HANA_MDC ,请检查 SAP 注释 2372534 中的附加要求。
如果源系统类型为 HANA_SDA ,则使用哪种类型的远程连接非常重要:
SAP HANA Smart Data Access (SDA) 驱动程序 通常 不支持 此运行模式。
SAP HANA Smart Data Integration (SDI) 适配器 : 智能 Pull 仅适用于支持 实时变更数据捕获(Real-time Change Data Capture) 的 SDI 适配器,如 SAP HANA SDI 适配器功能概览中所述(来源:SAP Product Availability Matrix,又称 PAM: https://support.sap.com/content/dam/launchpad/en_us/pam/pam-essentials/TIP/PAM_HANA_SDI_2_0.pdf )。自 SAP HANA SDI 2.0 SPS05 起,这些适配器包括:
ASELTLAdapter, ASELTLECCAdapter
DB2ECCAdapter, DB2ECCLogReaderAdapter, DB2LTLAdapter, DB2MainframeLogReaderAdapter
MssqlECCAdapter, MssqlLogReaderAdapter
OracleECCAdapter, OracleLogReaderAdapter
PostgresSQLLogReaderAdapter
HanaAdapter
TeradataAdapter
AbapAdapter
CloudDataIntegrationAdapter
TwitterAdapter
如果满足这些前提条件,流程链就可以启用智能 PULL 模式。简而言之,SDI 适配器会实时将每个更改复制到生成的 BW 表(/BIC/CMT*)中。您可以在 BW DataSource 定义中识别此表,其中有一个名为 SAP HANA 对象的按钮。流式处理流程链每 60 秒就是在此位置检查新数据的。如果源中存在新数据,流程链会立即启动,将其加载到目标 InfoProvider。
注意:对于与源系统 HANA_* 相关的 BW DataSource,流式处理属性始终处于关闭状态(此 DataSource 无法触发流式处理)。此属性仅涉及且仅适用于 PUSH 模式的 ODP 源)。
提示
在前一单元中,在以下演示中创建流式处理流程链和流式传输数据更改,我们已经创建并使用了采用智能 PULL 运行模式的流式处理流程链。抽取基于 SAP HANA SDI HanaAdapter,因而基于源系统类型为 HANA_SDA 的 BW DataSource。在初始加载之后,我们更改了源中的几条记录。最终,这些更改被快速更新到目标 DataStore Object (advanced) 中。
计划的 PULL 模式
计划的 PULL 模式的主要特征是,SAP BW/4HANA 系统会非常频繁地执行流程链,仅仅是为了利用新的任务管理器框架。如果源更新极其频繁(例如每秒一条记录),这可能是最合适的模式。此时,智能 PULL 或 PUSH 模式将无法以相同的速度传输新数据,而简单的计划调度将是把数据加载到 SAP BW/4HANA 的更高效方式。
前提条件:
此模式适用于 ODP DataSource ,前提是这些 DataSource 未启用流式处理 。
此模式也适用于 HANA DataSource ,这些 DataSource 依赖上面运行模式中未列出的 SAP HANA SDA 驱动程序或 SDI 适配器。
另一个前提条件是 DataSource 支持增量(Delta) 。
如果满足这些前提条件,则必须以高频率将处于流式处理模式的流程链计划为周期性作业(如果需要,最高可达每分钟一次)。如果有可用的更新,它们会立即加载到 SAP BW/4HANA。另一方面,如果没有新数据,则会在目标 InfoProvider 中创建一个空请求。
不满足 PUSH 模式或智能 PULL 模式的前提条件,并不意味着您无法以流式处理模式运行流程链。对于具备增量能力的 DataSource,您仍然可以利用排队任务管理器框架以高频率运行它们。在这种情况下,需要将流程链计划为周期性作业以从源中拉取数据,而不是仅在源中有新数据时才触发流程链。
小结
注意
更多详细信息请参阅以下来源:
SAP 注释 2448086:SAP BW/4HANA 流程链和流程变体- SAP 注释 2844555:流程链流式处理更正的注释清单(BW Note Analyzer)- SAP 注释 2447916:如何在 SAP BW/4HANA 中将实时数据采集(RDA)迁移到流式处理流程链- SAP 注释 2372534:使用通用 BW 增量从本地 SAP HANA 模式流式传输数据- SAP 注释 2865995:如何检查某个 ODP DataSource 是否支持实时抽取(PUSH 流式处理)- 博客:SAP BW 流式处理流程链的运行模式:https://community.sap.com/t5/technology-blogs-by-sap/run-modes-of-sap-bw-streaming-process-chains/ba-p/13518437- 博客:流式处理流程链 - 通过 ODP_SAP 的计划的 PULL 和通过 ODP_SLT 的 PUSH:https://community.sap.com/t5/technology-blogs-by-members/streaming-process-chains/ba-p/13349021- 博客:流式处理流程链 - 通过 ODP_CDS 的 PUSH:https://community.sap.com/t5/technology-blogs-by-members/delta-extraction-and-real-time-streaming-odp-cds-to-bw/ba-p/13379241- 博客:流式处理流程链 - 通过 ODP_SLT 的 PUSH(1):https://community.sap.com/t5/technology-blogs-by-members/slt-odp-real-time-data-replication-from-sap-source-to-bw-adso/ba-p/13316143- 博客:流式处理流程链 - 通过 ODP_SLT 的 PUSH(2):https://community.sap.com/t5/technology-blogs-by-members/slt-odp-real-time-data-replication-from-non-sap-mssql-to-bw-adso/ba-p/13336535- SAP BW/4HANA 帮助:用于流式处理的流程链:https://help.sap.com/docs/SAP_BW4HANA/107a6e8a38b74ede94c833ca3b7b6f51/ac029de05e164a12ac1ce08d16180f05.html
本课其余配图












本课其余配图


本课其余配图


本课其余配图

