Un fichier d'organisation relative est une sorte de tableau dont les cases, indicées de 1 à n, contiennent un enregistrement ou rien.
Les fichiers relatifs ont beaucoup de points communs avec les fichiers indexés : modes d'accès (aléatoire, séquentiel, dynamique), modes d'ouverture (lecture, ecriture, lecture-écriture, extension).
Les différences principales sont que :
environment division.
input-output-section.
file-control.
select F-ARTICLES
assign to "/donnees/catalogue"
organization relative
access random
relative key NUMERO-ARTICLE.
...
data division.
file section.
fd F-ARTICLES.
01 ENR-ARTICLE.
02 DESIGNATION pic X(10).
02 PRIX-UNITAIRE pic 9(6)v99.
...
working-storage section.
77 NUMERO-ARTICLE pic 9(3).
random
)
Se fait en renseignant la clé, puis en lançant l'opération
(READ
, WRITE
, REWRITE
, DELETE
)
avec (obligatoirement) la clause
INVALID KEY
.
sequential
)
Les opérations autorisées sont
READ fichier NEXT, AT END ...
WRITE enregistrement
REWRITE enregistrement
START KEY condition clé, INVALID KEY ...
dynamic
)
Combinaison des modes séquentiel et aléatoire:
READ fichier, INVALID KEY ...
READ fichier NEXT, AT END ...
WRITE enregistrement INVALID KEY ...
REWRITE enregistrement INVALID KEY
START KEY condition clé, INVALID KEY ...