设计事件检测机制

您可以使用许多不同的机制来在 SAP 应用程序中检测事件。事件检测机制应该能够调用功能模块。连接器已经实现的四种事件检测机制为:

因为某些机制可能不可用于特定业务流程,所以您确定要为开发的每个业务对象实现的适当事件检测机制很重要。对于您想要实现事件检测的每个事务,您必须对特定业务流程的技术和功能方面有所了解。

当确定要为业务流程实现哪种事件检测机制时,查看以下实现注意事项。

可用性
哪些事件检测机制可用于此业务流程?这应该是您要考虑的一个首要问题。代码增强和批处理程序具有高可用性,而业务工作流和更改指针不具有高可用性。

实时集成
需要同步检测事件吗?您需要同时检测大量事件吗?除了批处理程序之外的所有机制都适合于实时集成。

可靠性
当生成事件时,是否检测到此业务流程的所有数据更改?“代码增强”、“批处理程序”和“更改指针”对捕获对象的所有事件提供了最佳控制。业务工作流提供有限的可靠性。例如,在供应商事务更新期间,业务工作流不会检测地址更改。

灵活性
在触发事件之前,需要评估某个条件吗?需要在事务的某一时刻检测事件吗?因为您可以在提交事件数据之前在特定位置插入代码,所以代码增强最灵活。“更改指针”和“批处理程序”具有适度的灵活性,而“业务工作流”在其实现中具有非常小的灵活性。

升级相关性
升级 SAP 应用程序会更改此业务流程检测事件的方式吗?通常,这是未知的,但是业务工作流和更改指针受应用程序更改的影响最大,因为它们在 SAP 的控制之下。

困难
问题是时间还是难度?每种机制都有各自不同的实现难度。通常,批处理程序最容易实现。代码增强和业务工作流要适当难一些,而更改指针是最难的,这是因为它要求更加精通 SAP 的知识和评估的业务流程。

将来的事件
您需要能够实时捕获事件然后将它的检索延迟到指定的日期吗?例如,今天利用从今天起三周有效的地址更改来更新某一职员记录。在此例中,您可能想捕获更新时的事件,但是将它的检索延迟到生效日。

此时,您应该对需要考虑的事件检测机制有所了解。在确定哪种机制可以用于您需要支持的每个业务流程时,使用表 49 作为一般准则。

表 49. 事件检测机制判定表

代码增强 批处理程序 业务工作流 更改指针
可用性
实时集成
可靠性
灵活性
升级相关性
困难
将来的事件

要注意的最后一个注意事项是站点的开发方法。也许仅使用业务工作流的事件检测是首选方法,而代码增强根本不能使用。

建议将代码增强用于事件检测,因为它可靠、灵活性大、同步且具有高可用性。与之比较而言,业务工作流和更改指针机制通常并非可用于所有业务流程。当不希望进行实时集成时,通常使用批处理程序。

对于在业务流程中检测事件,每种事件检测机制都具有优点和缺点。以下各节给出了关于每种事件检测机制的更多详细信息,包括每种机制的主要优点和缺点。

所有事件检测机制都支持事件的实时触发和检索。但是,只有代码增强和批处理程序才提供了延迟检索的附加功能。被指定为在稍后日期进行检索的事件称为将来的事件。

代码增强

代码增强是在 SAP 事务的代码中的特定位置实现的。通过利用用户出口,您可以将事件检测代码插入事务中最合理的位置。事件检测代码允许对条件进行评估来确定是否生成事件。

此机制的一般策略是在事务的数据即将提交至数据库时插入事件检测代码。

优点

缺点

批处理程序

当需要触发大量相同类型的事件(例如,客户订单)或业务流程需要大量处理时间时,批处理程序很有用。此机制不要求对 SAP 交付的代码进行任何修改;但是,您需要使用(编写)评估检测事件的条件的 ABAP 程序。

优点

缺点

业务工作流

业务工作流是 SAP 应用程序中跨应用程序的工具,它使您能够将应用程序之间的业务任务整合在一起。此工具补充 SAP 应用程序的现有业务功能。可以使用业务工作流来调整 SAP 的标准功能,以满足所需业务功能的特定要求。业务工作流使用“业务对象资源库”(BOR),该资源库存储应用程序中每个 SAP 对象的定义。

优点

缺点

更改指针

更改指针是使用更改文档来检测事件的业务工作流的相关功能。为某些业务流程创建了更改文档,以便捕获对该业务流程的所有更改。

优点

缺点

Copyright IBM Corp. 1997, 2004