Met de opdracht string knoopt de computer een aantal teksten aan elkaar in een veld. Met unstring gebeurt het omgekeerde.
onthoud
Met de unstring-opdracht laten we de computer de inhoud van een veld splitsen in verschillende stukken en daarna overbrengen naar een aantal andere velden.
illustratie: Geert Nijmolen
Een voorbeeld. Gegeven zijn de volgende velden.
01 invoer-adres pic x(90). 01 los. 02 naam pic x(40). 02 straat pic x(40). 02 plaats pic x(40).
Om ruimte te sparen heeft men naam, adres en woonplaats achter elkaar
in invoer-adres geplaatst. Tussen de onderdelen staat een schuine streep.
We gebruiken als inhoud in de komende voorbeelden telkens:
P.Jansen/Damln 93/3119 AD KETHEL
De drie elementen moeten worden losgemaakt. Bij voorbeeld omdat er etiketten gedrukt moeten worden. De unstring-opdracht om dit te regelen luidt:
unstring invoer-adres delimited by "/" into naam, straat, plaats
Na afloop van de unstring-opdracht heeft het veld naam de inhoud P.Jansen; straat heeft de inhoud Damln 93 en plaats 3119 AD KETHEL.
De unstring-opdracht verloopt in twee fasen. Allereerst selecteert de computer de over te brengen stukken. Daartoe splitst hij bij een opgegeven scheidingsteken of bij het eind van het veld. De scheidingstekens zelf horen niet bij de geselecteerde teksten. De tweede fase is het overbrengen van de geselecteerde teksten naar de velden achter into. Dat overbrengen gebeurt volgens de regels van de move-opdracht. De oorspronkelijke waarde van de resultaatvelden gaat dus geheel verloren.
Alle velden bij de unstring-opdracht moeten alfanumeriek zijn, behalve de velden na into. Daar zijn numerieke velden toegestaan. We moeten numerieke velden uiteraard alleen gebruiken als we zeker weten dat er alleen cijfers geselecteerd zullen worden. Geen enkel veld bij de unstring-opdracht mag opgemaakt zijn.