Modification d'une dtaara

BoTTom |
      * **************************************************************
      * *                                                            *
      * *                                                            *
      * *                                                            *
      * **************************************************************
      *
      *         déclaration des fichiers
      *        --------------------------
     FMODTAE  CF  E                    WORKSTN
     F                                        CLE01 KSFILE SFL01
     FDSPDTA  IF  F     132            DISK
      *
      *   Déclaration ds structure de pgm
      *
     E                    T          40 50
     E                    F          50  1
     I              ''''                  C         QUOTE
     IDSPDTA  NS  01
     I                                        6   6 ZER
     I                                        3   6 NUM
     I                                       18  67 DTA
      *
     I                                       38  43 REN
     I                                       50  59 RE1
     I                                       52  61 RE2
     I                                       50  99 RE3
     IPARM       UDS
     I                                        12000 T
     I            DS
     I                                        1  50 F
      *
      *   Déclaration de zones copiées
      *
     C           *LIKE     DEFN CLE01     CLEMAX
      *
      *   Réception des paramètres
      *
     C           *ENTRY    PLIST
     C                     PARM *IN03     IN03    1
      *
      * Initialisation du sous fichier
      *
   00C                     EXSR INIT
      *


|
      * Chargement du sous fichier
      *
   00C                     EXSR CHARG
      *
      * Affichage du sous fichier
      *
   01C           *IN03     DOUEQ*ON                        DEB00*ON
   01C           SORTIE    OREQ 'O'
   01C                     EXSR AFFI
   02C           *IN03     IFEQ *OFF                       DEB002
   02C                     SELEC                           DEB003
     C           *IN05     WHEQ *ON
   03C                     EXSR INIT
   03C                     EXSR CHARG
   03C           *IN09     WHEQ *ON
   03C                     CALL 'QUSCMDLN'
   03C                     OTHER
   03C                     EXSR TRAIT
   03C                     MOVE 'O'       SORTIE  1
   03C                     ENDSL                           FIN003
      *
   02C                     ENDIF                           FIN002
   01C                     ENDDO                           FIN00*ON
      *
      *
      * Fin de programme
      *
   00C                     MOVE *ON       *INLR
      *
      * Chargement du sous fichier
      *
   00C           CHARG     BEGSR
   01C           REN       DOUEQ'F I N'                    DEB00*ON
   01C                     READ DSPDTA                   91
   02C           ZER       IFEQ '0'                        DEB002
      *
   02C                     ADD  1         CLE01
   02C                     WRITESFL01
      *
   02C                     ENDIF                           FIN002
   01C                     ENDDO                           FIN00*ON
     C                     Z-ADDCLE01     CLEMAX
   00C                     ENDSR                              F2
      *


|
      * Initialisation du sous fichier ET FORMAT DE CONTROLE
      *
   00C           INIT      BEGSR
   00C                     MOVE *ON       *IN30
   00C                     WRITECTL01                         72 SFLCLR
   00C                     MOVE *OFF      *IN30
   00C                     Z-ADD0         CLE01   30
     C           1         SETLLDSPDTA
     C*
   01C           REN       DOUEQ'DTAARA'                   DEB001
     C           *IN91     OREQ *ON
   01C                     READ DSPDTA                   91
   02C           *IN91     IFEQ *ON                        DEB002
   02C                     MOVE 'DTAARA'  REN
   02C                     ENDIF                           FIN002
   02C                     ENDDO                           FIN002
   02C           *IN91     IFEQ *OFF                       DEB001
   02C                     MOVELRE1       NOM
   03C           RE1       IFNE '*LDA'                     DEB002
   03C           RE1       ANDNE'*GDA'
   03C           RE1       ANDNE'*PDA'
   03C                     READ DSPDTA                   91
   03C                     MOVELRE2       LIB
     C                     ELSE
     C                     MOVE *ON       *IN21
   03C                     ENDIF                           FIN002
   02C                     READ DSPDTA                   91
   02C                     MOVELRE1       TYPE
   02C                     READ DSPDTA                   91
   02C                     MOVELRE1       LONG
   02C                     READ DSPDTA                   91
   02C                     MOVELRE3       TEXTE
   02C                     ENDIF                           FIN001
   01C                     ENDSR
      *
      * Affichage du sous fichier
      *
   01C           AFFI      BEGSR
   01C           CLE01     IFGT 0                          DEB001
   01C                     MOVE *ON       *IN31
   01C                     ENDIF                           FIN001
      *
      *  RECHERCHE '
      *


|
     C           CLEMAX    CHAINSFL01                92
     C*  Dernier enregistrement lu
     C                     MOVEADTA       F,1
     C                     Z-ADD50        J       30
     C*
     C           J         DOWNE1
     C           ' '       IFNE F,J
     C           QUOTE     IFEQ F,J
      *  FIN DE SOULIGNEMENT (X'20' = FIN D'ATTRIBUT)
     C                     MOVEAX'20'     F,J
     C                     ENDIF
     C                     LEAVE
     C                     ELSE
     C                     ADD  -1        J
     C                     ENDIF
     C                     ENDDO
     C                     MOVEAF         DTA
     C*
   00C                     UPDATSFL01
   00C                     WRITEFMT01
   00C                     EXFMTCTL01
   00C                     ENDSR
      *
      * Affichage du sous fichier
      *
   00C           TRAIT     BEGSR
     C*
     C           1         DO   CLEMAX    I       30
     C           I         CHAINSFL01                92
     C*  Dernier enregistrement lu
     C           I         IFEQ CLEMAX
     C                     MOVEADTA       F,1
     C                     Z-ADD50        J       30
     C*
     C           J         DOWNE1
     C           ' '       IFNE F,J
     C           QUOTE     IFEQ F,J
     C           X'20'     OREQ F,J
     C                     MOVEA' '       F,J
     C                     ENDIF
     C                     LEAVE
     C                     ELSE
     C                     ADD  -1        J
     C                     ENDIF


|
     C                     ENDDO
     C*
     C                     MOVEAF         T,I
   00C                     ELSE
     C                     MOVEADTA       T,I
   00C                     ENDIF
   00C                     ENDDO
   00C                     ENDSR




©AF400