Programmeren in COBOL/Statements/REWRITE

Uit Wikibooks

Programmeren in COBOL

Inhoudsopgave




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[bewerken]

REWRITE 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[bewerken]

REWRITE[bewerken]

Als je iets wilt herschrijven met REWRITE moet het bestand eerst geopend zijn als een INPUT-OUTPUT.

INVALID KEY(optioneel)[bewerken]

Werkt 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)[bewerken]

Hetzelfde principe als INVALID KEY maar dan wanneer de sleutel wel juist is.

END-REWRITE(optioneel)[bewerken]

Sluit de statement af.

Voorbeelden[bewerken]

Simpel voorbeeld[bewerken]

COBOL-code: REWRITE - simpel voorbeeld

           REWRITE record

Comple voorbeeld[bewerken]

COBOL-code: REWRITE - complex voorbeeld

           REWRITE record FROM
             INVALID KEY DISPLAY "Sleutel is fout."
             NOT INVALID KEY DISPLAY "Record herschreven."
           END-REWRITE

Zie ook[bewerken]


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


 

Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.