Pgm : liste via sous-fichier avec option

BoTTom |
      *
      * sous fichier avec zone d'option (2 = modifier , 5 = afficher)
      *
     FDSPI09  CF  E                    WORKSTN
     F                                        RANG  KSFILE SFL
     FFICH1L1 IF  E           K        DISK
     FFICH2P1 IF  E           K        DISK
      * PGM PRINCIPAL (BOUCLE SUR IMAGE 1)
      * ==================================
     C                     WRITETITRE
     C                     EXFMTF1
     C           *IN03     DOWEQ*OFF
     C                     EXSR TRTF1
     C                     EXFMTF1
     C                     ENDDO
      * RCLRSC
     C                     CALL 'MENAGE'
     C                     MOVE *ON       *INLR
      * DEBUT DES SOUS PROGRAMMES
      * =========================
     C           TRTF1     BEGSR
     C           CODE      CHAINFICH1F1              50
     C           *IN50     IFEQ *OFF
     C           CODE      CHAINFICH2F1              51
     C                     EXSR RAZSF
     C           *IN90     DOUEQ*ON
     C                     EXSR ECRSF
     C           CODE      READEFICH1F1                  90
     C                     ENDDO
     C                     WRITEPIED
     C           *IN12     DOUEQ*ON
     C                     EXFMTCTL
     C                     EXSR LECSF
     C                     ENDDO
     C                     ENDIF
     C                     ENDSR
      *
     C           RAZSF     BEGSR
     C                     MOVEA'00'      *IN,30
     C                     WRITECTL
     C                     MOVE *ON       *IN31
     C                     Z-ADD0         RANG    40
     C                     ENDSR
      *


|
     C           ECRSF     BEGSR
     C                     ADD  1         RANG
     C                     WRITESFL
     C                     MOVE *ON       *IN30
     C                     ENDSR
      *
     C           LECSF     BEGSR
     C                     READCSFL                      90
     C           *IN90     DOWEQ*OFF
     C           OPTION    IFNE ' '
     C           OPTION    CASEQ'2'       OP2SR
     C           OPTION    CASEQ'5'       OP5SR
     C                     ENDCS
     C                     MOVE ' '       OPTION
     C                     UPDATSFL
     C                     ENDIF
     C                     READCSFL                      90
     C                     ENDDO
     C                     ENDSR
      *
      *   les options sont traitées par des programmes à part  (==> CALL)
      *
     C           OP2SR     BEGSR
     C                     CALL 'RPGOP2'
     C                     PARM           CLE
     C                     ENDSR
      *
     C           OP5SR     BEGSR
     C                     CALL 'RPGOP5'
     C                     PARM           CLE
     C                     ENDSR




©AF400