5.1 Bestandsbesturing

De secretaris van een kleine vereniging van huiseigenaren is het zat om telkens de namen en adressen van de leden op de schrijfmachine te tikken. Zij wil een bestand maken van die gegevens en dat bestand op een diskette opslaan. Dat kan met een COBOL-programma. Gegevens over bestanden moeten we schrijven in drie van de vier divisions in een programma. Alleen de identification division bevat niets over bestanden.

In de environment division vindt de koppeling plaats tussen de naam die het bestand in het programma heeft en de buitenwereld. Hier komt meteen al een probleem om de hoek kijken: COBOL laat de uitwerking hiervan over aan de fabrikant van de compiler. Wat in dit boek staat is dus niet meer dan een voorbeeld. Bij elke compiler kan het weer anders zijn. Je moet daarvoor de documentatie raadplegen die bij de compiler hoort.

De environment division zou er bij voorbeeld zo kunnen uitzien:

 ENVIRONMENT DIVISION.
 INPUT-OUTPUT SECTION.
 File-control.
     Select NAW-bestand assign to "B:NAW-BEST".
  

In de input-output section (nieuw voor ons) bevindt zich de paragraaf file-control (ook nieuw voor ons). In die paragraaf staat voor elk bestand dat in het programma voorkomt een bestandsbesturing.

onthoud

De bestandsbesturing bestaat uit een aantal clausules, waarvan de select-clausule de eerste moet zijn.


De select-clausule bepaalt de bestandsnaam die het programma gebruikt. In dit voorbeeld is die naam NAW-bestand (NAW is een veelgebruikte afkorting voor 'naam, adres, woonplaats').

De assign-clausule legt de koppeling tussen het genoemde bestand en een opslagmedium. Het is deze clausule die sterk afhankelijk is van de leverancier van de compiler. In het gegeven voorbeeld staat in de assign-clausule de naam van een schijfeenheid (B:) en de naam die het bestand op de schijf heeft (NAW-BEST). Dit is de enige verwijzing naar de naam zoals die op de diskette staat. In het programma komt verder uitsluitend de naam NAW-bestand voor.

Sommige compilers verwachten alleen een verwijzing naar het soort apparaat, zoals in:

     Select NAW-bestand assign to disk.
  

De echte koppeling tussen de naam die het programma gebruikt en de naam op de magneetschijf vindt dan ergens anders plaats. Dat kan op een andere plaats in het programma zijn, maar ook met commando's aan het besturingssysteem (operating system) van de computer. Zulke commando's gaan dan buiten het programma om.

Bij weer andere compilers is een combinatie van apparaat en disk-naam vereist, zoals in:

     Select NAW-bestand assign to disk, "NAW-BEST".
  

In de handleiding bij de compiler is hierover informatie te vinden. In dit boek en in het werkboek geldt, tenzij anders aangegeven, dat de implementor-naam disk is.

omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1

Auteur: Andree Hollander

naamlogo