RPGLE:读取失败会解锁先前锁定的记录吗?

这是我的问题: 我有一个循环 在此循环中,我可以根据条件更新记录或不更新记录。

在这种情况下: 我已将序列的最后一条记录涂成红色,已被锁定 它不满足条件,因此不会更新,因此不会解锁 该程序尝试读取下一条记录,但未成功,但是...

我的问题是: 它会为其他记录释放锁吗?

sunyuantao123 回答:RPGLE:读取失败会解锁先前锁定的记录吗?

实际上是的,在读取失败后,记录被解锁... 我几乎没有时间为此创建肮脏的测试:程序

Fp1facll1  UF   E           k DISK                                       
D*                                                                       
Dexcmd            s            250    inz('DLYJOB DLY(10)')              
Dexlg             s             15P 5 inz(250)                           
C*                                                                       
C                   move      'F012'        adqtc4                       
C     adqtc4        setll     p1facll1                                   
C     adqtc4        reade     p1facll1                               58  
C     *in58         downe     '1'                                        
C* Update never occurs                                                   
C                   if        '0'                                        
C                   update    MEFRESM                                    
C                   endif                                                
C     adqtc4        reade     p1facll1                               58  
C                   enddo                                                
C* Wait indefinitively                                                   
C                   dow       '1'                                        
C                   call      'QCMDEXC'                                  
C                   parm                    excmd                         
C                   parm                    exlg                         
C                   enddo                                                
C                   SETON                                        LR      

首次启动(由SBMJOB) 进入无限等待循环(正常)。 没有结束程序,我第二次启动了该程序,结束了它进入了无限循环,证明第一个没有锁定最后一个成功记录为红色的记录,否则应该有读取错误

,

不。使用UNLOCK释放您的记录。

本文链接:https://www.f2er.com/3153085.html

大家都在问