File Exception Handler

来源:互联网 发布:封装js插件 编辑:程序博客网 时间:2024/06/08 23:24
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
原创粉丝点击