home

top bbs_s.gif (936 バイト)

updated on 2004.06.24

2.11. パターン2サンプル解説

[previous][upper][next]

パターン2の説明です。ポイントは、RRNのカウントアップ(つまりサブファイルレコードの書き出し)の部分です。また、DDSでは、ロールアップ(次ページ)のみ定義、さらに SFLSIZ > SFLPAGとします。既にパターン1で説明した基本的部分の解説は、省略します。

 

プレーンテキストソース:zzi020.txt

構造化ソース:zzi020s.txt

     H        1   Y/                                    1
     F******************************************************
     F*     D E F I N E    F I L E S                       *
     F******************************************************
     FZZJOBML1IF  E           K        DISK
     FZZI020D CF  E                    WORKSTN
     F                                        RRN01 KSFILE SFL01
     F                                              KINFDS INFDSP
     E****************************************************
     E*          A R R A Y        T A B L E              *
     E****************************************************
     E                    GDE     1   1 78               :CMD GIDE
     E                    OPN     1   6 78               :OPTION
     I******************************************************
     I*     D E F I N E    C O N S T A N T                 *
     I******************************************************
[解説10]
     I              10                    C         #PAGSZ
     I              X'33'                 C         F3
     I              X'35'                 C         F5
     I              X'3C'                 C         F12
     I              X'BB'                 C         F23
     I              X'F5'                 C         ROLUP
     I******************************************************
     I*     D E F I N E    D A T A  - S T R U C T U R E    *
     I******************************************************
     I*  INFORMATION DS  (DSPF)
     IINFDSP      DS
     I                                      369 369 PUSHED
     I                                    B 378 3790DSRRN
     I*  FOR SYSTEM DATE AND TIME
     I            DS
     I                                        1  120DSDTTM
     I                                        1   60DSQTIM
     I                                        7  120DSQDAT
     I*  PROGRAM STATUS
     I           SDS
     I                                     *PROGRAM V1PGM
     I                                      244 253 V1JOB
     I                                      254 263 V1USR
     C******************************************************
     C*     DEFINITION  MODULE  ( PLIST   FIELD   KLIST )  *
     C******************************************************
     C*                                                    :
     C* FOR DUPLICATE                                      :
     C*                                                    :
     C           *LIKE     DEFN V1JOBC    W1JOBC           :
[解説20]
     C           *LIKE     DEFN RRN01     W1RN01           :
     C           *LIKE     DEFN S1OPT     W1OPT            :
     C******************************************************
     C*             M A I N -  R O U T I N E                
     C******************************************************
     C* SFL消去                                            :
     C           \INZ      TAG                             :
     C*                                                    :
     C                     EXSR @SETLL                     :
     C* SFL消去                                            :
     C                     EXSR @CLCTL                     :
     C* SFL作成                                            :
     C           \BDSFL    TAG                             :
     C*                                                    :
[解説30]
     C                     EXSR @BDSFL                     :
     C* SFL表示                                            :
     C           \EXSFL    TAG                             :
     C*                                                    :
     C                     EXSR @EXSFL                     :
     C*                                                    :
     C           F3        CABEQPUSHED    \END             :終了
     C           F12       CABEQPUSHED    \END             :終了
     C*                                                    :
[解説35]
     C           V1JOBC    CABNEW1JOBC    \INZ             :
     C*                                                    :
     C           F5        CABEQPUSHED    \INZ             :再表示
     C*                                                    :
B001 C           F23       IFEQ PUSHED                     :
 001 C                     ADD  1         W1OPTN           :
B002 C           W1OPTN    IFGT 3                          :
 002 C                     Z-ADD1         W1OPTN           :
E002 C                     END                             :
 001 C                     GOTO \EXSFL                     :
E001 C                     END                             :
[解説40]
     C*                                                    :
B001 C           W1EOF     IFEQ *OFF                       :
 001 C           ROLUP     CABEQPUSHED    \BDSFL           :
E001 C                     END                             :
     C*入力オプション                                      :
B001 C           RRN01     IFNE 0                          :
 001 C                     EXSR @READC                     :
E001 C                     END                             :
     C*                                                    :
     C                     GOTO \EXSFL                     :
     C*終了                                                :
     C           \END      TAG                             :
     C*                                                    :
     C                     MOVE *ON       *INLR            :
     C                     RETRN                           :
     C******************************************************
     C*             S U B   -  R O U T I N E                
     C******************************************************
     C*----------------------------------------------------*
     C           *INZSR    BEGSR                           :
     C*----------------------------------------------------*
[解説50]
     C                     Z-ADD0         W1CNT   40       :
     C                     Z-ADD0         RRN01   40       :
     C                     Z-ADD1         H1SRCD           :
     C*                                                    :
     C                     MOVE *OFF      PICNL   1        :
[解説55]
     C                     MOVE *OFF      W1EOF   1        :
     C                     Z-ADD1         W1OPTN  10       :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @SETLL    BEGSR                           :ファイル位置
     C*----------------------------------------------------*
     C           V1JOBC    SETLLZZJOBML1                   :
     C*                                                    :
     C*位置指定変更検査用待避                              :
     C*                                                    :
     C                     MOVE V1JOBC    W1JOBC           :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @CLCTL    BEGSR                           :CLEAR SFL01
     C*----------------------------------------------------*
     C                     MOVE *OFF      W1EOF            :
     C                     MOVE *OFF      *IN63            :SFLEND OFF
     C*                                                    :
[解説60]
     C                     Z-ADD0         RRN01            :
     C                     Z-ADD0         W1RN01           :
     C                     Z-ADD1         H1SRCD           :
     C                     CLEARSFL01                      :
     C*                                                    :
     C                     MOVE *ON       *IN62            :
     C                     WRITECTL01                      :SFLCLR
     C                     MOVE *OFF      *IN62            :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @BDSFL    BEGSR                           :SFL01作成
     C*----------------------------------------------------*
[解説70]
     C                     Z-ADDW1RN01    RRN01            :
     C                     Z-ADD0         W1CNT            :
     C*                                                    :
[解説80]
B001 C           W1CNT     DOUEQ#PAGSZ                     :
 001 C                     READ ZZJOBML1                 90:
B002 C           *IN90     IFEQ *ON                        :
 002 C                     MOVE *ON       *IN63            :
 002 C                     MOVE *ON       W1EOF            :
 002 C                     LEAVE                           :
+002 C                     ELSE                            :
 002 C                     EXSR @TOSFL                     :
E002 C                     END                             :
E001 C                     END                             :
     C*                                                    :
[解説90]
     C                     Z-ADDRRN01     W1RN01           :
[解説100]
     C* SFLEND検査                                         :
B001 C           *IN63     IFEQ *OFF                       :
 001 C                     READ ZZJOBML1                 90:
B002 C           *IN90     IFEQ *ON                        :
 002 C                     MOVE *ON       *IN63            :
 002 C                     MOVE *ON       W1EOF            :
+002 C                     ELSE                            :
 002 C                     READPZZJOBML1                 90:
E002 C                     END                             :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @TOSFL    BEGSR                           :
     C*----------------------------------------------------*
     C                     MOVE *OFF      *IN64            :SFLNXTCHG OFF
     C                     MOVE *BLANK    S1OPT            :
     C                     MOVELYYJNO     H1JNO            :
     C*                                                    :
     C                     ADD  1         RRN01            :
[解説110]
     C                     ADD  1         W1CNT            :
     C*                                                    :
     C                     WRITESFL01                      :
     C*                                                    :
[解説120]
B001 C           W1CNT     IFEQ 1                          :
 001 C                     Z-ADDRRN01     H1SRCD           :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @EXSFL    BEGSR                           :EXFMT SUBFILE
     C*----------------------------------------------------*
B001 C           RRN01     IFNE 0                          :
 001 C                     MOVE *ON       *IN60            :SFLDSP ON
+001 C                     ELSE                            :
 001 C                     MOVE *OFF      *IN60            :SFLDSP OFF
E001 C                     END                             :
     C*                                                    :
B001 C           V1MSG#    IFNE *BLANK                     :
 001 C                     EXSR @MSG                       :
E001 C                     END                             :
     C*                                                    :
     C                     MOVE *ON       *IN61            :SFLDSPCTL ON
     C*                                                    :
B001 C                     SELEC                           :
 001 C           W1OPTN    WHEQ 1                          :
 001 C                     MOVELOPN,1     V1OPN1           :
 001 C                     MOVELOPN,2     V1OPN2           :
 001 C           W1OPTN    WHEQ 2                          :
 001 C                     MOVELOPN,3     V1OPN1           :
 001 C                     MOVELOPN,4     V1OPN2           :
 001 C           W1OPTN    WHEQ 3                          :
 001 C                     MOVELOPN,5     V1OPN1           :
 001 C                     MOVELOPN,6     V1OPN2           :
E001 C                     END                             :
     C*                                                    :
     C                     MOVELGDE,1     V1GDE            :
     C                     WRITEFTR01                      :
     C                     EXFMTCTL01                      :
     C*                                                    :
     C                     EXSR @EROFF                     :
     C*                                                    :
     C                     MOVEA'00'      *IN,60           :
     C*                                                    :
B001 C           H1SRRN    IFNE 0                          :
 001 C                     Z-ADDH1SRRN    H1SRCD           :
+001 C                     ELSE                            :
B002 C           DSRRN     IFNE 0                          :
 002 C                     Z-ADDDSRRN     H1SRCD           :
E002 C                     END                             :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @READC    BEGSR                           :
     C*----------------------------------------------------*
B001 C           *IN95     DOUEQ*ON                        :
 001 C                     READCSFL01                    95:
B002 C           *IN95     IFEQ *ON                        :
 002 C                     LEAVE                           :
+002 C                     ELSE                            :
B003 C           S1OPT     IFNE *BLANK                     :
 003 C                     MOVE S1OPT     W1OPT            :
 003 C                     MOVE *BLANK    S1OPT            :
 003 C                     MOVE *ON       *IN64            :SFLNXTCHG ON
 003 C                     UPDATSFL01                      :
 003 C                     EXSR @OPT                       :
B004 C           PICNL     IFEQ *ON                        :
 004 C                     LEAVE                           :
E004 C                     END                             :
E003 C                     END                             :
E002 C                     END                             :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @OPT      BEGSR                           :PRE-CHECK
     C*----------------------------------------------------*
     C                     Z-ADDRRN01     H1SRCD           :
     C                     MOVE *OFF      PICNL            :
     C*                                                    :
B001 C           W1OPT     CASEQ'5 '      @DSP             :
E001 C                     END                             :
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @DSP      BEGSR                           :
     C*----------------------------------------------------*
     C*表示処理                                          :
     C*****                                                :
     C*****                MOVE H1JNO     POJNO   6        :
     C*****                CALL 'ZZI025CL'                 :
     C*****                PARM           POJOB  10        :
     C*****                PARM           POUSR  10        :
     C*****                PARM           POJNO            :
     C*****                PARM           PICNL            :
     C*****                                                :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @MSG      BEGSR                           :
     C*----------------------------------------------------*
     C*                                                    :
     C                     ENDSR                           :
     C*----------------------------------------------------*
     C           @EROFF    BEGSR                           :
     C*----------------------------------------------------*
     C*                                                    :
     C                     ENDSR                           :
**   ....1....+....2....+....3....+....4....+....5....+....6...
F3=終了    F5=再表示      F23=オプション続き
**
   2=修正       3=店個別指定 4=削除        5=表示        6=複写
   7= OPT7        8= OPT8        9= OPT9        10= OPT10 ...
  50= OPT50      52= OPT52      54= OPT54       55= OPT55
  60= OPT60      62= OPT62      63= OPT63  ...
  71= OPT71      72= OPT72      73= OPT73
  80= OPT80      99= OPT99      ...          

[previous][home][upper][next]

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送