Dans le cas d'une relecture automatique (GESTION_SFL n), utiliser l'indicateur correspondant au mot-clé SFLNXTCHG ; cet indicateur est défini au niveau des standards de génération (par défaut : *IN08).
Lors du remplissage du sous-fichier, il faut positionner cet indicateur à 1 avant l'écriture de chaque enregistrement.
Ainsi tous les enregistrements peuvent être relus automatiquement dans les pavés de VERIFICATION ou de VALIDATION.
Par exemple
Pavé d'initialisation :
******************
INITIALISATION aa
******************
GESTION_SFL n |
Boucle de chargement du sous-fichier |
... |
|
*IN08 = '1' |
Positionnement à Vrai de l'indicateur 08 (SFLNXTCHG) |
MAJ_SFL |
Ecriture d'un enregistrement dans le sous-fichier |
... |
|
*IN08 = '0' |
Positionnement à Faux de l'indicateur 08 (SFLNXTCHG) |
FIN_GESTION_SFL |
Retour à GESTION_SFL |
Dans le cas d'une relecture manuelle du sous-fichier, il est possible de définir une vue travaillant directement sur le sous-fichier, puis de faire une boucle de lecture classique par clé.
Par exemple
Vue xx : provenance fichier *n.
L'accès se fait par clé, avec WRAN0n comme clé. WRAN0n est la variable générée par Adélia pour la gestion du numéro de rang du sous-fichier. Associée au mot-clé SFLRCDNBR, elle permet d'indiquer la page du sous-fichier à afficher, la page affichée étant alors la page qui contient l'enregistrement dont le numéro de rang est égal à WRAN0n (n correspond au numéro de sous-fichier).
Il faut la déclarer au niveau du prototypage :
zone = WRAN0n MD = WRAN0n Lg = 4 Déc = 0 Réfer. = *NODEF
Mot directeur de cette vue LECT_SOUSFIC.
WRAN0n = 1 |
Positionnement sur le 1er enregistrement |
TANT_QUE WRAN0n <= *DEL0n |
Boucle tant que l'on n'a pas atteint le nombre total d'enregistrements du sous-fichier |
|
|
LIRE LECT_SOUSFIC |
Lecture directe de l'enregistrement |
... |
|
WRAN0n = WRAN0n + 1 |
Passage à l'enregistrement suivant |
REFAIRE |
Retour à TANT_QUE |
Dans ce cas, les lignes qui étaient actives ne le sont plus, et il n'est pas possible de relire ce sous-fichier par GESTION_SFL avant le réaffichage de l'écran (par TRAITER ou par EXECUTER).
Mots réservés utilisés
*DEL0n
est le mot réservé Adélia qui contient le nombre total d'enregistrements chargés dans le sous-fichier.