Sous-fichier màj pleine page

BoTTom |    Changer de couleur
                           MAJ PLEINE PAGE DE SOUS-FICHIER 
 
  Il est possible de modifier un sous-fichier pleine 
  page. 
 
 
  Regardons un programme qui ferait la mise à jour 
  du prix unitaire d'un article. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
     ##################################################################### 
     ## Le programme demande un type article                            ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 
     ##################################################################### 
     ##    le  X/XX/XX           mise à jour prix unitaire              ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                  Entrer le type des articles  1                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##         F3 =  fin de travail                                    ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## Et affiche tous les articles ayant                              ## 
     ## ce type article.                                                ## 
     ##                                                                 ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,50               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          4,50               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## L'utilisateur modifie les PU des articles, notre                ## 
     ## programme lit tous les enregistrements modifies                 ## 
     ## et applique les modifications dans la base de données           ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,75               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          6,19               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
  ######################################################################## 
  ## Etudions ce programme                                              ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   FARTICL  UF  E           K        DISK                           ## 
  ##   FARTMAJ  CF  E                    WORKSTN                        ## 
  ##   F                                        LIGNE KSFILE SFE        ## 
  ##   C           CLEART    KLIST                                      ## 
  ##   C                     KFLD           TYPART                      ## 
  ##   C                     KFLD           NOART                       ## 
  ##   C                     WRITEENTETE                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C           *IN03     DOWEQ*OFF                                  ## 
  ##   C                     EXSR STRUC2                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     MOVE *ON       *INLR                       ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 1ere partie classique. Affichage                                   ## 
  ## du format interro, boucle tant que l'utilisateur                   ## 
  ## ne fait pas F3.                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   FARTICL  UF  E           K        DISK                           ## 
  ##   FARTMAJ  CF  E                    WORKSTN                        ## 
  ##   F                                        LIGNE KSFILE SFE        ## 
  ##   C           CLEART    KLIST                                      ## 
  ##   C                     KFLD           TYPART                      ## 
  ##   C                     KFLD           NOART                       ## 
  ##   C                     WRITEENTETE                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C           *IN03     DOWEQ*OFF                                  ## 
  ##   C                     EXSR STRUC2                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     MOVE *ON       *INLR                       ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   C           STRUC2    BEGSR                                      ## 
  ##   C           TYPART    CHAINARTICL               10               ## 
  ##   C           *IN10     IFEQ *OFF                                  ## 
  ##   C                     MOVE *ON       *IN41                       ## 
  ##   C                     WRITESFC                                   ## 
  ##   C                     MOVE *OFF      *IN41                       ## 
  ##   C                     DO   *HIVAL    LIGNE   40                  ## 
  ##   C                     WRITESFE                                   ## 
  ##   C           TYPART    READEARTICL                   10           ## 
  ##   C  N10                ENDDO                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 2eme partie tout aussi classique, remplissage                      ## 
  ## statique d'un sous-fichier. Module de RAB, remplissage.            ## 
  ##                                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   C           STRUC2    BEGSR                                      ## 
  ##   C           TYPART    CHAINARTICL               10               ## 
  ##   C           *IN10     IFEQ *OFF                                  ## 
  ##   C                     MOVE *ON       *IN41                       ## 
  ##   C                     WRITESFC                                   ## 
  ##   C                     MOVE *OFF      *IN41                       ## 
  ##   C                     DO   *HIVAL    LIGNE   40                  ## 
  ##   C                     WRITESFE                                   ## 
  ##   C           TYPART    READEARTICL                   10           ## 
  ##   C  N10                ENDDO                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Il a été choisi ici un chargement statique pour simplifier le      ## 
  ## programme mais il est bien évident que l'on peut faire             ## 
  ## de la maj pleine page dans un sous-fichier dynamique.              ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   C           STRUC2    BEGSR                                      ## 
  ##   C           TYPART    CHAINARTICL               10               ## 
  ##   C           *IN10     IFEQ *OFF                                  ## 
  ##   C                     MOVE *ON       *IN41                       ## 
  ##   C                     WRITESFC                                   ## 
  ##   C                     MOVE *OFF      *IN41                       ## 
  ##   C                     DO   *HIVAL    LIGNE   40                  ## 
  ##   C                     WRITESFE                                   ## 
  ##   C           TYPART    READEARTICL                   10           ## 
  ##   C  N10                ENDDO                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 3eme partie affichage et lecture du sous-fichier, on retrouve      ## 
  ## ici la boucle qui permet d'afficher le sous-fichier jusqu'à        ## 
  ## ce que l'utilisateur ne fasse plus de modification dans le S/F     ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Intéressons-nous maintenant à la boucle qui effectue               ## 
  ## la lecture du sous-fichier et la mise à jour du fichier            ## 
  ## ARTICL                                                             ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Si la lecture des enregistrements modifiés a abouti                ## 
  ## on met en fonction l'indicateur 11, ce qui permettra               ## 
  ## de boucler sur l'affichage tant qu'un enreg. a été modifié.        ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Je me repositionne sur l'article à mettre à jour                   ## 
  ## Rappel. L'instruction UPDAT met à jour le dernier enreg. lu        ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## La lecture de l'enregistrement du fichier ARTICL à entrainer       ## 
  ## le remplacement des zones modifiés (provenant du sous-fic.)        ## 
  ## par celles du fichier (donc avant la modif).                       ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## ==> la relecture de l'enregistrement du sous-fichier.              ## 
  ## Pourquoi LIGNE    CHAINSFE         10  ?                           ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Rappel. L'instruct. READC entraine la lecture d'un enreg. modifié  ## 
  ##         d'un sous-fic. ET la récupération du num. de l'enreg. lu   ## 
  ##         dans la zone associée au sous-fic (ici LIGNE).             ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Ligne contient le numéro d'enreg. du sous-fic.que nous voulons     ## 
  ## relire ==> lecture accès direct  sur le rang.                      ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Nous avons récupéré les modifs nous mettons a jour l'enreg.        ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Puis nous lisons l'enregistrement modifié suivant etc...           ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ######################################################################## 


|    Changer de couleur
 
 
  Ecrire un programme simple de mise à jour en utilisant 
  la mise à jour de sous-fichier pleine page ce n'est 
  compliqué. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
  Ecrire un programme simple de mise à jour en utilisant 
  la mise à jour de sous-fichier pleine page ce n'est 
  compliqué. 
 
  Par contre les choses se compliquent un peu lorsque l'on 
  doit effectuer des contrôles sur la zone mise à jour. 
 
  Regardons avec un exemple ce qui se passe. 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
  Ecrire un programme simple de mise à jour en utilisant 
  la mise à jour de sous-fichier pleine page ce n'est 
  compliqué. 
 
  Par contre les choses se compliquent un peu lorsque l'on 
  doit effectuer des contrôles sur la zone mise à jour. 
 
  Regardons avec un exemple ce qui se passe. 
 
 
  Nous allons reprendre notre programme de mise à jour 
  des prix unitaires du fichier article en controlant 
  que le nouveau prix n'est pas supérieur de plus de 
  10 % à l'ancien prix. 
 
 
 
 
 
 


|    Changer de couleur
 
     ##################################################################### 
     ## Regardons le déroulement du prog.                               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 
     ##################################################################### 
     ##    le  X/XX/XX           mise à jour prix unitaire              ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                  Entrer le type des articles                    ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##         F3 =  fin de travail                                    ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## L'utilisateur entre un type article                             ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 
     ##################################################################### 
     ##    le  X/XX/XX           mise à jour prix unitaire              ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                  Entrer le type des articles  1                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##         F3 =  fin de travail                                    ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## Le programme affiche tous les articles ayant ce type.           ## 
     ## ############################################################### ## 
     ##                                                                 ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,50               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          4,50               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## L'utilisateur modifie les PU des articles, notre                ## 
     ## programme lit tous les enregistrements modifies                 ## 
     ## et contrôle le p.u. Si OK maj, sinon affichage d'erreur         ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,75               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          6,19               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## L'utilisateur a modifié 2 PU. 3,75 au lieu de 3,50              ## 
     ## pour celui-là OK, et 6,19 au lieu de 4,50 ici erreur.           ## 
     ## Regardons ce qui se passe.                                      ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,75               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          6,19               ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
 


|    Changer de couleur
 
     ##################################################################### 
     ## L'utilisateur a modifié 2 PU  3,75 au lieu de 3,50              ## 
     ## pour celui-là OK et 6,19 au lieu de 4,50 ici erreur.            ## 
     ## Regardons ce qui se passe.                                      ## 
     ##################################################################### 
 
     ##################################################################### 
     ## le  X/XX/XX           mise à jour prix unitaire                 ## 
     ##                                                                 ## 
     ##     Type article 1                                              ## 
     ##                                                                 ## 
     ##     numéro      libellé      quantité       prix                ## 
     ##     article                               unitaire              ## 
     ##                                                                 ## 
     ##      0001       CLOU 10MM       100          3,75               ## 
     ##      0002       CLOU 20MM       100          4,00               ## 
     ##      0003       CLOU 30MM       120          6,19               ## 
     ##                                                                 ## 
     ## PRIX UNITAIRE INVALIDE                                          ## 
     ##################################################################### 
 


|    Changer de couleur
 
 
  Regardons la mise en oeuvre et tout d'abord le fichier 
  écran. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
     ##################################################################### 
     ## Tout d'abord les formats ENTETE et INTERO                       ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 
     ##                                REF(ARTICL)                      ## 
     ##                                PRINT                            ## 
     ##    R ENTETE                                                     ## 
     ##                            2  2'le'                             ## 
     ##                            2  5DATE                             ## 
     ##                                EDTCDE(Y)                        ## 
     ##                            2 24'mise à jour prix unitaire'      ## 
     ##                                DSPATR(HI)                       ## 
     ##                                DSPATR(UL)                       ## 
     ##    R INTERO                                                     ## 
     ##                                CA03(03 'fin de travail')        ## 
     ##                                OVERLAY                          ## 
     ##                           08 16'Entrer le type des articles'    ## 
     ##      TYPART    R     Y  I 08 45REFFLD(TYPART ARTICL)            ## 
     ##  10                            ERRMSG('type art. inconnu' 10)   ## 
     ##                           19  7'F3 =  fin de travail'           ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Puis les formats du sous-fichier SFE (format d'enregistrement)  ## 
     ##                                  SFC (format de contrôle)       ## 
     ##                                                                 ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Dans le format SFE nous avons les zones                         ## 
     ## NOART LIBEL QTE en sortie.                                      ## 
     ##                                                                 ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Dans le format SFE nous avons les zones                         ## 
     ## NOART LIBEL QTE en sortie.                                      ## 
     ## PU en sortie/entrée                                             ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## 60     DSPATR(RI PC) cette fonction permettra lorsqu'il y aura  ## 
     ## une erreur d'avoir la zone de l'enregistrement en inversion     ## 
     ## et le curseur positionné sur cet enregistrement.                ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Dans notre pgm lorsqu'il y aura une erreur nous mettrons en     ## 
     ## fonction l'indic. 60 et mettrons à jour l'enreg. du sous-fic.   ## 
     ## la fonction DSPATR ne prendra effet que sur l'enreg. modifié.   ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Passons à SFC.                                                  ## 
     ## Défilons les différentes fonctions.                             ## 
     ##  ICI GESTION DE SOUS-FICHIER CLASSIQUE.(40 = affich,41 m.à.bl)  ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Lorsqu'il y aura une erreur nous mettrons en fonction           ## 
     ## l'indic. 61 en plus de 60. 61 sera ON lorsqu'il y               ## 
     ## aura au moins une erreur dans un groupe d'enreg. modifiés       ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## et mis OFF avant de rentrer dans la boucle des enregs           ## 
     ## modifiés.Par contre 60 sera mis OFF aprés le traitement         ## 
     ## d'UN enreg. modifié.  (nous verrons cela dans le pgm)           ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
     ##################################################################### 
     ## Ensuite nous avons les différentes constantes du format         ## 
     ## de contrôle formant l'entete.                                   ## 
     ##                                                                 ## 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##          R SFC                       SFLCTL(SFE) OVERLAY        ## 
     ##  40                                  SFLDSP SFLDSPCTL           ## 
     ##  41                                  SFLCLR                     ## 
     ##                                      SFLSIZ(0006)               ## 
     ##                                      SFLPAG(0005)               ## 
     ##  61                                  SFLMSG('ERREUR PU' 61)     ## 
     ##                                 10  6'numéro'                   ## 
     ##                                 10 18'libellé'                  ## 
     ##                                 10 31'quantité'                 ## 
     ##                                 10 46'prix'                     ## 
     ##################################################################### 


|    Changer de couleur
  ######################################################################## 
  ## Etudions le programme qui ferait cette maj.                        ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
  ######################################################################## 
  ## 1ere partie toujours la même                                       ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   FARTICL  UF  E           K        DISK                           ## 
  ##   FARTMAJ  CF  E                    WORKSTN                        ## 
  ##   F                                        LIGNE KSFILE SFE        ## 
  ##   C           CLEART    KLIST                                      ## 
  ##   C                     KFLD           TYPART                      ## 
  ##   C                     KFLD           NOART                       ## 
  ##   C                     WRITEENTETE                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C           *IN03     DOWEQ*OFF                                  ## 
  ##   C                     EXSR STRUC2                                ## 
  ##   C                     EXFMTINTERO                                ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     MOVE *ON       *INLR                       ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 2eme partie toujours la même  (remplissage)                        ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##   C           STRUC2    BEGSR                                      ## 
  ##   C           TYPART    CHAINARTICL               10               ## 
  ##   C           *IN10     IFEQ *OFF                                  ## 
  ##   C                     MOVE *ON       *IN41                       ## 
  ##   C                     WRITESFC                                   ## 
  ##   C                     MOVE *OFF      *IN41                       ## 
  ##   C                     DO   *HIVAL    LIGNE   40                  ## 
  ##   C                     WRITESFE                                   ## 
  ##   C           TYPART    READEARTICL                   10           ## 
  ##   C  N10                ENDDO                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 3eme partie décomposée. Ici début de la boucle                     ## 
  ## jusqu'à ce qu'il n'y ait plus de modif                             ## 
  ## commencant par l'affichage du sous-fichier.                        ## 
  ######################################################################## 
  ##   C           *IN11     DOUEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN40                       ## 
  ##   C                     EXFMTSFC                                   ## 
  ##   C                     MOVE *OFF      *IN40                       ## 
  ##   C                     MOVE *OFF      *IN11                       ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## 4eme partie elle un peu changé regardons les modifs                ## 
  ## apportées.                                                         ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 


|    Changer de couleur
  ######################################################################## 
  ## Calcul du Prix unitaire maxi.                                      ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 


|    Changer de couleur
  ######################################################################## 
  ## Appel du sous-prog. CONTRO qui effectue le contrôle                ## 
  ## du nouveau prix.                                                   ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 


|    Changer de couleur
  ######################################################################## 
  ## Etudions ce sous-prog.                                             ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           CONTRO    BEGSR                                      ## 
  ##   C           PU        IFGT PU2                                   ## 
  ##   C                     SETON                     6061             ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Si PU saisie est > pu maxi                                         ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           CONTRO    BEGSR                                      ## 
  ##   C           PU        IFGT PU2                                   ## 
  ##   C                     SETON                     6061             ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## il met en fonction 60 61,60 = DSPATR(RI PC),61 = SFLMSG            ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           CONTRO    BEGSR                                      ## 
  ##   C           PU        IFGT PU2                                   ## 
  ##   C                     SETON                     6061             ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## puis mise à jour de l'enreg. du sous-fic.                          ## 
  ## pour que le DSPATR(RI PC) devienne éffectif.                       ## 
  ######################################################################## 
  ##   C           CONTRO    BEGSR                                      ## 
  ##   C           PU        IFGT PU2                                   ## 
  ##   C                     SETON                     6061             ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Fin du IF,puis du sous programme.                                  ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C           CONTRO    BEGSR                                      ## 
  ##   C           PU        IFGT PU2                                   ## 
  ##   C                     SETON                     6061             ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                      ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ##                                                                    ## 
  ######################################################################## 


|    Changer de couleur
  ######################################################################## 
  ## Revenons à notre programme et continuons                           ## 
  ## à regarder les modifs.                                             ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## On teste s'il n'y a pas eu une erreur                              ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## Si oui on met a jour le SFE   POURQUOI?                            ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## Si cet enregistrement était en erreur précedement il faut annuler  ## 
  ## le DSPATR(RI PC) (60 OFF) et le rendre éffectif à l'écran (UPDAT). ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## puis mise à jour de l'enreg. dans le fichier ARTICL                ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## SINON (60 ON = erreur détectée ET signalée par CONTRO).            ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## On met OFF 60 pour le prochain enreg. modifié                      ## 
  ##  (le sous-fichier à déja été modifié).                             ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
  ######################################################################## 
  ## FIN                                                                ## 
  ##                                                                    ## 
  ######################################################################## 
  ##   C                     READCSFE                      20           ## 
  ##   C           *IN20     DOWEQ*OFF                                  ## 
  ##   C                     MOVE *ON       *IN11                       ## 
  ##   C           CLEART    CHAINARTICL               10               ## 
  ##   C           PU        MULT 1.10      PU2     72                  ## 
  ##   C           LIGNE     CHAINSFE                  10               ## 
  ##   C                     EXSR CONTRO                                ## 
  ##   C           *IN60     IFEQ *OFF                                  ## 
  ##   C                     UPDATSFE                                   ## 
  ##   C                     UPDATARTICLF1                              ## 
  ##   C                     ELSE                                       ## 
  ##   C                     MOVE *OFF      *IN60                       ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     READCSFE                      20           ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDDO                                      ## 
  ##   C                     ENDIF                                      ## 
  ##   C                     ENDSR                                         


|    Changer de couleur
 
 
     Vous venez donc de voir le programme. 
 
     Mais il reste un petit détail à régler. 
     Lorsqu'il y a une erreur, notre programme visualise 
     à nouveau le sous-fichier et indique l'erreur 
     grâce au SFLMSG et à la zone en inversion d'image.
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
     Vous venez donc de voir le programme. 
 
     Mais il reste un petit détail à régler. 
     Lorsqu'il y a une erreur, notre programme visualise 
     à nouveau le sous-fichier et indique l'erreur 
     grâce au SFLMSG et à la zone en inversion d'image.
 
     Si l'utilisateur corrige ou refait un erreur
     de prix PAS DE PROBLEME. Ayant modifié l'enregistrement
     le programme va le relire et donc le traiter.
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
     Vous venez donc de voir le programme. 
 
     Mais il reste un petit détail à régler. 
     Lorsqu'il y a une erreur, notre programme visualise 
     à nouveau le sous-fichier et indique l'erreur 
     grâce au SFLMSG et à la zone en inversion d'image.
 
     Si l'utilisateur corrige ou refait un erreur
     de prix PAS DE PROBLEME. Ayant modifié l'enregistrement
     le programme va le relire et donc le traiter.
 
     Mais s'il ne fait rien, le programme va sortir de la boucle
     sans signaler d'erreur.
 
     L'utilisateur pourrait alors croire sa modification effectuée,
     ce qui n'est pas le cas.
 
 
     COMMENT FAIRE ?
 


|    Changer de couleur
 
 
     Vous allez voir c'est tout simple. 
 
     Il faut forcer la lecture d'un enreg. qu'il soit 
     modifié ou non par l'utilisateur, à chaque enregistrement
     détecté en erreur. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
     Vous allez voir c'est tout simple. 
 
     Il faut forcer la lecture d'un enreg. qu'il soit 
     modifié ou non par l'utilisateur, à chaque enregistrement
     détecté en erreur. 
 
     Pour cela on utilise la fonction SFLNXTCHG au niveau 
     format d'ENREGISTREMENT du sous-fichier.
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
     Vous allez voir c'est tout simple. 
 
     Il faut forcer la lecture d'un enreg. qu'il soit 
     modifié ou non par l'utilisateur, à chaque enregistrement
     détecté en erreur. 
 
     Pour cela on utilise la fonction SFLNXTCHG au niveau 
     format d'ENREGISTREMENT du sous-fichier.
 
     Cette fonction si elle active pour un enregistrement,
     force sa lecture par READC. Généralement on conditionne 
     cette fonction, sinon elle serait active pour TOUS 
     les enregistrements. 
 
 
 
 
 
 
 


|    Changer de couleur
 
     Mise en oeuvre 
 
     Dans SFE nous allons définir la fonction SFLNXTCHG (NEXT CHANGE)
     conditionné par 60.Lorsqu'il y aura une erreur 
     je mettrais en fonction l'indicateur 60 et mettrais 
     à jour l'enregistrement du sous-fichier.
     
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##  60                                  SFLNXTCHG                  ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 


|    Changer de couleur
 
     Mise en oeuvre 
 
     Ce qui était déja fait par le programme pour DSPATR(RI PC)
 
     le programme sera donc identique.
 
 
     ##################################################################### 
     ##          R SFE                       SFL                        ## 
     ##  60                                  SFLNXTCHG                  ## 
     ##            NOART     R        O 13  7REFFLD(NOART ARTICL)       ## 
     ##            LIBEL     R        O 13 18REFFLD(LIBEL ARTICL)       ## 
     ##            QTE       R        O 13 34REFFLD(QTE ARTICL)         ## 
     ##            PU        R        B 13 46REFFLD(PU ARTICL)          ## 
     ##  60                                  DSPATR(RI PC)              ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##                                                                 ## 
     ##################################################################### 





©AF400