Optimisation des fichiers écrans

BoTTom |    Changer de couleur
 
         O P T I M I S A T I O N   F I C H I E R S   E C R A N S  
 
 1/ partage de fichier à l'ouverture.
 
    Plusieurs pgm peuvent utiliser un même fichier écran.
 
    En standard chaque pgm travaille avec son ouverture de fichier
                                          (son espace de travail
                                           sa propre vue des sous-fichiers
                                           etc ...)
 
 
    AVEC le paramètre SHARE(*YES) (cdes CRTDSPF, CHGDSPF, OVRDSPF)
     des pgm d'un même job peuvent utiliser la meme ouverture.
 
 
 
 
 
 
 


|    Changer de couleur
Exemples:
 a/ PGM1 appel PGM2
               PGM2 remplit un sous-fichier puis retour
    PGM1 l'affiche
         appel PGM3
               PGM3 lit les enregistrements modifiés pour traitement
     retour PGM1
 
 b/ PGM1 affiche un format
         appel de PGM2 qui lit le même format (sans affichage de sa part)
 
 c/ PGM1 affiche et lit un format avec le mot-clé RTNDTA
         appel PGM2 qui lit le même format
               (PGM2 reçoit les données du format sans intervention clavier,
                relecture des tables système ==> passage de paramètres)
 
 d/ PGM1 (pgm CLP) affiche et lit un format avec RTNDTA
         appel PGM2 qui lit le même format
               (PGM2 (RPG par ex.) reçoit les données et l'IO-FEEDBACK-AREA,
                pouvant  ainsi récuperer la position curseur etc...)
 
 


|    Changer de couleur
 
 
 2/ partage de format.
 
    Soit DSPF1 contenant FMTA FMTB FMTC
         DSPF2 contenant FMTB FMTD FMTE FMTF
 
    CL01 appel PGM1 (DSPF1)
 
     PGM1 affiche FMTB puis se termine (fermeture DSPF1)
 
    CL01 appel alors PGM2 (DSPF2)
 
     PGM2 voulant lire FMTB
 
    En standard quand PGM1 ferme DSPF1 FMTB disparait
                      PGM2 ouvre DSPF2 l'écran est mis à blanc
 
                       il ne peut donc pas lire FMTB sans l'afficher
                        au préalable.
 
 


|    Changer de couleur
 
    SI pour le format FMTB de DSPF1 on utilise le mot-clé KEEP 
     celui ci ne disparait pas à la fermeture du fichier.
 
    SI pour le format FMTB de DSPF2 on utilise le mot-clé ASSUME 
     l'écran n'est pas mis à blanc à l'ouverture
 
     PGM2 peut alors commencer par lire FMTB resté à l'écran sans avoir
      à l'afficher.
 
    Il est possible de prevoir l'appel de PGM2 ne suivant pas l'appel
     de PGM1 avec le mot-clé INZRCD. 
 
    SI quand PGM2 lit FMTB celui si ne se trouve pas à l'écran,il est
     initialisé (constantes affichées, zones de saisies initialisées
     à blanc ou zéro suivant leur type).
 
    Ceci est un bon moyen de faire des fenetres,l'écran n'étant pas mis
     à blanc à l'ouverture.
 
 
 


|    Changer de couleur
 
 
 3/ transmission minimale de données
 
    a/ affichage d'un format puis lectures successives,(sans affichage)
 
       GETRETAIN , UNLOCK 
 
       + UNLOCK clavier non verrouillé apres la touche entrée
                (recouvrement des temps de saisie)
 
       + GETRETAIN données en input non réinitialisées.
 
         - UNLOCK(*ERASE) zones renseignables mises à blanc
 
         - UNLOCK(*MDTOFF) ou UNLOCK + GETRETAIN
                          zones renseignables non effacées,MDT restaurés
 
         - UNLOCK(*MDTOFF *ERASE)
                          zones aynt le MDT ON effacées, MDT restaurés
 
 


|    Changer de couleur
 
 
 3/ transmission minimale de données
 
    b/ affichages successifs d'un même format
 
       PUTRETAIN ou PUTOVR + OVRATR , OVRDTA. 
 
       Soit un format affiché plusieurs fois.
 
       au premier affichage la totalité du format est envoyée à l'écran
        (constantes et variables)
 
       au deuxieme affichage(format toujours PRESENT à l'écran)
 
         - sans PUTOVR la totalité du format est renvoyée
 
         - avec PUTOVR + OVRDTA (niveau format)
 
           seules les variables sont renvoyées à l'écran
 
 


|    Changer de couleur
 
   Soit le format de saisie suivant
        ***********************************************************
        *  AF4   Saisie des commandes fournisseur le : JJ/MM/AA   *
        *                                                         *
        *                                                         *
        *  Code frn : _______   ou nom gen* ____________________  *
        *                          adresse  oooooooooooooooooooo  *
        *  Date de commande    __ / __ / ____                     *
        *                                                         *
        *  Date de livraison   __ / __ / ____                     *
        *                                                         *
        *  Mode de livraison  __                                  *
        *                                                         *
        *  Mode de paiement   __                                  *
        *                                                         *
        *  F3 = Exit                                              *
        *                                                         *
        ************************************************************
 
  L'utilisateur doit saisir soit un code soit un début de nom
                doit renseigner le reste de l'image.


|    Changer de couleur
 
    Si l'utilisateur saisit un code,l'image sera réaffichée avec
       le nom et l'adresse pour confirmation.
 
    Si l'utilisateur saisit un début de nom,appel d'un pgm avec sous-fichier
     pour choix du fournisseur,sélection de l'utilisateur et réaffichage
     pour confirmation.
 
    Lors du réaffichage du format pour confirmation, la date de livraison
     est affichée en haute intensité si elle dépasse de trois mois la
     date du jour (mais un tel délai peut être accepté par le pgm).
 
    Les données utiles à afficher lors de cette confirmation sont:
              - code fournisseur (si saisie d'un nom genérique)
              - nom et adresse   (si saisie d'un code)
              - attribut de la zone date de livraison
              ET UNIQUEMENT CELLES CI.
 
    Il faut alors préciser le mot-clé PUTOVR niveau format
                           le mot-clé OVRDTA pour les zones CODE,NOM et ADR
                           le mot-clé OVRATR pour la zone DATLIV
 


|    Changer de couleur
 
  Le système fonctionne de cette maniere avec ERRMSG
 
     1/ PUTOVR implicite
 
        ce qui explique qu'un message d'erreur ne fonctionne pas lors
         d'un premier affichage
 
     2/ OVRATR pour les zones en erreur
 
        ce qui explique que les zones en entrée pure ne soient pas
         remises à l'etat initial.
 
 PUTRETAIN fonctionne d'une maniere similaire
 
           IL ne renvoie que les attributs des zones
 
           ATTENTION pas leur contenu (pas de mise à l'état initial)
                     uniquement l'attribut de début  ,pas l'attribut de fin
                     (soulignement par exemple peut aller jusqu'en bout
                      de ligne)
 


|    Changer de couleur
 
  Autres fonctions avec PUTOVR :
 
   Les zones sans OVRDTA n'etant pas réenvoyées les MDT ne sont pas
    restaurés, ce qui rendrait impossible le traitement de la confirmation
    sur l'exemple précedent avec un mot-clé CHANGE(xx)
    (les MDT étant ON lors de la première lecture l'indicateur serait
     toujours positionné à '1')
 
   Vous pouvez alors demander la restauration des MDT avec MDTOFF 
 
      - MDTOFF(*ALL) toutes les zones en I-O
      - MDTOFF(*UNPR) toutes les zones I-O sans DSPATR(PR)
 
   De la même maniere vous pouvez demander la mise à blanc (effectuée par
    l'unitée) des zones renseignables sans être obligé d'utiliser le mot-clé
    OVRDTA (les blancs n'étant pas envoyés par le système) avec ERASEINP .
 
      - ERASEINP(*MDTON) mise à blanc des zones ayant le MDT ON
      - ERASEINP(*ALL) mise à blanc de toutes les zones d'entrée
      Dans les deux cas il y a restauration des MDT.
 


|    Changer de couleur
 ATTENTION : la mise à blanc étant effectuée par l'unité écran elle n'est
             connue que de l'unité(pas du système)
 
  Exemple: DSPF = R   FMT             OVERLAY PUTOVR
                      NOM     10 B    (sans ovrdta)
 
     -----------------          ...........
     !               !          :         :        -----------------------
     !  toto         !<=========: toto    :<-------! nom: toto           !
     !               !          :         :        !                     !
     !               !          :         :        !---------------------!
     -----------------          :.........:
    /---------------/
       écran                      table                 pgm
                                   système
 
      au premier affichage PUTOVR n'entrant pas en ligne de compte
       les tables système sont mises à jour , les données envoyées
       à l'ecran.
 
 
 


|    Changer de couleur
 
   <ENTREE> de la part de l'utilisateur
 
 
 
 
     -----------------          ...........
     !               !          :         :        -----------------------
     !  truc         !=========>: truc    :------->! nom: truc           !
     !               !          :         :        !                     !
     !               !          :         :        !---------------------!
     -----------------          :.........:
    /---------------/
       écran                      table                 pgm
                                   système
 
      lors de la lecture du fmt les données sont transferées
       de l'unitée vers les tables système si le MDT EST ON
      puis des tables systèmes vers le pgm(dans tous les cas).
 
 
 


|    Changer de couleur
 
   REAFFICHAGE DU FORMAT SANS ERASEINP
 
 
 
 
     -----------------          ...........
     !               !          :         :        -----------------------
     !  truc         !<=========: truc    :<-------! nom:                !
     !               !          :         :        ! (MOVE *BLANK NOM)   !
     !               !          :         :        !---------------------!
     -----------------          :.........:
    /---------------/
       écran                      table                 pgm
                                   système
 
      la zone de saisie n'etant pas renvoyée (absence de OVRDTA)
       elle reste renseignée à l'écran.
 
 
 
 


|    Changer de couleur
 
   REAFFICHAGE DU FORMAT AVEC ERASEINP
 
 
 
 
     -----------------          ...........
     !               !          :         :        -----------------------
     !               !<=========: truc    :<-------! nom:                !
     !               !          :         :        ! (MOVE *BLANK NOM)   !
     !               !          :         :        !---------------------!
     -----------------          :.........:
    /---------------/
       écran                      table                 pgm
                                   système
 
      la zone de saisie est mise à blanc à l'écran (par l'écran lui-même),
       mais reste renseignée dans les tables système.
      Si <ENTREE> utilisateur sans saisie (MDT OFF) il n'y pas transfert
       unité-table système, le pgm relit "truc".
 
 


|    Changer de couleur
 
   REAFFICHAGE DU FORMAT AVEC ERASEINP ET INZINP
 
 
 
 
     -----------------          ...........
     !               !          :         :        -----------------------
     !               !<=========:         :<-------! nom:                !
     !               !          :         :        ! (MOVE *BLANK NOM)   !
     !               !          :         :        !---------------------!
     -----------------          :.........:
    /---------------/
       écran                      table                 pgm
                                   système
 
      la zone de saisie est mise à blanc à l'écran par l'unité
      les tables système sont mises à jour avec le contenu-pgm
      Si <ENTREE> utilisateur sans saisie (MDT OFF) ,il n'y pas transfert
       unité-table système, mais le pgm relit "    ".
 
 


|    Changer de couleur
 
 
 
  Vous devez prévoir OVRDTA pour la variable NOM même si vous ne
   souhaitez pas utiliser ce mot-clé.
 
   (Conditionné par un indicateur toujours OFF)
 
  De la même maniere vous devez prevoir OVRATR sur les zones en entrée
   pure pour les initialiser dans les tables système avec INZINP.
 




©AF400