Stel dat we op elk nieuw blad een kopregel willen afdrukken. Die kopregel bevat een vaste tekst die op elke bladzijde hetzelfde is. Het vastleggen van die vaste teksten kan het gemakkelijkst met behulp van de value-clausule. Maar in de file section mogen we de value-clausule voor het geven van een beginwaarde niet gebruiken. De gebruikelijke oplossing voor dit probleem is: beschrijf de kopregel in de working-storage section. Daar mag je wel de value-clausule gebruiken.
working-storage section. 01 kopregel. 02 pic X(12) value "ISBN". 02 pic X(32) value "titel". 02 pic X(06) value "oplage".
Na het woord write mag uitsluitend de naam komen van een recordbeschrijving van het betrokken bestand. We nemen even aan dat het record afdrukregel heet. Na write mogen we dus niet kopregel schrijven. Er zit niets anders op dan eerst de inhoud van de kopregel over te brengen naar de afdrukregel en dan vervolgens de afdrukregel te schrijven:
move kopregel to afdrukregel write afdrukregel after advancing page
Deze gang van zaken komt zo vaak voor dat er aan COBOL een verkorte versie van is toegevoegd. In plaats van eerst een move- en dan de write-opdracht mogen we ook schrijven:
write afdrukregel from kopregel after advancing page
onthoud
Bij de write-opdracht met de from-optie zit een move-opdracht ingebakken in de write-opdracht. We vermelden achter het woord from waar de informatie vandaan moet komen en de computer voert voor ons de voorafgaande move-opdracht uit.
Net zoals bij de write-opdracht mogen we ook bij de rewrite-opdracht deze mogelijkheid met from gebruiken. Beide schrijfopdrachten kunnen een ingebouwde move-opdracht hebben.
Iets soortgelijks bestaat ook bij de read-opdracht. Daar is het woord into. Door de opdracht
read kassabestand into ws-kasgeg at end set einde-kassabestand to true end-read
Brengt de computer het ingelezen record volgens de regels van de move-opdracht over naar het veld ws-kasgeg.
onthoud
Na een read met de into-mogelijkheid staan dezelfde gegevens op twee plaatsen: het recordgebied van het bestand (de 01 onder de FD) en ook in het veld dat na into is genoemd.
Uiteraard moet dat veld na into een ander veld zijn dan een record van het gelezen bestand, want anders zou het gelezen record naar zichzelf worden overgebracht. Dat is in COBOL niet toegestaan.
Na een write- en een rewrite-opdracht mag je er niet van uitgaan dat de weggeschreven gegevens zich nog in het recordgebied bevinden. Als je na het schrijven nog over de gegevens wilt kunnen beschikken, dan is read into en write from hiervoor een oplossing. Gebruik de into-optie bij het lezen en de gegevens komen behalve in het recordgebied ook in de working-storage section terecht. Als je nu bij het schrijven de from-optie gebruikt, dan blijven de gegevens in de working-storage section staan. Het is dan geen bezwaar meer dat de inhoud van recordgebied onbepaald is geworden.