UpdateEx 方法

用于基于输入键参数(key1、key2、...keyn)。 使用 UpdateEx时,不能删除集合中的项。 单独的方法有助于删除。 有关详细信息,请参阅 DeleteOnly 方法

Syntax

UpdateEx (key1, key2, ... keyn, correctionMode, interactiveMode,  
    properties)  

参数

参数 说明
key 服务器数据库中必须存在一组参数,或发生错误。 这些键对应于为特定组件接口定义的获取密钥集。
correctionMode 布尔标志。 如果设置为 true,则允许通过更新字段值或将新项插入集合来修改具有有效日期项的组件接口。 具体而言,它允许修改在当前生效日期之前具有 EFFDT 的项目。 如果不将此标志设置为 TRUE,则对这些项所做的任何修改都会导致从 PeopleSoft 服务器返回错误。

correctionMode 针对包含有效日期项的组件接口公开该参数。 否则,它不会显示为参数的一部分。

应避免在生产环境中设置为 correctionMode TRUE。 (这也是 PeopleSoft 的建议。不应修改已由过去的 EFFDT 键确定的事件。 这允许创建审核线索。 允许绕过此安全机制的 correctionMode 标志 UpdateEx 。 建议的做法是,通过在项目中设置字段并添加(而不是删除)更新的项来停用过去的事件。
interactiveMode 用于错误处理的标志。

访问组件接口中的属性时,BizTalk Adapter for PeopleSoft Enterprise 使用 PeopleSoft 提供的 API 来读取和写入组件接口中的单个字段;但是,这些更改不会一次传播到 PeopleSoft 服务器。 相反,psjoa.jar(BizTalk Adapter for PeopleSoft Enterprise 与之交互)打包所有更改,并将更改发送到一个包中的服务器。 如果任何单个更新失败,则返回一般错误,该错误不会查明实际错误。 将交互模式设置为 TRUE 后,每个字段更新将分别发送到服务器。 这会对性能产生重大影响,但如果更新失败(例如,如果用于设置字段的值无效),则会提供特定的错误信息。

提供 interactiveMode 最佳性能,并在字段更新级别提供错误报告。 若要正确使用此功能,建议使用设置为 FALSE 的正常调用 interactiveMode 。 不应对性能造成任何影响。 如果返回错误,可以使用标志设置为 TRUE 重试 interactiveMode 相同的调用。 调用失败时,服务器将返回更精确的错误消息。

注解

调用此函数时,与键对应的记录的属性将替换为输入参数属性。 将删除具有原始记录的所有集合,并将其替换为输入参数中的集合。 这些集合的大小不必匹配过程 UpdateEx 是删除所有现有集合项,然后插入给定的集合项。

如果组件接口的属性包含有效日期项,则属性参数必须包含所有未来的有效日期项,因为原始列表将被替换。 这提供了用于添加和删除未来生效日期项的机制;但是,如果属性还包含过去的有效日期项,则返回错误,因为无法修改过去的有效日期项。 如果还包含当前有效日期的项目,则忽略它。 这样,客户端便可以调用Get()getHistoryItems参数设置为 False,并修改任何未来的有效日期项或添加新的有效日期项,并将结构作为函数的参数UpdateEx()传入。

如果组件接口没有键,如只有一个实例可以存在的情况下,该方法 UpdateEx() 将采用以下形式:

UpdateEx(correctionMode, interactiveMode, properties)  

注释

如果启用了 PeopleSoft 和Save组件接口中的函数,则会提供用于 PeopleSoft Get Enterprise UpdateEx() 的 BizTalk 适配器。

另请参阅

附录 A:组件接口方法