File Exception Handler

Fdspfile CF   E             WORKSTN                        
F                                     INFDS(DSPFDS)          
Fpfile   IF   E           K DISK                           
F                                     INFDS(FIDS01)          
F                                     INFSR(SFERR)           


 *                                      
D DSPFDS          DS                    
D  ROW                  370    370      
D  COL                  371    371      
D  SFLRRN               378    379B 0   
 *                                      

D FIDS01          DS                     
D  STS01            *STATUS              
D  REC01                397    400B 0    

 *                                     
 *  INFDS for cursor location          
 *                                     
D DSPFDS          DS                   
D  ROWCOL               370    371B 0  
D  ROW                  370    370     
D  COL                  371    371     
D  SFLRRN               378    379B 0  

 *                                      
 * Program status data structure        
 *                                      
D SDS            SDS                    
D  WSID                 244    253      
D  USER                 254    263      
D  AAPARM           *PARMS              
D  PGM              *PROC               
D  USTAT                 11     15  0   
D  USRCLN                21     28      
D  UROUTN                29     36      
D  MSGID                 40     46      
D  ULIB                  81     90      
D  UMSGTX                91    170      
D  UFILE                201    208      
D  UFSTAT               209    213      
D  UFSRCL               228    235      
D  UJOBN                264    269  0   
D  UCDAT                288    293  0   
D  UCTIM                294    299  0    
D  UPGM                 334    343       
D  UMODL                344    353       

 *****************************************************************    
 * SFERR - File Exception Handler                                     
 *****************************************************************    
c     SFERR          BEGSR                                            
C     STS01          | +IFEQ      1218                      
C                    | | Z-ADD     1122          STS01      
C                    | -ELSE                                
C     STS01          | | +IFEQ      1211                    
C                    | | | EXSR      *PSSR                  
C                    | | -ELSE                              
C                    | | | Z-ADD     1121          STS01    
C                    | | +END                               
C                    | +END                                 
c                    ENDSR   


 ***************************************************************** 
 * *PSSR - Program Execution Errors Handler                        
 ***************************************************************** 
      *PSSR          BEGSR                                         
C     UERCNT         +IFNE      *ZERO                              
C                    | MOVEL     '*CANCL'      URSUME              
C                    -ELSE                                         
C                    | Z-ADD     1             UERCNT              
C                    | MOVE      'R'           MSGACT              
C                    | MOVEL(P)  'QCPFMSG'     MSGF                
C                    | MOVEL(P)  'QSYS'        MSGFL               
C     UMSGTX         | +IFNE      *BLANKS                          
C                    | | MOVEL(P)  UMSGTX        MSGDTA            
C                    | -ELSE                                       
C                    | | MOVEL(P)  UROUTN        MSGDTA            
C                    | +END                                        
 *                                                                 
C     USTAT          | +IFEQ      *ZEROS                           
C                    | | MOVE      UFSTAT        USTAT             
C                    | | MOVE      UFSRCL        USRCLN            
C                    | +END                                                
C                    | MOVE      USTAT         USTAT4                      
 *                                                                         
C     MSGID          | +IFEQ      *BLANKS                                  
C                    | | MOVE      USTAT4        MSGID                     
C                    | | MOVEL     'RPG'         MSGID                     
C                    | | MOVEL     'QRPGMSGE'    MSGF                      
C                    | +END                                                
 *                                                                         
C                    | CALL      'CLMSG'       PMSGCL                   93 
 *                                                                         
C                    | MOVEL     '1'           UEROPT                      
C                    | EXFMT     PSSR0001                                  
 *                                                                         
C     UEROPT         | +IFEQ      '1'                                      
C                    | | MOVEL     '*GETIN  '    URSUME                    
C                    | -ELSE                                               
C     UEROPT         | | +IFEQ      '2'                                    
C                    | | | MOVEL     '*CANCL  '    URSUME                  
C                    | | -ELSE                                             
C     UEROPT         | | | +IFEQ      '3'                          
C                    | | | | MOVE      '        '    URSUME        
C                    | | | +END                                    
C                    | | +END                                      
C                    | +END                                        
C                    +END                                          
 *                                                                 
C                    DUMP                                          
C                    MOVEL     *BLANK        MSGID                 
C                    MOVE      *ZERO         UERCNT                
 *                                                                 
                     ENDSR     URSUME                              
 */EJECT                                                           


 ********************************************************************       
      RTVCUR         BEGSR                                                  
 *                                                                          
C                    Z-ADD     *ZEROS        PROW              2 0          
C                    Z-ADD     *ZEROS        PCOL              2 0          
C     ROWCOL         DIV       256           PROW                           
C                    MVR                     PCOL                           
 *                                                                          
                     ENDSR                                 

 * Get row & column 
C                    | | EXSR      RTVCUR           
 *                                                  
C     *IN04          | | +IFEQ      *ON             
C                    | | | +SELECT                  
 *
C     PROW           | | | -WHENEQ    5             
C     PCOL           | | | |ANDGE     20            
C     PCOL           | | | |ANDLE     21                             
....
C


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值