Programmeren in COBOL/Statements/REWRITE
REWRITE is een statement van COBOL. Deze statement dient om records te herschrijven. Hier wordt de vorm en de betekenis uitgelegd samen met voorbeelden.
Formaatbeschrijving
bewerkenREWRITE bestandsnaam [FROM veld]
- [INVALID KEY code]
- [NOT INVALID KEY code]
[END-REWRITE]
[]: geeft aan dat het optioneel is. {}: geeft aan dat dit één stuk is die samen hoort. onderstreept: geeft aan dat het verplicht is dit te schrijven. Als het tussen [] staat betekent dat je dit minstens moet schrijven, als je dat deel van de statement wilt gebruiken. niet-onderstreept: betekent dat je het mag schrijven maar is niet verplicht. ...: Geeft aan dat je nog velden of constanten mag bijschrijven of stukjes die tussen [] of {} staan herhalen.
Uitleg
bewerkenREWRITE
bewerkenAls je iets wilt herschrijven met REWRITE moet het bestand eerst geopend zijn als een INPUT-OUTPUT.
INVALID KEY(optioneel)
bewerkenWerkt enkel als het bestand random of dynamisch wordt gelezen. Bij een random en vaak ook dynamisch wordt er eerst een sleutel gevraagd. Met die sleutel wordt dan het record gezocht, als de sleutel fout is kun je hierachter een stukje programmacode schrijven zoals een foutbericht.
NOT INVALID KEY(optioneel)
bewerkenHetzelfde principe als INVALID KEY maar dan wanneer de sleutel wel juist is.
END-REWRITE(optioneel)
bewerkenSluit de statement af.
Voorbeelden
bewerkenSimpel voorbeeld
bewerkenCOBOL-code: REWRITE - simpel voorbeeld
REWRITE record
Comple voorbeeld
bewerkenCOBOL-code: REWRITE - complex voorbeeld
REWRITE record FROM INVALID KEY DISPLAY "Sleutel is fout." NOT INVALID KEY DISPLAY "Record herschreven." END-REWRITE
Zie ook
bewerken- Hoofdstukken sequentiële bestanden, relatieve bestanden zonder hash, relatieve bestanden met hash en index-sequentiële bestanden
- Statements READ, WRITE en DELETE.
COBOL statements |
ACCEPT | ADD | CALL | CLOSE | COMPUTE | DELETE | DISPLAY | DIVIDE | EVALUATE | IF | INSPECT | MOVE | MULTIPLY | OPEN | PERFORM | READ | REWRITE | START | STOP | STRING | SUBTRACT | UNSTRING | WRITE |