Verrouillage d'enregistrements

BoTTom |    Changer de couleur
 
   VERROUILLAGE D'ENREGISTREMENTS 
 
 
   Ce cours montre des exemples RPGIV, les principes sont bien entendu
    les mêmes pour les autres langages évolués.
 
 
   Un récaptilatif des ordres COBOL équivalents sera donné en fin de cours.
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
   VERROUILLAGE D'ENREGISTREMENTS 
 
  TOUT ENREGISTREMENT LU A DES FINS DE MISE A JOUR 
  EST VERROUILLE (SAUF option (N).)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
   VERROUILLAGE D'ENREGISTREMENTS 
 
  TOUT ENREGISTREMENT LU A DES FINS DE MISE A JOUR 
  EST VERROUILLE 
 
   ########################################################################## 
   ##                                                                      ## 
   ##  A LA LECTURE D'UN ENREGISTREMENT D'UN FICHIER UTILISE               ## 
   ##  EN MISE A JOUR (U en col 17) L'ENREGISTREMENT EST                   ## 
   ##  VERROUILLE PAR LE SYSTEME C'EST A DIRE QU'AUCUN AUTRE               ## 
   ##  JOB  OU PGM DU MEME JOB QUI UTILISE AUSSI CE FICHIER EN MISE A JOUR  ## 
   ##  NE POURRA LIRE CET ENREGISTREMENT.                                  ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ##                                                                      ## 
   ########################################################################## 
 


|    Changer de couleur
 
   VERROUILLAGE D'ENREGISTREMENTS 
 
  TOUT ENREGISTREMENT LU A DES FINS DE MISE A JOUR 
  EST VERROUILLE 
 
   ########################################################################## 
   ##                                                                      ## 
   ##  A LA LECTURE D'UN ENREGISTREMENT D'UN FICHIER UTILISE               ## 
   ##  EN MISE A JOUR (U en col 17) L'ENREGISTREMENT EST                   ## 
   ##  VERROUILLE PAR LE système C'EST A DIRE QU'AUCUN AUTRE               ## 
   ##  JOB  OU PGM DU MEME JOB QUI UTILISE AUSSI CE FICHIER EN MISE A JOUR  ## 
   ##  NE POURRA LIRE CET ENREGISTREMENT                                   ## 
   ##                                                                      ## 
   ##  CET ENREGISTREMENT SERA VERROUILLE JUSQU'A UNE PROCHAINE            ## 
   ##  OPERATION D'ENTREE/SORTIE SUR CE FICHIER                            ## 
   ##  PAR EX: UPDATE de l'enregistrement                                  ## 
   ##          lecture d'un enregistrement (==> verrouillage d'un autre)   ## 
   ##          UNLOCK du fichier                                           ## 
   ##                                                                      ## 
   ########################################################################## 
 


|    Changer de couleur
   ####################################################################### 
   ## PRENONS UN EXEMPLE : supposons un fichier ARTICL                  ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## PRENONS UN EXEMPLE : supposons un fichier ARTICL                  ## 
   ##                                                                   ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
                            ######################################### 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## le JOB1 utilise ce fichier en mise à jour U en col 15             ## 
   ##                                                                   ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
                            ######################################### 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## le JOB1 utilise ce fichier en mise à jour U en col 15             ## 
   ##                                                                   ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
                            ######################################### 
     ################################ 
     ## JOB 1                      ## 
     ## ARTICL   UF   E-----       ## 
     ## -------------------        ## 
     ## -------------------        ## 
     ##       READ ARTICL          ## 
     ##                            ## 
     ##                            ## 
     ##                            ## 
     ################################ 


|    Changer de couleur
   ####################################################################### 
   ## le JOB1 utilise ce fichier en mise à jour U en col 15             ## 
   ## que se passera t'il à la lecture d'un enregistrement ?            ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
                            ######################################### 
     ################################ 
     ## JOB 1                      ## 
     ## ARTICL   UF   E-----       ## 
     ## -------------------        ## 
     ## -------------------        ## 
     ##       READ ARTICL          ## 
     ##                            ## 
     ##                            ## 
     ##                            ## 
     ################################ 


|    Changer de couleur
   ####################################################################### 
   ## le JOB1 utilise ce fichier en mise à jour U en col 15             ## 
   ## que se passera t'il à la lecture d'un enregistrement ?            ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################ 
  !  ## JOB 1                      ## 
  !  ## ARTICL   UF   E-----       ## 
  !  ## -------------------        ## 
  !  ## -------------------        ## 
  ! --------  READ ARTICL          ## 
     ##                            ## 
     ##                            ## 
     ##                            ## 
     ################################ 


|    Changer de couleur
   ####################################################################### 
   ## verrouillage de l'enregistrement lu                               ## 
   ## ################################################################# ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################ 
  !  ## JOB 1                      ## 
  !  ## ARTICL   UF   E-----       ## 
  !  ## -------------------        ## 
  !  ## -------------------        ## 
  ! --------  READ ARTICL          ## 
     ##                            ## 
     ##                            ## 
     ##                            ## 
     ################################ 


|    Changer de couleur
   ####################################################################### 
   ## si un autre JOB supposons JOB2 utilise aussi le                   ## 
   ## fichier ARTICL en mise à jour                                     ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################ 
  !  ## JOB 1                      ## 
  !  ## ARTICL   UF   E-----       ## 
  !  ## -------------------        ## 
  !  ## -------------------        ## 
  ! --------  READ ARTICL          ## 
     ##                            ## 
     ##                            ## 
     ##                            ## 
     ################################ 


|    Changer de couleur
   ####################################################################### 
   ## si un autre JOB supposons JOB2 utilise aussi le                   ## 
   ## fichier ARTICL en mise à jour                                     ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################   ################################### 
  !  ## JOB 1                      ##   ## JOB 2                         ## 
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----          ## 
  !  ## -------------------        ##   ## -------------------           ## 
  !  ## -------------------        ##   ## -------------------           ## 
  ! --------  READ ARTICL          ##   ##       READ ARTICL             ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## que se passera t'il si ce JOB essaie de lire                      ## 
   ## le MEME enregistrement ?                                          ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################   ################################### 
  !  ## JOB 1                      ##   ## JOB 2                         ## 
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----          ## 
  !  ## -------------------        ##   ## -------------------           ## 
  !  ## -------------------        ##   ## -------------------           ## 
  ! --------  READ ARTICL          ##   ##       READ ARTICL             ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## que se passera t'il si ce JOB essaie de lire                      ## 
   ## le MEME enregistrement ?                                          ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ ARTICL          ##   ##       READ ARTICL   ------------!----
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## il ne pourra pas accéder à cet enregistrement,                    ## 
   ## l'enregistrement étant verrouillé par le JOB 1                    ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ ARTICL          ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ## Il attendra que l'enregistrement se déverrouille                  ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ## Il attendra que l'enregistrement se déverrouille                  ## 
   ##                                                                   ## 
   ## COMBIEN DE TEMPS ?                                                ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ## Il attendra que l'enregistrement se déverrouille                  ## 
   ##                                                                   ## 
   ## COMBIEN DE TEMPS ?                                                ## 
   ## Le temps indiqué dans le paramètre WAITRCD de la                  ## 
   ## commande de création du fichier  (par défaut 60 sec.)             ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ## Il attendra que l'enregistrement se déverrouille                  ## 
   ##                                                                   ## 
   ## COMBIEN DE TEMPS ?                                                ## 
   ## Le temps indiqué dans le paramètre WAITRCD de la                  ## 
   ## commande de création du fichier  (par défaut 60 sec.)             ## 
   ##                                                                   ## 
   ## si au bout de ce temps, l'enregistrement n'est                    ## 
   ## toujours pas déverrouillé un message sera envoyé                  ## 
   ## au programme ce qui provoquera le PLANTAGE du programme           ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## QUE FERA LE JOB 2 ?                                               ## 
   ## Il attendra que l'enregistrement se déverrouille                  ## 
   ##                                                                   ## 
   ## COMBIEN DE TEMPS ?                                                ## 
   ## Le temps indiqué dans le paramètre WAITRCD de la                  ## 
   ## commande de création du fichier  (par défaut 60 sec.)             ## 
   ##                                                                   ## 
   ## si au bout de ce temps, l'enregistrement n'est                    ## 
   ## toujours pas déverrouillé un message sera envoyé                  ## 
   ## au programme ce qui provoquera le PLANTAGE du programme           ## 
   ##                                                                   ## 
   ## si avant que ce temps ne s'écoule l'enregistrement                ## 
   ## est déverrouillé le JOB 2 lira cet enregistrement                 ## 
   ## et bien sûr le VERROUILLERA.                                      ## 
   ##                                                                   ## 
   ####################################################################### 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## revenons à notre situation antérieure, JOB1 a lu                  ## 
   ## un enregistrement qu'il a verrouillé JOB2 attend                  ## 
   ####################################################################### 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## revenons à notre situation antérieure, JOB1 a lu                  ## 
   ## un enregistrement qu'il a verrouillé JOB2 attend                  ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ ARTICL          ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## Le temps s'écoule l'enregistrement n'est toujours                 ## 
   ## pas déverrouillé                                                  ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:01   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ ARTICL          ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## Le temps maximum d'attente est atteint                            ## 
   ## un message est envoyé au programme de JOB 2                       ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:60   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ ARTICL          ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## Le temps maximum d'attente est atteint                            ## 
   ## un message est envoyé au programme de JOB 2                       ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:60   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## 
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ## 
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ## 
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ## 
  !                         ######################################### 
  !  ################################   ################################### 
  !  ## JOB 1                      ##   ## JOB 2                         ## 
  !  ## ARTICL   UF   E-----       ##   ## IMPOSSIBLE ALLOUER            ## 
  !  ## -------------------        ##   ## ENREGISTREMENT                ## 
  !  ## -------------------        ##   ##                               ## 
  ! --------  READ ARTICL          ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## Regardons le cas ou l'enregistrement est déverrouillé             ## 
   ## avant la fin du temps d'attente                                   ## 
   ####################################################################### 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
   ####################################################################### 
   ## Regardons le cas ou l'enregistrement est déverrouillé             ## 
   ## avant la fin du temps d'attente                                   ## 
   ####################################################################### 
                            ##  FICHIER ARTICL                     ## 
                            ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
                            ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## Le temps s'écoule                                                 ## 
   ## ################################################################# ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:01   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  ! --------  READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## JOB1 déverrouille l'enregistrement en le mettant                  ## 
   ## à jour                                                            ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:10   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
  --------------------------->  ! 010 ! CLOU  ! 100  ! 1,00 !      ## I<--------
  !                         ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
  !                         ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
  !                         ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
  !                         #########################################      !   !
  !  ################################                                      !   !
  !  ## JOB 1                      ##   ## JOB 2                           !   !
  !  ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ## -------------------        ##   ## -------------------             !   !
  !  ##       READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ## -----------------          ##   ##                               ## 
     ##       UPDATE ARTICL        ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## JOB1 déverrouille l'enregistrement en le mettant                  ## 
   ## à jour                                                            ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:10   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,50 !      ## I<--------
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
                            #########################################      !   !
     ################################                                      !   !
     ## JOB 1                      ##   ## JOB 2                           !   !
     ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
     ## -------------------        ##   ## -------------------             !   !
     ## -------------------        ##   ## -------------------             !   !
     ##       READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ## -----------------          ##   ##                               ## 
     ##       UPDATE ARTICL        ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## JOB 2 va pouvoir lire l'enregistrement et le verrouiller          ## 
   ## ################################################################# ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:10   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,50 !      ## I<--------
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
                            #########################################      !   !
     ################################                                      !   !
     ## JOB 1                      ##   ## JOB 2                           !   !
     ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
     ## -------------------        ##   ## -------------------             !   !
     ## -------------------        ##   ## -------------------             !   !
     ##       READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ## -----------------          ##   ##                               ## 
     ##       UPDATE ARTICL        ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
   ####################################################################### 
   ## JOB 2 va pouvoir lire l'enregistrement et le verrouiller          ## 
   ## ################################################################# ## 
   ####################################################################### 
     ################       ##  FICHIER ARTICL                     ## 
     ## 00:00:10   ##       ##  !NOART!LIBELLE! QTE  !  PU  !      ## 
     ################       ##  -----------------------------      ## 
                            ##  ! 010 ! CLOU  ! 100  ! 1,50 !      <------------
                            ##  ! 020 ! VIS   ! 150  ! 2,00 !      ##      !   !
                            ##  ! 030 ! ECROU ! 050  ! 1,50 !      ##      !   !
                            ##  ! 040 ! TIGE  ! 175  ! 1;25 !      ##      !   !
                            #########################################      !   !
     ################################                                      !   !
     ## JOB 1                      ##   ## JOB 2                           !   !
     ## ARTICL   UF   E-----       ##   ## ARTICL   UF   E-----            !   !
     ## -------------------        ##   ## -------------------             !   !
     ## -------------------        ##   ## -------------------             !   !
     ##       READ   ARTICL        ##   ##       READ ARTICL   -----------------
     ## -----------------          ##   ##                               ## 
     ##       UPDATE ARTICL        ##   ##                               ## 
     ##                            ##   ##                               ## 
     ################################   ################################### 


|    Changer de couleur
 
   ####################################################################### 
   ## CE VERROUILLAGE NOUS POSE T'IL DES PROBLEMES ?                    ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 


|    Changer de couleur
 
   ####################################################################### 
   ## CE VERROUILLAGE NOUS POSE T'IL DES PROBLEMES ?                    ## 
   ##                                                                   ## 
   ## Si le programme se plante OUI                                     ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 


|    Changer de couleur
 
   ####################################################################### 
   ## CE VERROUILLAGE NOUS POSE T'IL DES PROBLEMES ?                    ## 
   ##                                                                   ## 
   ## Si le programme se plante OUI                                     ## 
   ##                                                                   ## 
   ## UN ENREGISTREMENT PEUT-IL ETRE VERROUILLE PLUS DE 60 SECONDES ?   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 


|    Changer de couleur
 
   ####################################################################### 
   ## CE VERROUILLAGE NOUS POSE T'IL DES PROBLEMES ?                    ## 
   ##                                                                   ## 
   ## Si le programme se plante OUI                                     ## 
   ##                                                                   ## 
   ## UN ENREGISTREMENT PEUT-IL ETRE VERROUILLE PLUS DE 60 SECONDES ?   ## 
   ##                                                                   ## 
   ## Dans un programme BATCH   NON                                     ## 
   ## Le temps qui s'écoule entre la lecture de                         ## 
   ## l'enregistrement et la mise à jour est souvent très               ## 
   ## court ==> il le verrouille très peu de temps.                     ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ##                                                                   ## 
   ####################################################################### 
 
 


|    Changer de couleur
 
   ####################################################################### 
   ## CE VERROUILLAGE NOUS POSE T'IL DES PROBLEMES ?                    ## 
   ##                                                                   ## 
   ## Si le programme se plante OUI                                     ## 
   ##                                                                   ## 
   ## UN ENREGISTREMENT PEUT-IL ETRE VERROUILLE PLUS DE 60 SECONDES ?   ## 
   ##                                                                   ## 
   ## Dans un programme BATCH   NON                                     ## 
   ## Le temps qui s'écoule entre la lecture de                         ## 
   ## l'enregistrement et la mise à jour est souvent très               ## 
   ## court ==> il le verrouille très peu de temps.                     ## 
   ##                                                                   ## 
   ## Dans un programme INTERACTIF    OUI                               ## 
   ##                                                                   ## 
   ## Le temps qui s'écoule entre la lecture de                         ## 
   ## l'enregistrement et la mise à jour peut être très                 ## 
   ## long  ==> il le verrouille longtemps                              ## 
   ##                                                                   ## 
   ####################################################################### 
 
 


|    Changer de couleur
 ####################################################################### 
 ## PRENONS UN EXEMPLE D'UN PROGRAMME DE MISE A JOUR                  ## 
 ## DU FICHIER ARTICL.                                                ## 
 ##                                                                   ## 
 ####################################################################### 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
 ####################################################################### 
 ## PRENONS UN EXEMPLE D'UN PROGRAMME DE MISE A JOUR                  ## 
 ## DU FICHIER ARTICL.                                                ## 
 ##                                                                   ## 
 ####################################################################### 
 ## ARTICL  UF   E  K  DISK        ## 
 ## ECRAN   CF   E     WORKSTN     ## 
 ##         WRITE  ENTETE          ## 
 ##         EXFMT  INTERRO         ## 
 ##         DOW    NOT *IN03       ## 
 ##         EXSR   TRAIT           ## 
 ##         ENDDO                  ## 
 ##         MOVE   *ON      *INLR  ## 
 ##  TRAIT  BEGSR                  ## 
 ##         IF     not *IN07       ## 
 ##         EXSR   MODIF           ## 
 ##         ELSE                   ## 
 ##         EXSR   VISU            ## 
 ##         ENDIF                  ## 
 ##         EXFMT  INTERRO         ## 
 ##         ENDSR                  ## 
 #################################### 


|    Changer de couleur
 ####################################################################### 
 ## PRENONS UN EXEMPLE D'UN PROGRAMME DE MISE A JOUR                  ## 
 ## DU FICHIER ARTICL.                                                ## 
 ##                                                                   ## 
 ####################################################################### 
 ##  MODIF  BEGSR                  ## 
 ##  NOART  CHAIN  ARTICL       10 ## 
 ##         IF       not *IN10     ## 
 ##         EXFMT    INFO          ## 
 ##         UPDATE   ARTICLF1      ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 ##  VISU   BEGSR                  ## 
 ##  NOART  CHAIN(N) ARTICL     10 ## 
 ##         IF   not *IN10         ##   verrouillage de l'enregistrement
 ##         eval     *in20 = *on<- ##   (sous-pgm de consultation)
 ##         EXFMTINFO            ! ##  Ce faisant il interdit aussi sa
 ##         eval     *in20 = *off! ##   mise à jour ultérieure.
 ##         ENDIF                ! ## 
 ##         ENDSR                ------(zones protégées sur le DSPF)
 ##                                ## 
 #################################### 


|    Changer de couleur
 ####################################################################### 
 ## COMME VOUS LE VOYEZ CE PROGRAMME EST TRES SIMPLE                  ## 
 ##   IL NE PREVOIT AUCUN CONTROLE, C'EST UN EXEMPLE.                 ## 
 ## ################################################################# ## 
 ####################################################################### 
 ##  MODIF  BEGSR                  ## 
 ##  NOART  CHAIN  ARTICL       10 ## 
 ##         IF       not *IN10     ## 
 ##         EXFMT    INFO          ## 
 ##         UPDATE   ARTICLF1      ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 ##  VISU   BEGSR                  ## 
 ##  NOART  CHAIN(N) ARTICL     10 ## 
 ##         IF   not *IN10         ## 
 ##         eval     *in20 = *on   ## 
 ##         EXFMTINFO              ## 
 ##         eval     *in20 = *off  ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 ##                                ## 
 #################################### 


|    Changer de couleur
 ####################################################################### 
 ## DEROULONS CE PROGRAMME ET REGARDONS CE QUI SE PASSE               ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################################################### 
 ##  MODIF  BEGSR                  ## 
 ##  NOART  CHAIN  ARTICL      10  ## 
 ##         IF       not *IN10     ## 
 ##         EXFMT    INFO          ## 
 ##         UPDATE   ARTICLF1      ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 ##  VISU   BEGSR                  ## 
 ##  NOART  CHAIN(N) ARTICLF1  10  ## 
 ##         IF   not *IN10         ## 
 ##         eval     *in20 = *on   ## 
 ##         EXFMTINFO              ## 
 ##         eval     *in20 = *off  ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 ##                                ## 
 #################################### 


|    Changer de couleur
 ####################################################################### 
 ## DEROULONS CE PROGRAMME ET REGARDONS CE QUI SE PASSE               ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 
 ## ARTICL  UF   E  K  DISK        ##  ##  L'ECRAN                        ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##                                 ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##                                 ## 
 ##         ENDDO                  ##  ##                                 ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 1ère instruction WRITEENTETE                                      ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##  L'ECRAN                        ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##                                 ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##                                 ## 
 ##         ENDDO                  ##  ##                                 ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 1ère instruction WRITE  ENTETE                                    ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##                                 ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##                                 ## 
 ##         ENDDO                  ##  ##                                 ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 2ème instruction EXFMT  INTERRO                                   ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##                                 ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##                                 ## 
 ##         ENDDO                  ##  ##                                 ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 2ème instruction EXFMT  INTERRO                                   ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   ___             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## L'instruction EXFMT entraîne l'écriture puis la lecture du        ## 
 ## format. La lecture arrête le programme jusqu'à ce que             ## 
 ## l'utilisateur appuie sur ENTREE ou une touche de commande         ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   ___             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## L'opérateur rentre le numéro 020 et appuie sur F7                 ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     n0t *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 3ème instruction DOW NOT *IN03                                    ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## *IN03 EST OFF ===> on rentre dans la boucle                       ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MOD F           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## 4ème instruction EXSR TRAIT                                       ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## On se déplace au sous-programme TRAIT                             ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  instruction suivante  IF NOT *in07                               ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  instruction suivante  IF NOT *in07                               ## 
 ##  07 est ON (dans le fichier écran on a CF07(07).)                 ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## Instruction suivante EXSR MODIF                                   ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ## ARTICL  UF   E  K  DISK        ##  ##         MISE A JOUR ARTICL      ## 
 ## ECRAN   CF   E     WORKSTN     ##  ##                                 ## 
 ##         WRITE  ENTETE          ##  ##                                 ## 
 ##         EXFMT  INTERRO         ##  ##    N° ARTICLE   020             ## 
 ##         DOW    NOT *IN03       ##  ##                                 ## 
 ##         EXSR   TRAIT           ##  ##  F7 =  modification             ## 
 ##         ENDDO                  ##  ##  F3 =  fin de travail           ## 
 ##         MOVE   *ON      *INLR  ##  ##################################### 
 ##  TRAIT  BEGSR                  ##  ##################################### 
 ##         IF     not *IN07       ##  ##  FICHIER ARTICL                 ## 
 ##         EXSR   MODIF           ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         ELSE                   ##  ##  -----------------------------  ## 
 ##         EXSR   VISU            ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         EXFMT  INTERRO         ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##         ENDSR                  ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ## On se déplace au sous-programme MODIF                             ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##                                 ## 
 ##         ENDIF                  ##  ##  F7 =  modification             ## 
 ##         ENDSR                  ##  ##  F3 =  fin de travail           ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  instruction suivante NOART  CHAIN  ARTICL      10                ## 
 ## ################################################################# ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##                                 ## 
 ##         ENDIF                  ##  ##  F7 =  modification             ## 
 ##         ENDSR                  ##  ##  F3 =  fin de travail           ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  Recherche de l'enregistrement ayant comme clé 020.               ## 
 ##  Il trouve cet enregistrement, le lit le verrouille               ## 
 ##  et met hors fonction l'indicateur 10                             ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##                                 ## 
 ##         ENDIF                  ##  ##  F7 =  modification             ## 
 ##         ENDSR                  ##  ##  F3 =  fin de travail           ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  L'enregistrement est verrouillé.                                 ## 
 ##  Instruction suivante IF not *IN10                                ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##                                 ## 
 ##         ENDIF                  ##  ##  F7 =  modification             ## 
 ##         ENDSR                  ##  ##  F3 =  fin de travail           ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  L'enregistrement est verrouillé.                                 ## 
 ##  10 est OFF instruction suivante EXFMT INFO                       ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##                                 ## 
 ##         ENDIF                  ##  ##  F7 =  modification             ## 
 ##         ENDSR                  ##  ##  F3 =  fin de travail           ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  L'enregistrement est verrouillé.                                 ## 
 ##  10 est OFF instruction suivante EXFMT INFO                       ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##    LIBELLE      VIS             ## 
 ##         ENDIF                  ##  ##    QUANTITE     150             ## 
 ##         ENDSR                  ##  ##    PRIX        2,00             ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  L'enregistrement est toujours verrouillé                         ## 
 ##  et risque de l'être encore longtemps POURQUOI ?                  ## 
 ## ################################################################# ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##    LIBELLE      VIS             ## 
 ##         ENDIF                  ##  ##    QUANTITE     150             ## 
 ##         ENDSR                  ##  ##    PRIX        2,00             ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  Jusqu'à présent l'enregistrement etait verrouillé,               ## 
 ##  mais seulement des instructions du programme                     ## 
 ##  se déroulaient, ce qui était très rapide                         ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##    LIBELLE      VIS             ## 
 ##         ENDIF                  ##  ##    QUANTITE     150             ## 
 ##         ENDSR                  ##  ##    PRIX        2,00             ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  Maintenant le programme recommencera quand                       ## 
 ##  l'utilisateur aura terminé ses modifs et appuyé                  ## 
 ##  sur ENTREE. Ce qui peut être TRES LONG !                         ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##    LIBELLE      VIS             ## 
 ##         ENDIF                  ##  ##    QUANTITE     150             ## 
 ##         ENDSR                  ##  ##    PRIX        2,00             ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
 ####################################################################### 
 ##  Si un autre utilisateur avait demandé la lecture de ce même      ## 
 ##  enregistrement (fichier ARTICL U en col 15), son programme       ## 
 ##  se serait PLANTE au bout de 60 secondes.                         ## 
 ####################################  ##################################### 
 ##  MODIF  BEGSR                  ##  ##         MISE A JOUR ARTICL      ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##                                 ## 
 ##         IF       not *IN10     ##  ##                                 ## 
 ##         EXFMT    INFO          ##  ##    N° ARTICLE   020             ## 
 ##         UPDATE   ARTI LF1      ##  ##    LIBELLE      VIS             ## 
 ##         ENDIF                  ##  ##    QUANTITE     150             ## 
 ##         ENDSR                  ##  ##    PRIX        2,00             ## 
 ##  VISU   BEGSR                  ##  ##################################### 
 ##  NOART  CHAIN(N) ARTICLF1  10  ##  ##################################### 
 ##         IF   not *IN10         ##  ##  FICHIER ARTICL                 ## 
 ##         eval     *in20 = *on   ##  ##  !NOART!LIBELLE! QTE  !  PU  !  ## 
 ##         EXFMTINFO              ##  ##  -----------------------------  ## 
 ##         eval     *in20 = *off  ##  ##  ! 010 ! CLOU  ! 100  ! 1,00 !  ## 
 ##         ENDIF                  ##  ##  ! 020 ! VIS   ! 150  ! 2,00 !  ## 
 ##         ENDSR                  ##  ##  ! 030 ! ECROU ! 050  ! 1,50 !  ## 
 ##                                ##  ##  ! 040 ! TIGE  ! 175  ! 1;25 !  ## 
 ####################################  ##################################### 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 NOUS NE POUVONS EMPECHER LE VERROUILLAGE DE 
 L'ENREGISTREMENT PAR LE SYSTEME (ce que nous 
 appellerons désormais VERROUILLAGE PHYSIQUE). 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 NOUS NE POUVONS EMPECHER LE VERROUILLAGE DE 
 L'ENREGISTREMENT PAR LE SYSTEME (ce que nous 
 appellerons désormais VERROUILLAGE PHYSIQUE). 
 
 CE VERROUILLAGE EST NECESSAIRE CAR IL EMPECHE 
 QUE 2 UTILISATEURS METTENT A JOUR A UN MEME 
 MOMENT LE MEME ENREGISTREMENT. 
 
 Le dernier appuyant sur la touche ENTREE  annulerait 
 la modif demandée par le premier. 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 NOUS NE POUVONS EMPECHER LE VERROUILLAGE DE 
 L'ENREGISTREMENT PAR LE SYSTEME (ce que nous 
 appellerons désormais VERROUILLAGE PHYSIQUE). 
 
 CE VERROUILLAGE EST NECESSAIRE CAR IL EMPECHE 
 QUE 2 UTILISATEURS METTENT A JOUR A UN MEME 
 MOMENT LE MEME ENREGISTREMENT. 
 
 NOUS ALLONS ETUDIER MAINTENANT COMMENT EMPECHER LE 
 PLANTAGE DU PROGRAMME. 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 NOUS NE POUVONS EMPECHER LE VERROUILLAGE DE 
 L'ENREGISTREMENT PAR LE SYSTEME (ce que nous 
 appellerons désormais VERROUILLAGE PHYSIQUE). 
 
 CE VERROUILLAGE EST NECESSAIRE CAR IL EMPECHE 
 QUE 2 UTILISATEURS METTENT A JOUR A UN MEME 
 MOMENT LE MEME ENREGISTREMENT. 
 
 NOUS ALLONS ETUDIER MAINTENANT COMMENT EMPECHER LE 
 PLANTAGE DU PROGRAMME. 
 
 Il existe 3 méthodes pour éviter ce plantage. 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
  1ere Méthode 
 
 Libération immédiate de l'enregistrement après son 
 acquisition. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
  1ere Méthode 
 
 Libération immédiate de l'enregistrement après son 
 acquisition (ou non-verrouillage).
 
 Cette méthode est à déconseiller, bien qu'elle évite 
 le plantage: elle n'empêche pas la mise à jour 
 par plusieurs utilisateurs à un même moment d'un 
 même enregistrement (voir problème évoqué plus haut).
 Exemple d'utilisation :
 FARTICL  UF  E           K        DISK 
 C           ------    ----------------- 
 C           NOART     CHAIN(N) ARTICL          N90 
 C           ------    -----------------
 C           NOART-    CHAIN    ARTICF--         90
 C                     IF       not *IN90
 C                     UNLOCK   ARTICL
 C           ------    ----------------- 
 C           ------    ----------------- 
 C                     ENDIF


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
  2eme Méthode 
 
 Tester l'indicateur d'erreur sur l'ordre de lecture
  (PENSER A REDUIRE LE TEMPS D'ATTENTE DU PARAMETRE WAITRCD)
 
 Exemple d'utilisation :
 FARTICL  UF  E           K        DISK 
 C           ------    ----------------- 
 C           NOART     CHAIN    ARTICL               9091
 C                     IF       not *IN90
 C* record existe
 C                     IF       *IN91
 C* enregistrement verrouillé (penser à DSPRCDLCK)
 C           ------    ----------------- 
 C           ------    ----------------- 
 C                     ENDIF
 C                     ENDIF
 C           ------    ----------------- 
 C           ------    ----------------- 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
  3eme Méthode 
 
 Libération après indication de mise à jour de 
 l'enregistrement. 
 
 Cette méthode est utilisée car elle a l'avantage d'empécher
 le plantage des programmes (batchs et interactifs)
 et aussi d'empêcher que plusieurs utilisateurs
 mettent à jour l'enregistrement à un même moment.
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
  3eme Méthode 
 
 Libération après indication de mise à jour de 
 l'enregistrement. 
 
 Cette méthode est utilisée car elle a l'avantage d'empécher
 le plantage des programmes (batchs et interactifs)
 et aussi d'empêcher que plusieurs utilisateurs
 mettent à jour l'enregistrement à un même moment.
 
 
 Principe. 
 
 Tout d'abord dans l'enregistrement du fichier à 
 modifier il aura fallu prévoir une zone indiquant 
 si l'enregistrement est en cours de mise à jour. 
  Imaginons CODVER   1 A. (ou 10 A pour stocker le nom de l'écran)
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 si OUI 
 Nous considèrerons que l'enregistrement n'est 
 pas en cours de mise à jour par un autre JOB, 
 ===> nous mettrons un caractère dans cette zone (par 
 exemple V pour verrouillé), puis nous mettrons à jour 
 cet enregistrement pour le libérer physiquement. 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 si OUI 
 Nous considèrerons que l'enregistrement n'est 
 pas en cours de mise à jour par un autre JOB, 
 ===> nous mettrons un caractère dans cette zone (par 
 exemple V pour verrouillé), puis nous mettrons à jour 
 cet enregistrement pour le libérer physiquement. 
 
 Le V dans CODVER signifiera que l'enregistrement est 
 en cours de mise à jour ===> tous les programmes 
 interactifs modifiant ce fichier doivent utiliser 
 ce principe. 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 si OUI 
 Nous considèrerons que l'enregistrement n'est 
 pas en cours de mise à jour par un autre JOB, 
 ===> nous mettrons un caractère dans cette zone (par 
 exemple V pour verrouillé), puis nous mettrons à jour 
 cet enregistrement pour le libérer physiquement. 
 
 Le V dans CODVER signifiera que l'enregistrement est 
 en cours de mise à jour ===> tous les programmes 
 interactifs modifiant ce fichier doivent utiliser 
 ce principe. 
 
 Puis notre programme devra continuer le traitement 
 pour effectuer la mise à jour de cet enregistrement.
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 si NON 
 Nous considèrerons que l'enregistrement est 
 en cours de mise à jour par un autre JOB, 
 ===> nous mettrons à jour cet enregistrement pour 
 le libérer physiquement. 
 
 
 
 
 
 
 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 Principe. 
 
 Lorsque nous lirons un enregistrement de ce fichier 
 nous testerons si la zone CODVER est égale à *blank 
 si NON 
 Nous considèrerons que l'enregistrement est 
 en cours de mise à jour par un autre JOB, 
 ===> nous mettrons à jour cet enregistrement pour 
 le libérer physiquement. 
 
 Puis le programme devra afficher le format interro 
 en signalant que l'enregistrement est en cours de 
 mise à jour par un autre JOB. 
 
 Regardons l'exécution d'un programme qui utilise 
 ce principe. 
 
 
 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 
 #################################### 
 ## ARTICL  UF   E  K  DISK        ##       Partie
 ## ECRAN   CF   E     WORKSTN     ##        identique.
 ##         WRITE  ENTETE          ## 
 ##         EXFMT  INTERRO         ## 
 ##         DOW    NOT *IN03       ## 
 ##         EXSR   TRAIT           ## 
 ##         ENDDO                  ## 
 ##         MOVE   *ON      *INLR  ## 
 ##  TRAIT  BEGSR                  ## 
 ##         IF     not *IN07       ## 
 ##         EXSR   MODIF           ## 
 ##         ELSE                   ## 
 ##         EXSR   VISU            ## 
 ##         END F                  ## 
 ##         EXFMT  INTERRO         ## 
 ##         ENDSR                  ## 
 #################################### 
 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
  Sous-programmes modifiés.
 ####################################  #################################### 
 ##  MODIF  BEGSR                  ##  ##  VISU   BEGSR ################ ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##  NOART  CHAIN(N) ARTICL    10  ## 
 ##         IF     not *in10       ##  ##         IF       not *IN10     ## 
 ##         IF     codver = ' '    ##  ##         UNLOCK   ARTICL        ## 
 ##         EVAL   CODEVR = 'V'    ##  ##         EVAL     *in20 = *on   ## 
 ##         UNLOCK ARTICL          ##  ##         EXFMT    INFO          ## 
 ##         EXFMT  INFO            ##  ##         EVAL     *in20 = *off  ## 
 ##  NOART  CHAIN  ARTICL      10  ##  ##         END                    ## 
 ##         READ   INFO            ##  ##         ENDSR                  ## 
 ##         EVAL   CODVER = ' '    ##  ##                                ## 
 ##         UPDAT  ARTICLF1        ##  ##                                ## 
 ##         ELSE                   ##  ##                                ## 
 ##         UNLOCK ARTICL          ##  ##                                ## 
 ##         EVAL   *IN11 = *ON     ##  ##                                ## 
 ##         ENDIF                  ##  ##                                ## 
 ##         ENDIF                  ##  ##                                ## 
 ##         ENDSR                  ##  ##                                ## 
 ####################################  #################################### 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 
 #################################### 
 ##  MODIF  BEGSR                  ##       Attardons-nous sur la partie
 ##  NOART  CHAIN  ARTICL      10  ##        mise à jour.
 ##         IF     not *in10       ## 
 ##         IF     codver = ' ' <------Si l'enregistrement lu est disponible
 ##         EVAL   CODEVR = 'V'    ##   alors réservation (verrou logique).
 ##         UNLOCK ARTICL          ## 
 ##         EXFMT  INFO            ## 
 ##  NOART  CHAIN  ARTICL      10  ## 
 ##         READ   INFO            ## 
 ##         EVAL   CODVER = ' '    ## 
 ##         UPDAT  ARTICL 1        ## 
 ##         ELSE                   ## 
 ##         UNLOCK ARTICL          ## 
 ##         EVAL   *IN11 = *ON     ## 
 ##         ENDIF                  ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 #################################### 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 
 #################################### 
 ##  MODIF  BEGSR                  ##       Attardons-nous sur la partie
 ##  NOART  CHAIN  ARTICL      10  ##        mise à jour.
 ##         IF     not *in10       ## 
 ##         IF     codver = ' '    ## 
 ##         EVAL   CODEVR = 'V'    ## 
 ##         UNLOCK ARTICL          ## 
 ##         EXFMT  INFO            ## 
 ##  NOART  CHAIN  ARTICL      10  ## 
 ##         READ   INFO            ## 
 ##         EVAL   CODVER = ' '    ## 
 ##         UPDAT  ARTICL 1        ## 
 ##         ELSE                   ## 
 ##         UNLOCK ARTICL      <-------Sinon déverrouillage physique et
 ##         EVAL   *IN11 = *ON     ##   message d'erreur à l'écran (*IN11)
 ##         ENDIF                  ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 #################################### 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 
 #################################### 
 ##  MODIF  BEGSR                  ##       Attardons-nous sur la partie
 ##  NOART  CHAIN  ARTICL      10  ##        mise à jour.
 ##         IF     not *in10       ## 
 ##         IF     codver = ' '    ## 
 ##         EVAL   CODEVR = 'V'    ## 
 ##         UNLOCK ARTICL          ## 
 ##         EXFMT  INFO            ## 
 ##  NOART  CHAIN  ARTICL      10  ## 
 ##         READ   INFO   <------------La partie intéressante se trouve ici!
 ##         EVAL   CODVER = ' '    ##   Nous sommes en effet obligés de
 ##         UPDAT  ARTICL 1        ##   relire le fichier ARTICL pour avoir
 ##         ELSE                   ##   le droit de le mettre à jour.
 ##         UNLOCK ARTICL          ##   (il y a abandon de la réservation
 ##         EVAL   *IN11 = *ON     ##     système par UNLOCK).
 ##         ENDIF                  ## 
 ##         ENDIF                  ## 
 ##         ENDSR                  ## 
 #################################### 


|    Changer de couleur
                          VERROUILLAGE 2eme PARTIE 
 
 
 #################################### 
 ##  MODIF  BEGSR                  ##       Attardons-nous sur la partie
 ##  NOART  CHAIN  ARTICL      10  ##        mise à jour.
 ##         IF     not *in10       ## 
 ##         IF     codver = ' '    ## 
 ##         EVAL   CODEVR = 'V'    ## 
 ##         UNLOCK ARTICL          ## 
 ##         EXFMT  INFO            ## 
 ##  NOART  CHAIN  ARTICL      10  ## 
 ##         READ   INFO   <------------La partie intéressante se trouve ici!
 ##         EVAL   CODVER = ' '    ##   En relisant le fichier nous perdons
 ##         UPDAT  ARTICL 1        ##   la saisie utilisateur (à supposer
 ##         ELSE                   ##   que les variables aient le même nom,
 ##         UNLOCK ARTICL          ##   ce qui est souvent le cas en RPG)
 ##         EVAL   *IN11 = *ON     ##   ==> Il faut relire le DSPF
 ##         ENDIF                  ##   SI LE FORMAT DE CELUI-CI POSSEDE
 ##         ENDIF                  ##   LE MOT-CLE  RTNDTA, UNE 2EME LECTURE 
 ##         ENDSR                  ##   RELIT UNIQUEMENT LE BUFFER !!
 ####################################    (sans intervention utilisateur)


|    Changer de couleur
             Voici en résumé les correspondances RPG / COBOL-400. 
 
 
 ---------------------------------------------------------------------------
         R P G                       !   C O B O L 
                                     !
                                     !
  U en specif F                      !  OPEN I-O
                                     !
  option (N)  (lecture sans verrou.) !  READ ....  WITH NO LOCK
                                     !
  indic en col 56-57                 !  FILE STATUS = '9D'
        (enreg. verrouillé)          !
                                     !
  UNLOCK (ou mise à jour "bidon")    !  -sans équivalent-
                                     !
                                     !   Utiliser REWRITE.
                                     !
 ---------------------------------------------------------------------------
 
 
 





©AF400