2

我有一个应用程序引擎,它包含三个步骤:1)人员代码(加载模型用户首选项)2)选择和人员代码(将模型用户首选项复制到用户列表的首选项中)3)人员代码(将最终结果附加到日志中)

第二步中的 peoplecode 操作在循环中为“do select”操作检索到的每个用户执行。

如果所有记录和值都正确,则程序正确运行。但是我正在尝试在遇到错误时测试案例,在这种情况下我遇到了问题:

当我尝试通过在第二步中的人员代码中使用 &CompInt.Save() 来插入数据库中已经存在的值时,会出现此错误:

添加的数据与现有数据冲突。(18,2)

保存组件接口时出错。{Z09_CI_OPR_DEFN} (91,37)

过程 18256 在步骤 Z09_USERPREF.MAIN.Step02 (PeopleCode) 处异常 - RC = ? (108,524) 消息集编号:108 消息编号:524 消息原因:在步骤 Z09_USERPREF.MAIN.Step02 (PeopleCode) 处处理 18256 ABENDED - RC = ? (108,524)

问题是,在那之后,第二步中的人员代码完成了它的执行,但是对于“do select”操作检索到的以下值,不再执行该人员代码的迭代。正确的行为应该显示错误,然后继续以下迭代。

有谁知道会发生什么?第二步的 On error 参数设置为“Ignore”。

4

1 回答 1

2

CI 错误很可能已经破坏了您的 SQL 游标。而是一个单独的选择步骤,将数据加载到行集中并为第二步只使用一个人员代码语句会更好。如果您可以发布代码示例,则提供更好的建议会更容易。

于 2011-11-30T09:15:00.610 回答