更正在提交周期中调用 SQLRPG 时的提交选项



我们的系统上运行了一些作业,这些作业使用 STRCMTCTL 和 ENDCMTCTL 在落实控制周期中更新文件 FILE1。我在使用 UPDATE SQL 语句更新 FILE1 的作业期间调用一个新的 SQLRPGLE 程序 PGM1。该程序是使用 COMMIT(*NONE( 编译的,因为我希望无论提交控制如何,更新都能通过。现在,当使用此更改调用作业时,我可以看到错误"不允许 ENDCMTCTL。待处理的更改处于活动状态",我在 FILE1 上看不到我在 PGM1 上所做的更新。 将编译选项更改为 COMMIT(*CHG( 会解决此问题吗?此选项是否会在作业的原始承诺周期中执行更新?

NO.

将编译选项更改为COMMIT(*CHG)只会使程序使用落实控制运行。看起来您已经在使用承诺控制,并在此下对文件进行了一些更改。因此,您需要在调用 ENDCMTCTL 之前提交更改。您可以使用紧接在 ENDCMTCTL 之前的 CL 中的 COMMIT 命令来执行此操作。如果不这样做,作业结束时将自动发生回滚,并且您将丢失所有更改。

相关内容

  • 没有找到相关文章

最新更新