ARTICLE
shift_left, shift_right - Shift Functions
The shift functions shift the content of a character-like argument.
Syntax Forms
1. ... shift_left( [val =] text
[places = places]|[circular = places]|[
sub = substring ] ) ...
2. ... shift_right( [val =] text
[places = places]|[circular = places]|[
sub = substring ] ) ...
Effect
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 numerical 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 numerical 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 to the left or right are
removed. In this case, an explicit val= can also be omitted.
places and circular are
numerical expression positions
of type i .
The return code has the type string accordingly.
Note
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.
Example
See String Functions, shift
and substring
Runtime Exceptions Catchable Exceptions
CX_SY_RANGE_OUT_OF_BOUNDS
Reason for error: Invalid value in places .
Runtime error: STRING_LENGTH_TOO_LARGE or
STRING_LENGTH_NEGATIVE
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved