示例:基于函数和基于表的 BOD 生成过程
该主题说明了设置 BOD 生成触发器的方法。该任务是下面这些更复杂的操作步骤的一部分:
- “将数据作为 BOD 复制到支持 Infor BOD 的其他应用程序中” -“复制类别”步骤
- “创建及维护 BOD” -“复制文档出站对照参考”步骤
可以通过两种方式触发利用复制类别和复制文档出站对照参考来生成 BOD:
- 表格:最简单的方法是在“复制文档出站对照参考”表单中指定用于 BOD 的表或视图,然后将表格名称添加到复制类别中。对该表格中的记录进行任何更改都会触发 BOD 生成。
如果不希望在该表格中的任何内容发生变化时都生成 BOD,您可以使用“复制类别”表单上的字段来限制 BOD 生成:
- 使用“筛选器”属性定义一个筛选器,以决定对表单进行的更改是否必须触发 BOD 生成。只包括与筛选器匹配的记录。
- 使用以下复选框以基于表格更改类型来限制的 BOD 生成:“跳过插入”、“跳过更新”和“跳过删除”。
- 函数:这种技术应在简单的基于表格更新的触发器不足以满足需要时使用。例如,假设您想在创建新的订单时触发一个 BOD。订单是层级结构数据,可以有任意数量的行和下达,因此无法标识会触发 BOD 生成操作的单个表格,也没有办法知道何时插入了最后一个行或下达。您也可能需要在发生某个与表格更新完全无关的应用程序事件时触发
BOD 生成操作。该解决方案会通过编程方式使用“函数”触发器触发 BOD 更新。
在“复制类别”表单和“复制文档出站对照参考”表单中,您可以指定“函数”名称。该名称不需要对应于实际的存储过程,而且很可能事实上也是如此。实际上只会将一个参数传递到一个复制存储过程中,该参数会最终触发 BOD 生成。(有关此操作工作方式的详细信息,请参见“后台任务:系统如何生成 BOD”。)
您也可以从触发器、其他 SP 或 IDO 扩展分类中(如果需要,还可以从其他上下文中)调用这个存储过程。
如果计划为不同的目标站点生成不同的 XML 文档,您可以在复制文档对照参考记录中包含相应目标站点的“内联网名称”。
函数触发器设置示例
您希望每当某个系统操作调用“函数”TriggerSalesOrderSyncSp 时都生成一个 BOD。
在“复制文档出站对照参考”表单中,指定以下触发器信息:
- “应用于 IDO”:“SP!”
- “应用于 IDO 操作”:“调用”
- “应用于方法”:“TriggerSalesOrderSyncSp”
在“复制类别”表单中,指定以下触发器信息:
- “表或函数”:“TriggerSalesOrderSyncSp”
- “对象类型”:“SP”
- “筛选器”:将该字段留空。
按照上面列出的过程主题中指定的方式,定义其余的 BOD 和复制设置。
表触发器设置示例
您希望根据您在“复制类别”表单中指定的筛选器和复选框,在 employee_mst 表上的员工视图发生变化时触发 BOD。
在“复制文档出站对照参考”表单中,指定以下触发器信息:
- “应用于 IDO”:“TABLE!employee”
- “应用于 IDO 操作”:“UpdateCollection”
- “应用于方法”:不适用
在“复制类别”表单中,指定以下触发器信息:
- “表或函数”:“员工”
- “对象类型”:“表”
- “筛选器”:指定任何适用的筛选器。
根据需要设置其余的列。
按照上面列出的过程主题中指定的方式,定义其余的 BOD 和复制设置。如果使用 UpdateCollection(列名称)中的非主键字段作为属性,则必须在“复制规则”表单中设置“更新所有列”复选框。为表单添加复制规则时,必须重新生成复制触发器。