Om een nieuw indexed bestand te creëren, gebruiken we de open-opdracht met vermelding van output. Het operating system verricht dan de nodige handelingen om het bestand in te richten. Het bestand bevat nog geen records. De records komen in het bestand door middel van de write-opdracht.
De records voor het nieuwe indexed bestand moeten ergens vandaan komen. Stel dat er al een sequentieel bestand aanwezig is. Alle records zijn daarin opgeslagen in volgorde van kenteken. Het bestand heet auto-seq. Het moet worden omgezet naar een indexed bestand. We kunnen record voor record lezen en wegschrijven naar het nieuwe bestand. Als we records achter elkaar wegschrijven, gebruiken we access mode is sequential. Voorwaarde is dan wel dat de inhoud van het sleutelveld bij elk record groter is dan bij het vorige. Bekijk de volgende opdrachten:
open input auto-seq, output autobestand perform with test after until einde-bestand read auto-seq into tussengebied at end set einde-bestand to true not at end write autorecord from tussengebied invalid key display "sequence error"; stop run end-write end-read end-perform close auto-seq, autobestand
We openen de beide bestanden. In een perform-opdracht herhalen we de lees- en schrijfacties. Een gelezen record komt via read into in een tussengebied van waaruit we met write from schrijven. Invalid key treedt op als de sleutelwaarden niet oplopend zijn. Dit heet een sequence error.
illustratie: Geert Nijmolen
Bij access mode is random en bij access mode is dynamic vervalt de eis dat elke sleutel groter moet zijn dan de vorige. We kunnen de records in willekeurige volgorde schrijven en de computer plaatst de records in de juiste volgorde in het bestand. Nog steeds is de invalid-key-clausule verplicht. Invalid key treedt op als we een record proberen te schrijven met een sleutel die al bestaat.
Na uitvoering van een write-opdracht zijn de gegevens niet meer in het recordgebied aanwezig. Dat is net zoals bij een sequentieel bestand. Dat komt doordat alle in- en uitvoeropdrachten tot het taakgebied van het operating system behoren. Een write-opdracht is in feite het overdragen van een record aan het besturingssysteem. Op de manier waarop het besturingsssysteem de opdracht uitvoert hebben we geen invloed.