关于预警批处理的执行 [AX 2012]

已更新:May 4, 2012

应用于: Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

预警由 Microsoft Dynamics AX 中的批处理功能来处理。必须首先设置批处理,然后才可以发出预警。

Microsoft Dynamics AX 支持两种类型的事件:

  • 由基于更改的事件而触发的事件。这些事件也称作创建/删除和更新事件。

  • 按到期日期触发的事件。

您可以为各个事件类型设置批处理。

Microsoft Dynamics AX 读取自上次批处理运行以来出现的所有基于变化的事件。基于变化的事件包括更新字段、删除记录和创建记录。这些事件与预警规则中设置的条件进行比较。事件与规则中的条件匹配时,批处理将生成预警。

Aa570106.collapse_all(zh-cn,AX.60).gif为基于变化的事件设置批处理频率

对于基于变化的事件,您可以设置一个批处理作业,在系统记录某事件后立即触发对该事件的处理。如果您设置批处理作业以更高的频率重复,用户将在更改后很快收到其预警。但是,批处理的高频率可能冲销影响系统的性能。

另一方面,在系统负载过低时,重复频率过低、安排的时间较短的批处理作业可能有助于提高系统性能。但是,批处理的频率过低可能不能及时满足用户对预警的需求。

因此,在为基于变化的事件设置批处理频率时,既要考虑预警的及时性,又要考虑整个系统的性能。

当创建预警规则的用户增多时,这些注意事项的相关性就会升高。频率不影响必须处理的事件的数量。但是,如果创建规则的用户越多,必须执行的支票就越多。这种数据交换可能会影响系统性能。

注意注意

用户收到其预警前要等待的时间还受新预警的 Microsoft Dynamics AX 轮询处时间间隔的控制。此时间间隔的单位必须为分钟。最小值为 1 分钟,最大值为 1440 分钟或 1 天。

Aa570106.collapse_all(zh-cn,AX.60).gif设置 Microsoft Dynamics AX 轮询新预警的时间间隔

  1. 在“文件”菜单上,依次单击“工具” >“选项”打开 选项 窗体。

  2. 通知 选项卡上的 接收通知间隔(分钟) 字段中,输入时间间隔。

Aa570106.collapse_all(zh-cn,AX.60).gif检查低批处理频率的风险

如果将基于变化的批处理频率设置得过低,则可能会错过这些预警,因为在批处理执行前与预警规则中的条件相关的数据就已变化。

例如,当事件为“客户联系信息更改”且条件为“客户 = BB”时,设置预警规则以触发预警。因此,当客户联系为客户 BB 更改时,事件就被记录下来。但是,对批处理系统进行设置,以便批处理出现的频率小于数据输入出现的频率。如果事件处理之前客户名称从 BB 更改为 AA,那么数据库中的数据不再符合规则(客户= BB)中的条件。因此,最后在事件处理时,不会生成任何预警。

Microsoft Dynamics AX 会检测到所有由到期日期导致的事件,并将这些事件与预警规则中设置的条件进行比较。批处理在事件与规则中的条件匹配时生成预警。

Aa570106.collapse_all(zh-cn,AX.60).gif设置到期日期事件的批处理频率

对于到期日期事件,您最好将批处理作业设置为在一天中的晚上或其他具体时间运行,以便平衡系统负荷。我们建议您将批处理作业的频率设置为每天至少一次。如果希望尽可能早地发送预警,则对批处理进行设置以在系统日期变化后立即出现。如果希望为在批处理作业已处理预警后发生的到期日期事件生成预警,则可以在同一天再次运行该批处理作业。

例如,批处理作业已按特殊日旁运行。然后,您可以创建具有到期日期的采购订单,该日期应在同一天触发预警。要在该天接收预警,必须在创建采购订单后再次运行批处理作业。不过,如果当天未再次运行该批处理作业,则第二天的批处理作业就会删除前几天未处理的任何到期日期事件。

注意注意

即使在批处理运行的频率超过一天一次时,也不会为同一到期日期事件和条件重复预警。仅当日期因系统在上次批处理作业运行后发生了更改而到期时,才会为之生成预警。

Aa570106.collapse_all(zh-cn,AX.60).gif设置灵活的到期日期

公司中预警规则的处理停止原因可有很多种。这些原因包括假期、系统错误,或者导致批处理作业作业一段时间未运行的其他问题。

为了防止到期日期预警因为批处理作业数天未运行而过时,您可以设置批处理窗口。批处理窗口的使批处理作业的运行时间不会为指定的运行天数。

当设置批处理窗口时,预警在预警规则处理时发送,即使预警超过了到期日期条件中定义的时间限制。只要由此时间限制和批处理窗口定义的期间未超过,预警就会继续被发送。

但是,当由时间限制和批处理窗口定义的期间超过时,不再发送预警。

Aa570106.collapse_all(zh-cn,AX.60).gif示例

创建一个预警规则,以便在员工生日后二天收到预警。

批处理窗口设置为 10 天。

批处理作业在第 1 天运行。

收到有关在 2 天前过生日的每位员工的预警

批处理作业不在第 1 天运行,而是只在第 2 天运行。

收到有关在 2 天或 3 天前过生日的每位员工的预警

批处理作业不在第 1 天或第 2 天运行,而是只在第 3 天运行。

收到有关在 2、3 或 4 天前过生日的每位员工的预警。

批处理作业不在 1 到 9 天运行,而是在第 10 天运行。换言之,批处理作业在 10 天窗口中运行。

收到有关在 2、3、4、5、6、7、8、9、10 或 11 天前过生日的每位员工的预警。

注意注意
所有预警都会生成。

批处理不在第 1 到 10 天运行,只在第 11 天运行。

收到有关在 2、3、4、5、6、7、8、9、10、11 或 12 天前过生日的每位员工的预警。

注意注意
现在,不会收到有关在 13 天前过生日的任何员工的预警。

批处理不在第 1 到 11 天运行,只在第 12 天运行。

收到有关在 2、3、4、5、6、7、8、9、10、11、12 或 13 天前过生日的每位员工的预警。

注意注意
现在,不会收到有关在 14 天前过生日的任何员工的预警。

如您从此示例中看到的,如果将批处理窗口的批次设置为 10,则批处理作业不运行的最长期间为 10 天。要确保生成预警,批必须在最近的 10 天运行。

如果批处理时段设置为 0,则仅当批处理在生日后两天运行时才能收到预警。在这种情况下,要确保预警不丢失,必须每天运行批次。

在激活处理公司中基于变化的事件的批处理作业时,我们建议您检查事件队列,确定是否队列中的所有事件是否都应作为预警发出。如果旧的、未经处理的和已过时的事件未从队列中删除,那么批处理作业将生成预警并可能向用户发送很多无用的消息或“spam.”。

旧的、尚未处理和过时事件出于若干原因可能积累在事件队列中。例如,用户在批处理启动之前很久就已设置了预警规则,这样生成的事件可能创建了许多过时的预警。或者,用户批处理作业激活前很久就有权创建规则,这样由用户规则触发的事件将被系统记录,即使未激活批次。

如果您确定事件队列中事件为过时事件且不应作为预警发出,那么您可以删除该事件队列。

  1. 按 CTRL+D 可以打开应用程序对象树 (AOT)。依次选择“数据字典” >“表”。

  2. 选择 EventCUD 表,找到要删除的事件,然后根据需要删除事件。


公告: 若要查看已知问题和最近的补丁,请使用 Microsoft Dynamics Lifecycle Services (LCS) 中的 问题搜索

社区附加资源

添加
显示: