The functions shift_left and shift_right shift
the character string text to the left or to the right and return the result. The shift depends on the parameter pass as follows:
If the argument places is given a number value, this many characters
are removed on the left or right of the character string and the length of the character string is reduced
accordingly. If the value of places is negative or longer than the character string, an exception of the class CX_SY_RANGE_OUT_OF_BOUNDS is raised.
If the argument circular is given a number value, the functions work like places, but insert the substring again at the end or start of the character string.
If the argument sub is given a character string in substring, all substrings in the character string from text
are removed on the left or right that match the content of substring. If
no substrings are found or if substring is given an empty string, the character string remains unchanged.
If none of the arguments places, circular,
or sub are specified, the functions work as if the sub
argument has been passed a blank character. All blank characters on the left or right are removed. In this case, an explicit val= can also be omitted.
When places is specified, the function shift_right
behaves differently from the statement SHIFT with the additions RIGHT
and PLACES. The function shift_right reduces the
length of the string, but the statement SHIFT makes the string longer or keeps it the same length.
The following program line
txt = shift_right( txt ).
has the same meaning as
txt = shift_right( val = txt sub = ` ` ).
and removes the trailing blanks from a string txt.