8.1 Bestandsbesturing

Van elk indexed bestand moeten we in de environment division vermelden dat de organisatievorm geïndiceerd sequentieel is. Dat doen we met de woorden: organization is indexed.

Bovendien moeten we vermelden welk veld het sleutelveld is. Dat gebeurt met de woorden: record key is ... Op de plaats van de puntjes moet de naam staan van een veld uit een recordbeschrijving van dit bestand. De naam van het sleutelveld van een bepaald bestand mag per programma verschillen. De grootte van het veld is echter een vaste eigenschap van het bestand. Die grootte moet bij elke beschrijving hetzelfde zijn. Ook de relatieve plaats in het record moet elke keer gelijk zijn. Als de posities 3 tot en met 10 het sleutelveld vormen, kunnen we later in een ander programma niet opeens zeggen dat de posities 5 tot en met 11 het sleutelveld zijn.

onthoud

Het sleutelveld van een indexed bestand moet een groepsveld zijn of een elementair alfanumeriek veld.

Bij een indexed bestand kunnen we de records direct benaderen. De toegangsmethode is dan willekeurig (access mode is random).We kunnen de records ook nog gewoon sequentieel benaderen (access mode is sequential). We lezen de records dan in oplopende volgorde van het sleutelveld. Met access mode is dynamic geven we aan dat we beide toegangsmogelijkheden willen gebruiken in een programma.

illustratie: Geert Nijmolen

cartoon

Hierna volgt een beschrijving van een indexed bestand zoals die in de environment division staat, de zogenaamde bestandsbesturing.

input-output section.
file-control.
    select autobestand
        assign to disk
        organization is indexed
        access mode is sequential
        record key is kenteken.
  

De bestandsbesturing bestaat uit een aantal clausules in gebied B. De select-clausule moet de eerste clausule zijn. Hij bevat de naam van het bestand. Voor de assign-clausule gelden dezelfde regels als bij een sequentieel bestand (zie hoofdstuk 5). Voor het gemak houden we als implementor-naam disk aan. De organization-clausule geeft aan dat het om een geïndiceerd sequentieel bestand gaat. Let op de letter z in het woord organization. De access-clausule bepaalt de toegangsmethode(n) die we in het programma gebruiken. Deze clausule is niet verplicht. Als we hem weglaten, dan neemt de computer access mode is sequential aan. Met de record-key-clausule geven we de naam van het sleutelveld op. Hier is die naam kenteken. Het sleutelveld moet voorkomen in een recordbeschrijving van het betrokken bestand in de file section. Het moet bovendien alfanumeriek zijn of een groepsveld. Na de laatste clausule staat een punt.

omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1

Auteur: Andree Hollander

naamlogo