CLM1001

发布于 2022-09-01 12:38:49 字数 7572 浏览 13 评论 3

请大伙帮忙看一下, 经常报下面这个错误消息,导致用户的一些应用受到影响;

1. 4个JOB AJOBA 会在同一个子系统(SUBA) 下面运行;
2. JOA AJOBA 会调用RPG 程序 RPGA;
3. JOBA 会用到 FILEAAAA FILEBBBB。

从message来看是因为两个job同时访问一个record导致,
Q1: 两个job同时可以访问一个record原因是什么(程序里面已经有互斥机制);
Q2: 怎样避免这种错误的发生。

THANKS.

                         Additional Message Information                        
                                                                                
Message ID . . . . . . :   CLM1001                                             
Date sent  . . . . . . :   11/30/09      Time sent  . . . . . . :   22:03:29   
                                                                                
Message . . . . :   Job AJOBA/USERA/315587 encountered an error in program
   RPGA (E W D).                                                              
                                                                                
File: FILEAAAA.  Exception data: Record 4 in use by job                        
   315143/USERA/AJOBA..  Status: 00000.  Statement: 00000000. RPG routine:  
   *DETC. File status: 01218CHAINFS092    1993.  Run date/time: 080809 152359.  
   Compiled: 042106 at 202238 from C03920ASRC/QRPTSRC(RPGA).                  
Recovery: Type a "W" to retry the operation.  Type an "E" to return an error   
   status to program RPGA.  Type a "D" to dump program RPGA and return to   
   it an error status.                                                         
                                                                                
                                                                                
                                                                         Bottom

                         Additional Message Information                        
                                                                                
Message ID . . . . . . :   CLM1001                                             
Date sent  . . . . . . :   11/30/09      Time sent  . . . . . . :   18:27:29   
                                                                                
Message . . . . :   Job AJOBA/USERA/315143 encountered an error in program
   RPGA (E W D).                                                              
                                                                                
File: FILEBBBB.  Exception data: Record 1305 in use by job                     
   315588/USERA/AJOBA..  Status: 00000.  Statement: 00000000. RPG routine:  
   *DETC. File status: 01218CHAINFS025    1295.  Run date/time: 080809 134558.  
   Compiled: 042106 at 202238 from C03920ASRC/QRPTSRC(RPGA).                  
Recovery: Type a "W" to retry the operation.  Type an "E" to return an error   
   status to program RPGA.  Type a "D" to dump program RPGA and return to   
   it an error status.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

终止放荡 2022-09-02 02:20:53

是买来的软件包?没有源程序?没有技术支持?
这样就比较惨。

可以考虑把子系统的job queue 改成独木桥(每次只可以跑一个作业)试一试。因为这种程序员的思路就是当系统只有他一个人在用。

许多没有经过正规训练的小聪敏程序员写的程序老是有这种问题。有些做了20年的“老前辈”也是这样写的。

淡写薰衣草的香 2022-09-02 00:23:14

thanks, 可能需要看下源代码才能确认, 楼上有啥好办法可以Retrieve RPG source么?
手头只有编译的程序没有源代码。。。。

夏花。依旧 2022-09-01 23:51:58

这是个常见的问题。很多程序员写程序的时候只考虑自己的程序能执行就可以了,忘记了以加锁的方法读纪录,如果更新的条件不满足,是需要解锁的。

这样在多用户环境下这种事情就发生啦!

[ 本帖最后由 franliu 于 2009-12-1 11:40 编辑 ]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文