我有一个应用程序引擎,它有三个步骤: 1)peoplecode(负载模型用户首选项) 2)做选择& peoplecode(将模型用户首选项复制到用户列表的首选项中) 3)peoplecode(将最终结果附加到日志中)
第二步中的peoplecode动作在循环中为“do select”动作检索的每个用户执行。
如果所有记录和值都正确,则程序正确运行。但我正在尝试在遇到错误时测试这些情况,在这种情况下我遇到了问题:
当我尝试通过在第二步中的peoplecode中使用& CompInt.Save()来插入数据库中已存在的值时,会出现此错误:
添加的数据与现有数据冲突。 (18,2)
保存组件接口时出错。 {Z09_CI_OPR_DEFN}(91,37)
过程18256在步骤Z09_USERPREF.MAIN.Step02(PeopleCode) - RC =? (108524) 消息集编号:108 消息编号:524 消息原因:在步骤Z09_USERPREF.MAIN.Step02(PeopleCode)处理过程18256 - RC =? (108524)
问题是,在此之后,第二步内的人员完成了它的执行,但是对于由'do select'动作检索的以下值,不再执行该peoplecode的迭代。 正确的行为应显示错误,然后继续以下迭代。
有谁知道会发生什么?第二步的On error参数设置为“Ignore”。
答案 0 :(得分:2)
CI错误可能已经破坏了您的SQL游标。而是单独执行选择步骤,最好将数据加载到行集中,并且第二步只有一个peoplecode语句。如果您可以发布代码示例,则可以更轻松地提供更好的建议。