7.3 Overflow bij string

Bij het overbrengen van gegevens naar een alfanumeriek veld, vult COBOL dat veld met spaties op. Er kunnen verschillende redenen zijn waarom we die spaties weg willen werken. Bij voorbeeld omdat we teksten netjes achter elkaar willen plaatsen als we gaan afdrukken. Of om ruimte te sparen bij datacommunicatie. In deze en soortgelijke gevallen gebruiken we de string-opdracht om de nuttig gevulde ruimte van een aantal velden samen te brengen in een resultaatveld. Daarbij kan zich een probleem voor doen: overflow.

onthoud

Als het resultaatveld geheel gevuld is door een string-opdracht en er zijn nog tekens over te brengen, dan spreken we van overflow. Het resultaatveld is dan te klein. Nog niet alle tekens zijn overgebracht.

Op een overflow-situatie kunnen we reageren in het string-statement.

    add 1 to positie
    string datum delimited by size
    into datumregel with pointer positie
    on overflow 
        display datum "past niet!"
    end-string
  

Zoals er naast de at end ook not at end bestaat, zo is er naast de on overflow ook een not on overflow. 

Als we on overflow of not on overflow gebruiken, sluiten we de string-opdracht af met end-string. Op die manier geven we het einde aan van de reeks opdrachten die de computer moet uitvoeren. In het werkboek komen deze beide opties aan bod in de opgaven.

omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1

Auteur: Andree Hollander

naamlogo