SHIFT - direction
... [LEFT|RIGHT] [CIRCULAR].
The shift direction is defined for left or right using
If none of the additions is specified,
LEFT is used implicitly. If the data
dobj is a string and the addition
is not specified, it is shortened - on shifting - to the left by the positions moved and lenghtened accordingly if shifted to the right.
Using the addition
CIRCULAR, the contents shifted from the data object, to
the left or to the right, are inserted again in the positions that become available on the opposite
side. If the addition
CIRCULAR is specified, data objects of the type
xstring are not shortened or lengthened; instead, they are treated as data objects of fixed length.
This example varies the second example under
places. Using the addition
CIRCULAR, the result becomes "you know I know".
DATA text TYPE string VALUE `I know you know `. SHIFT text UP TO 'you' LEFT CIRCULAR.