Peoplesoft:在AE程序中通过CI保存记录时传递的事务句柄实例无效

时间:2017-08-28 06:26:58

标签: peoplesoft peoplecode

我们

  • 使用Application Engine(AE)程序
  • 保存/插入记录GP_ABS_EVENT
  • 通过提供的组件接口(CI)GP_ABSENCE_EVENT

AE程序随机失败。但是,如果我们使用相同的数据再次重新运行AE程序,它将会成功。

调试后,我们发现以下错误消息

Fatal SQL error occurred. (2,125) FUNCLIB_GP_ABS.TRANSACTION_NBR.FieldFormula Name:GetNextTransNbr PCPC:143 Statement:2
Called from:GP_ABS_EVENT.EMPLID.SavePreChange Statement:8
Error saving Component Interface. {GP_ABSENCE_EVENT} (91,37)
Internal Error: invalid transaction handle instance passed from SamDestroy 3: 54818 vs 0

正在调用peoplecode函数GetNextNumberWithGapsCommit

我们尝试了Oracle建议的操作(在Application Server配置中将the DbFlags value修改为DbFlags = 8),但仍无法解决问题。我们还尝试设置DbFlags = 0甚至DbFlags = 1,但没有运气。

我不知道这个错误是什么。

之前有没有人遇到过这个问题?

请告知此错误是什么以及如何跟踪/解决此问题。非常感谢!

#UPDATE1

在prod env中,我们有2个App服务器和2个连接到单个MSSQL DB的进程服务器。

到目前为止,我已经在prod env

中尝试了以下内容
  • 在所有应用/进程服务器中尝试设置DbFlags = 0 | 1 | 8但发生了同样的错误。
  • 在AE
  • 中取消选中/选中DISABLE RESTART

由于此问题在prod中随机发生,我无法在UAT环境中模拟同样的问题,我在PROD env中添加了settracesql(3),以查看再次发生此错误时是否可以找到更多详细日志。

0 个答案:

没有答案