Chargement de sous-fichier page à page

BoTTom |    Changer de couleur
 
  INCONVENIENT DE LA GESTION STATIQUE 
 
  Le principal inconvénient de la gestion statique 
  est l'utilisation excessive des ressources machine 
  pour une transaction. 
 
  Supposons une interrogation qui entrainerait la sélection 
  de 500 enregistrements. Entre le moment où l'utilisateur 
  à appuyé sur la touche ENTREE et le moment où le sous-fichier 
  s'affichera, plusieurs secondes vont s'écouler, l'utilisateur 
  s'impatientera. De plus les autres travaux seront pénalisés. 
 
  POUR EVITER CELA NOUS DEVONS UTILISER LA GESTION PAGE à PAGE. 
 
 
 
 
 
 
 
 


|    Changer de couleur
 
 
  Pour éviter ces longs temps d'attente, nous n'allons 
  plus remplir complètement le sous-fichier puis l'afficher,
 
  mais remplir 1 PAGE du sous-fichier puis l'afficher.
 
 
  Si l'utilisateur appuie sur ROLLUP, nous chargerons une
  NOUVELLE PAGE et l'afficherons, etc... 
 
 
  Le système garde à sa charge, la gestion de la touche ROLLDOWN
 
                                la gestion de la touche ROLLUP, quand il
                                "connait" la page suivante.
 
 
 
 
 
 


|    Changer de couleur
 
  PARTICULARITES DE LA GESTION PAGE à PAGE. 
 
  DEFINITION DE LA FONCTION ROLLUP(XX) DANS LE SOUS-FICHIER DE 
  contrôle. 
 
  La touche ROLLUP ne doit plus être entièrement à la charge 
   du système. 
 
  Dans la gestion statique quand l'utilisateur appuie sur la 
  touche ROLLUP, le système affiche automatiquement la page 
  suivante s'il en existe une, sinon il affiche le message 
  'limite de défilement atteinte'. 
 
  Dans la gestion dynamique le système défilera de lui-même les pages
  déja chargées (connues de lui), puis en fin de sous-fichier, passe
  la main au programme en transmettant l'indicateur associé à
  ROLLUP ON. Charge à notre programme, de charger une nouvelle page,
  ou de signaler la fin de fichier(en interdisant ROLLUP et en rendrant
  VRAI le mot-clé SFLEND ).
 
 


|    Changer de couleur
 
  AFFICHAGE DE LA PAGE QUI VIENT D'ETRE REMPLI. 
 
  Par défaut lors de l'affichage d'un sous-fichier 
  le système affiche toujours la 1ère page. 
  Dans le cas de la gestion page à page c'est un
  inconvénient. Pourquoi? 
  Je remplis la 1ère page,  je l'affiche. 
 
  L'utilisateur presse ROLLUP, je remplis la 2ème page 
  et j'affiche à nouveau .... la 1ére !!
 
  POUR EVITER CELA NOUS DEVONS, DANS LE FORMAT DE contrôle 
  DEFINIR UNE ZONE PARTICULIERE
  DE LONGUEUR 4 AVEC 0 DECIMALE. CETTE ZONE SERA CACHEE 
  (il n'est pas nécessaire de l'afficher). 
 
  A cette zone vous lui associerez la fonction SFLRCDNBR.
  Avant d'afficher votre sous-fichier vous remplirez 
  cette zone avec un numéro d'enregistrement du sous-fichier.
   Lors de l'affichage du sous-fichier, le système affichera la
  page qui CONTIENT l'enregistrement dont le rang est indiqué dans la zone.


|    Changer de couleur
 
 
  DEFINITION DU FORMAT DE contrôle.
 
     A*
     A          R FMTCTL                    SFLCTL(FMTSFL)
     A                                      OVERLAY
     A                                      SFLSIZ(0016)
     A                                      SFLPAG(0015)
     A  30                                  SFLDSP
     A  31                                  SFLDSPCTL
     A N31                                  SFLCLR
     A  60                                  SFLEND(*MORE)
     A N60                                  ROLLUP(80)
     A            LIGNE          4S 0H      SFLRCDNBR
 
     NOTRE PROGRAMME VA, A CHAQUE AFFICHAGE, METTRE LE RANG DU DERNIER
     ENREGISTREMENT CHARGé DANS LIGNE (==> AFFICHAGE DERNIERE PAGE)
 
     EN FIN DE FICHIER OU FIN DE GROUPE LOGIQUE, IL DEVRA METTRE
      "ON" L'INDICATEUR 60.
 


|    Changer de couleur
 
 
  Il existait des petits problemes liés à cette methode en cas
   d'utilisation de sous-fichiers multilignes
   (SFLDROP ou SFLFOLD)
 
  Vous pouvez maintenant regarder le cours sur ces fonctions
   et voir comment la V2R20 à résolu ces problemes.
 
 
 
 
 
 
 
 
 
 
 
 
 F3 = Sortie, <ENTREE> = Visualiser le cours SFLDROP/SFLFOLD
 





©AF400