用于流程链的BW计划程序

2020-08-25 08:44发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大师,

目前,我使用4条元链来运行相同事务数据处理链的4倍。

这4条元链使用4种不同的开始流程,分别安排在5:00 AM、12:00AM、7:00PM和11:00 PM。

在不久的将来,我只希望在所有这些开始时间都保持一个流程链。

1- SAP BW是否存在免费的调度程序?

2-是否每个人都使用基于特定abap程序的方法,该方法由于特定表触发事件而控制开始时间? (即特定的调度程序)

3-有没有人使用其他和好的方法?

我不希望基于创建与相同数量的"启动进程"相同数量的作业[SM37]的解决方案。

提前感谢您的反馈。

塞缪尔

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大师,

目前,我使用4条元链来运行相同事务数据处理链的4倍。

这4条元链使用4种不同的开始流程,分别安排在5:00 AM、12:00AM、7:00PM和11:00 PM。

在不久的将来,我只希望在所有这些开始时间都保持一个流程链。

1- SAP BW是否存在免费的调度程序?

2-是否每个人都使用基于特定abap程序的方法,该方法由于特定表触发事件而控制开始时间? (即特定的调度程序)

3-有没有人使用其他和好的方法?

我不希望基于创建与相同数量的"启动进程"相同数量的作业[SM37]的解决方案。

提前感谢您的反馈。

塞缪尔

付费偷看设置
发送
5条回答
shere_lin
1楼 · 2020-08-25 09:20.采纳回答

塞缪尔,

以下是一些选项。

选项1:安排您的流程链等待事件。 创建一个程序来检查sy-uzeit的时间限制并引发事件。 安排此程序每小时运行一次。 您可以通过创建另一个过程链或SM37来实现。 这是可选的,请使用控制表Z或TVARVC更新最近运行的小时数。 例如,如果以5运行,则输入12更新。当程序以12运行时,它将更新7,依此类推。 这样一来,它就不会在同一小时内运行两次。

选项2:使用"多个替代方案之间的决定"并创建一个公式,该公式将检查时间作为开始过程之后的第一步。 是的,将运行该链的其余部分,否则将无所作为。 安排链条每小时运行一次。

此致

Dae Jin

代楠1984
2楼-- · 2020-08-25 09:06

在"公式生成器"中缺少SYST-UZEIT吗?

为了支持和补充上述Dae Jin的选项,在流程链决策流程的BW公式中使用时间字段效果很好。

在早期版本的BW v7.x中,可以访问" Application Server的日期字段(SYST-DATUM),但相应的时间字段(SYST-UZEIT)不可用。

将应用程序服务器配置为以UTC + 0运行时,这不是问题。

在澳大利亚,大多数应用程序服务器配置为UTC + 10附近。 现在,UTC + 0与UTC + 10是成功与失败之间的差异(凌晨1点与上午11点),这显然是在夜间负载窗口之内还是不在。

是的,一个真实的过程链设计源是值得追求的真正目标。 但是,持续的维护一次又一次地证明了事实,支持人员一贯假定使用写入公式的常量中的应用程序服务器时间对齐方式(例如"> = 1 am和<8 am")。

本着这种精神,我们增加了一点

方法IF_EX_RSAR_CONNECTOR〜GET。
 * -------------------------------------------------  ------------------- *
 *说明:启用对"当前时间(SYST-UZEIT)"的访问*
 * SAP BW Formula Builder引擎中的*字段。  *
 * *
 *有或没有*以源代码和二进制形式重新分发和使用
 *允许修改。 免费个人使用和*
 *商业用途,因为使用它的责任在您身上。  *
 * -------------------------------------------------  ------------------- *
 *这是经典BAdI实施(Transaction SE19)的一部分。
 
 常数:
   c_cat_tech类型sfbefsym值'C_SYST',
   c_cat_desc类型c长度65值'系统字段(自定义)',
   c_fld_tech类型sfbefsym值'SYST-UZEIT',
   c_fld_desc类型c长度65值'当前时间',
   c_fld_icon类型的icon_text值'@ KRField @',
   c_fld_type类型sfbetype值'SYST-UZEIT'。
 数据:wa_fld类型sfbeoprnd。
 
 *我们是否正在建立类别列表?
 如果i_key =空间。
 
 *该类别已经在类别列表中了吗?
   读取表c_operands,不传输任何字段
        密钥为tech_name = c_cat_tech。
   如果sy-subrc <> 0。
 *否...将类别添加到类别列表。
     清除:wa_fld。
     wa_fld-tech_name = c_cat_tech。
     wa_fld-descriptn = c_cat_desc。
     将wa_fld附加到c_operands。
   万一。
 
 *我们是否正在建立类别中的字段列表?
   elseif i_key = c_cat_tech。
 
 *该字段已经在类别中吗?
     读取表c_operands,不传输任何字段
          密钥为tech_name = c_fld_tech。
     如果sy-subrc <> 0。
 
 *否...将字段添加到类别。
       清除:wa_fld。
       wa_fld-tech_name = c_fld_tech。
       wa_fld-descriptn = c_fld_desc。
       wa_fld-icon = c_fld_icon。
       wa_fld-type = c_fld_type。
       将wa_fld附加到c_operands。
     万一。
   万一。
 终止方法。

来源: https://www.learnbw.com/库/代码/snippets/syst-uzeit-in-formula-builder/

自从实施上述解决方案以来,业务和报告用户社区不再抱怨隔夜计划 由于计划时间的延迟,作业延迟执行或导致事务数据加载中的增量数据完整性问题。

还有其他问题,但是根本原因不再与UTC + 0与UTC + 10对齐有关。

尽管上述解决方案降低了维护风险,但主要的好处是支持人员现在可以专注于解决更关键的业务数据问题。

希望这会有所帮助。
John。

大道至简
3楼-- · 2020-08-25 09:10

您好,Samuel,

您可以使用事件基础计划。

可以根据计划每30分钟运行一次的ABAP程序来触发此事件。

因此,在系统时间与表匹配时,事件将被触发。

-Mayuri

绿领巾童鞋
4楼-- · 2020-08-25 09:23

以下文档描述了"使用事件在特定日期触发PC"。 U可以修改该代码以在特定时间运行。

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0a41bc6-a7f6-2b10-b3bf-804e1c45ae6c?overridelayout=true

粗暴的香蕉
5楼-- · 2020-08-25 09:04

Dae Jin Swope,Mayuri Sinha,V先生

非常感谢您的帮助。

塞缪尔

一周热门 更多>