应用程序消息和详细消息

本文档解释了什么是应用程序消息,以及如何使用它们来促进和自动化 M3 Business Engine (BE) 的日常工作。

此外还描述了如何利用连接到应用程序消息的详细消息来获取有关触发应用程序消息的错误的深入知识。注意,尽管 M3 BE 的所有部分都使用应用程序消息,但仅在一些 M3 BE 应用程序中使用详细消息。

准备工作

有关如何设置应用程序消息功能的信息,请参阅设置 M3 Application Message System

注意

在 M3 BE 中预定义了详细消息。

目的

应用程序消息

应用程序消息用于通知负责人发生了需要注意的事件。应用程序消息可以是信息性的,或者可以指示来自正常工作流的错误或中断。不管应用程序消息的性质如何,责任人必须经常执行响应消息的任务。

可以按照下列示例所示使用应用程序消息:

  • 授权人收到发票自动匹配未获批准的通知,因为发票之间的价格差异在允差范围之外。
  • 负责工单的人员收到订单上的工作已开始的通知。
  • 负责采购订单的人员收到货物交付延迟的通知。

在整个 M3 BE 中使用应用程序消息。

还可以设置应用程序消息以触发要在 ION 中创建的警报、任务、通知或工作流。

详细消息

创建应用程序消息的事件通常会导致需要执行操作的错误或信息。例如,在将要下达计划制造订单时,错误可能会阻止该订单的下达。

在这种情况下,应用程序消息可能是模糊的,例如“未下达计划订单”。但是,详细消息可以详细描述订单下达失败时发生的每个错误或事件。很容易概览这些详细消息,因为它们分组在一起并且连接到应用程序消息。

时间和方式

应用程序消息

应用程序消息自动生成,并且每次发生事件时,都会在应用程序消息。打开 (CRS420) 中向负责人显示。

负责采取行动的人根据消息的类型。通常,它是设置为在 M3 BE 中消息指向的记录、活动或工作流的责任人、计划员、审批人或授权人的人。

应用程序消息也可以作为电子邮件发送。然后,当事件发生时责任人会自动收到通知,并且不必打开 (CRS420) 以检查是否生成了任何新消息。如果在电子邮件地址。打开 (CRS111) 中指定了该人的电子邮件地址,并在应用程序消息电子邮件参数。打开 (CRS427) 中为该用户激活了电子邮件设置,则会通过电子邮件发送该消息。

详细消息

在某些情况下,详细消息与应用程序消息一起生成。详细消息显示在详细的邮件消息。打开 (CMS421) 中。可以通过下列方式访问此程序:

  • 从菜单。
  • 通过选择 (CRS420) 中的选项从应用程序消息。
  • 从与创建详细消息相关的不同程序。例如,当在 M3 Manufacturing 中执行操作日志时,如果执行失败,则可能会生成详细消息。然后可以从打开操作日志 (CMS050) 中的操作日志以及从打开操作 (CMS051) 中的单个操作访问详细消息。

打开 (CMS421) 时,列表顶部显示的详细消息是连接到应用程序消息的第一个消息(从菜单访问程序时除外)。对应用程序消息的引用是字段“数据 ID”。连接到同一应用程序消息的所有详细消息具有相同的数据 ID。请注意,虽然应用程序消息只显示给负责该消息的人,但所有详细消息都显示给所有用户。

为了避免垃圾邮件,详细消息不会作为电子邮件发送。

另请注意,当重新运行作业时,将自动删除在首次执行作业时生成的所有详细消息。一个实际的例子是当 M3 Manufacturing 中的操作日志的执行失败时。当再次执行操作日志时,先前生成的所有详细消息都将删除,而不管它们是否设置为已更正。

应用程序消息连接到 ION 中的工作流

可以设置应用程序消息以触发发布能在 ION 中启动工作流的 ProcessWorkflow BOD。BOD 包含与应用程序消息相关的数据,例如应用程序消息 ID 和消息文本,以及与 M3 BE 中触发消息的记录相关的数据,例如表和关键字段值。

如果已成功启动工作流,ION 将使用 Acknowledge BOD 响应 M3 BE,包括工作流 ID 和已启动工作流的状态。此信息以及相关 M3 记录的消息 ID 和关键字值将通过 API CRS420MI 在 M3 BE 表(CWKFLK 工作流信息)中更新。

应用程序消息的工作流 ID 显示在“外部参考”(EXRE) 字段中,适用的应用程序消息的工作流状态显示在 (CRS420/E) 上的“外部状态”(EXRS) 字段。如果字段包含值,则字段将变为可见。

M3 BE 中相关记录的工作流 ID 也可以显示在具有可配置列表视图的程序中,通过将虚拟字段“&EXRE”添加到视图以在程序列表与打印机程序。配置 (CMS005) 中列出。在 (CMS005) 中运行相关选项“更新标准”,以便将此字段添加到程序字段组(如果该字段尚未存在)。即使可能为同一对象触发了多个工作流,在一个记录的列表中也只能显示一个工作流 ID。在这种情况下,将显示最新工作流的工作流 ID。

如需配置将要作为工作流 BOD 发送到 ION 的应用程序消息,请打开 (CRS424) 并为适用的消息类型选择参数“活动代码”、“已启用 BOD”和“BOD 消息类型” 4-“工作流”。还必须使用与 ION 中存在的活动工作流名称完全匹配(大写和小写)的名称指定工作流名称。

注意

在 M3 BE 中没有验证 ION 中存在指定的工作流名称。

对于应用程序消息类型 012 – “基于事件的消息”,只能选择“活动代码”和“已启用 BOD”参数。所有其他设置均在程序基于事件的警报。打开 (CMS047) 中进行。

用于管理工作流信息的 API 交易

此表显示 CRS420MI 中适用于管理工作流表中记录的交易:

交易 描述
AddExtRefInfo 将工作流信息添加到应用程序消息。
GetExtRefInfo 检索应用程序消息的工作流信息。
DltByExtRef 通过外部参考(工作流)删除应用程序消息。
DltExtRefInfo 删除特定应用程序消息的工作流信息。
DltExtRefMulti 批量删除应用程序消息的工作流信息。
LstExtRefInfo 列出应用程序消息的工作流信息。
UpdByExtRef 通过外部参考(工作流)更新应用程序消息。
UpdExtRefInfo 更新应用程序消息的工作流状态。

在所有 API 交易中,如果留空,则“原因代码” (RECD) 将默认为 1-“工作流”。在“AddExtRefInfo”交易中,必须指定“Mail” (MLID) 或“Table” (FILE) 和“Key string” (KEYS)。如果仅指定了 MLID,则将自动从 CMAILP 表中的记录检索 FILE 和 KEYS。

交易 DltByExtRef 和 UpdByExtRef 通过外部参考 (EXRE) 和原因代码 (RECD) 删除或更新工作流信息。

注意

这不是表 CWKFLK 中的唯一键,但可能适用于集合,其中 EXRE 和 RECD 一起对此表中创建的每个条目都是唯一的。

我们建议定期从已完成的工作流中清除 CWKFLK 表,因为记录数量会随着时间的推移而增长。API 交易“DltExtRefMulti”是基于此目的而创建的。在此交易中,“更改日期” (LMDT) 是强制性的,将删除此日期及之前的记录。如果未指定“Table” (FILE),则将删除所有表的记录。如果“Status” (EXRS) 留空,则将删除状态为“已完成”和“已取消”的所有记录。已删除交易的数量显示为交易的输出。

临时授权

应用程序消息

如果责任人离开工作,例如由于疾病或休假,另一个人可以获得处理或查看生成的应用程序消息的访问权。这是有用的,因为许多应用程序消息需要立即注意。

当给予他人授权时,可以设置有效日期范围和授权级别。可用级别如下:

  • 处理责任人的应用程序消息。对于此级别,指定用户可以执行和不能执行的操作,例如更改应用程序消息的状态或给予另一个用户临时授权。
  • 接收并审查责任人的应用程序消息。
  • 接收并审查责任人的应用程序消息的副本。

可以限制用户的这些级别仅适用于特定应用程序消息类型。

应用程序消息维护。权限 (CRS422) 中设置临时授权。通过在 (CRS420) 中选择功能键可访问此程序。

详细消息

无法授予对详细消息的临时授权,因为这些消息未连接到特定人员。

如何处理消息

消息通常指示必须纠正的错误或应当执行的任务。通常可以通过在 (CRS420) 或 (CMS421) 中为消息选择“打开”(11) 选项来访问执行操作的程序。

工作流可以通过直接访问程序来自动化。不必花时间查找要启动哪个程序。

应用程序消息

阅读应用程序消息后,可以执行下列活动,例如:

  • 计划何时执行任务。如果不想立即采取任何操作,可以在 (CRS420/E) 中的“操作日期”字段中设置应处理消息的结束日期。这用于跟踪应用程序消息。稍后在搜索期间,可以按操作日期对应用程序消息进行排序。
  • 执行任务。如果没有与应用程序消息相关联的详细消息功能,则通常可以通过在 (CRS420) 中为消息选择“打开”(11) 选项来访问执行任务的程序。执行任务后,可以通过在 (CRS420/E) 中的“完成日期”中输入日期,将应用程序消息设置为已完成。
  • 如果有详细消息连接到应用程序消息,可以打开这些消息以进一步调查触发应用程序消息的内容,然后逐一更正详细消息。当所有消息都已更正时,将应用程序消息设置为已完成,如上所述。“详细消息”部分描述如何处理详细消息。
  • 如果不需要进一步操作,请归档应用程序消息。可能的情况是应用程序消息的状态为 50–“完成”,或者它只是一个副本,则状态为 80–“复制”。通过在 (CRS420) 中选择“文件”-(24) 选项来归档消息。

应用程序消息的状态

可以使用状态代码来管理应用程序消息。还可以仅搜索并显示感兴趣的应用程序消息。

以下状态代码可用:

  • 10–“新建”。应用程序消息已生成,但未打开。
  • 20–“已打开”。应用程序消息在 (CRS420) 中打开。
  • 30–“已转发”。应用程序消息已转发给具有临时授权的人员。
  • 40–“已回复”。
  • 50–“已完成”操作。应用程序消息具有已完成的操作。任务完成并指定完成日期。
  • 80–“保存的消息副本”已发送。应用程序消息已发送给具有临时授权的人员。状态为 80 的消息是原始消息。
  • 90–“已归档”。应用程序消息已归档。

详细消息

阅读详细消息后,可以执行更正消息所需的任务。通过在 (CMS421) 中为消息选择选项-“11”,可以访问执行任务的程序。

完成后,将详细消息的状态设置为 90(已冻结/已到期),以指示已完成。如果所有详细消息都已更正,可以将应用程序消息设置为完成,如上所述。

详细消息的状态

可以使用状态代码来管理详细消息。

  • 20–“明确”。详细消息未更正。
  • 90–“已冻结/已过期”。详细消息已更正并完成。