11.7 Index-variabele

Een index is altijd gebonden aan de tabel waarbij hij is benoemd. Soms willen we een indexwaarde bewaren voor later gebruik. Dat is eenvoudig als er voor de betrokken tabel twee of meer indexen zijn benoemd. Een van de indexen behoudt zijn waarde en we werken verder met een andere index van dezelfde tabel (zie de vorige paragraaf).

Een andere mogelijkheid is het bewaren van de index-waarde in een gewoon veld. Dat kan met de set-opdracht (zie paragraaf 11.2). Een nadeel daarvan is, dat er conversie plaats moet vinden. Bij het overbrengen van de waarde van de index naar een gewone variabele moet de computer de interne index-weergave omrekenen naar de normale manier. Als we later de waarde weer willen gebruiken, dan moet omrekening in de omgekeerde richting plaatsvinden.

Dit nadeel is te vermijden met het benoemen van een speciale index-variabele. Zo'n variabele kunnen we met een set-opdracht een waarde geven. Er vindt daarbij geen conversie plaats: de interne index-waarde wordt zonder meer gekopieerd. Een index-variabele binnen de computer dezelfde eigenschappen als een index. Net als bij een index worden die eigenschappen door de computer vastgesteld. Het enige wat de programmeur van zo'n index-variabele mag vermelden is de naam en een aanduiding dat het index-variabele betreft. Dat gebeurt met de clausule usage is index.

01 bewaar-index  usage is index.
  

Hier zien we een bijzonder geval: een elementair veld zonder picture-clausule.

Let goed op het verschil tussen een index en een index-variabele. Een index wordt benoemd met indexed by en hoort bij een tabel. Een index-variabele wordt benoemd met usage is index en hoort niet bij een tabel. We kunnen een index-variabele dus niet gebruiken om een tabelelement aan te wijzen. Het nut van een index-variabele is dus heel klein. We kunnen slechts de inhoud van een index tijdelijk bewaren.

omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 2

Auteur: Andree Hollander

naamlogo