Pgm de mise à jour (syntaxe RPG IV)

BoTTom |
.....H*eywords++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Comments+++++++++++
     H DATEDIT(*DMY)
.....F*ilename++IPEASFRlen+LKlen+AIDevice+.Keywords+++++++++++++++++++++++++++++Comments+++++++++++
     FRPGI11D   CF   E             WORKSTN
     FFICH1L0   UF   E           K DISK
     FFICH2P1   IF   E           K DISK
     FFICH1PV   UF A E           K DISK
.....D*ame+++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++Comments++++++++++++
     D                SDS
     D  SDSECR               244    253
     D DATC            DS
     D  DATVER                        6  0 INZ
     Derror            s              3    inz('NON')
      * PGM PRINCIPAL (BOUCLE SUR IMAGE 1)
      * ==================================
.....C*0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq....Comments+++++++++++
     C                   WRITE     TITRE
     C                   EXFMT     F1
     C                   DOW       *in03 = *OFF
     C                   EXSR      TRTF1
     C                   EXFMT     F1
     C                   ENDDO
     C                   eval      *inlr = *on
      * DEBUT DES SOUS PROGRAMMES
      * =========================
     C     TRTF1         BEGSR
     C     CLE           CHAIN     FICH1FV                            65
     C                   IF        *in65 = *off
      * ENREGISTREMENT VERROUILLÉ
     C                   UNLOCK    FICH1PV
     C                   eval      msg = 'enregistrement verro+
     C                             uillé par ' + %trim(ecran)
     C                              + ' le : ' + datc
     C                   eval      *in60 = *on
     C                   ELSE
      * LECTURE SEULE  --------V
     C     CLE           CHAIN(N)  FICH1F1                            50
     C                   IF        *in50 = *off
     C                   eval      ecran = sdsecr
     C                   eval      datver = udate
     C                   WRITE     FICH1FV
     C                   EXSR      TRTF2
     C     CLE           DELETE    FICH1FV                            90
     C                   ENDIF


|
     C                   ENDIF
     C                   ENDSR
      *
     C     TRTF2         BEGSR
     C                   DOU       error = 'NON'
     C                   EXFMT     F2
     C                   SELECT
     C                   WHEN      *in12 = *ON
     C                   LEAVE
     C                   OTHER
     C                   EXSR      CTLF2
     C                   IF        error = 'NON'
      * ACCES AU FICHIER EN MISE   JOUR (ON PERD LA SAISIE UTILISATEUR)
     C     CLE           CHAIN     FICH1F1                            50
      * RELECTURE DU BUFFER ECRAN (RETROUVE MISES A JOUR UTILISATEUR)
      * (SANS ACTION CLAVIER CAR "RTNDTA" DANS LE DSPF)
     C                   READ      F2                                     90
      * MISE A JOUR FICHIER ET DEVERROUILLAGE
     C                   UPDATE    FICH1F1
     C                   ENDIF
     C                   ENDSL
     C                   ENDDO
     C                   ENDSR
      *
     C     CTLF2         BEGSR
     C                   eval      error = 'NON'
      * CONTROLE DU CODE
     C     CODE          CHAIN     FICH2F1                            51
     C                   IF        *in51 = *ON
     C                   eval      error = 'OUI'
     C                   ENDIF
      * AUTRES CONTROLES DE VALIDITE
     C*                  IF        .....
     C*                  eval      error = 'OUI'
     C*                  eval      *in.. = *on
     C*                  ENDIF
     C                   ENDSR




©AF400