Ansicht
Dokumentation

ABENSHIFT_FUNCTIONS - SHIFT FUNCTIONS

ABENSHIFT_FUNCTIONS - SHIFT FUNCTIONS

Vendor Master (General Section)   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- shift_left, shift_right

Die Verschiebefunktionen verschieben den Inhalt eines zeichenartigen Arguments.

1. ... shift_left( $[val =$] text
                  $[places = places$]$|$[circular = places$]$|$[ sub = substring$] ) ...

2. ... shift_right( $[val =$] text
                   $[places = places$]$|$[circular = places$]$|$[ sub = substring$] ) ...


Wirkung

Die eingebauten Funktionen shift_left und shift_right verschieben die Zeichenkette aus text nach links bzw. rechts und geben das Ergebnis zurück. Die Verschiebung hängt wie folgt von der Parameterübergabe ab:

  • Wenn das Argument places mit einem Zahlenwert versorgt wird, werden links bzw. rechts entsprechend viele Zeichen aus der Zeichenkette entfernt und die Länge der Zeichenkette wird entsprechend verringert. Wenn der Wert von places negativ oder länger als die Zeichenkette ist, wird eine Ausnahme der Klasse CX_SY_RANGE_OUT_OF_BOUNDS ausgelöst.
  • Wenn das Argument circular mit einem Zahlenwert versorgt wird, verhalten sich die Funktionen wie bei der Angabe von places, fügen die entfernte Unterfolge aber am Ende bzw. am Anfang der Zeichenkette wieder ein.
  • Wenn das Argument sub mit einer Zeichenkette in substring versorgt wird, werden links bzw. rechts alle Unterfolgen in der Zeichenkette aus text entfernt, die dem Inhalt von substring entsprechen. Wenn keine solche Unterfolge gefunden wird oder für substring ein leerer String angegeben wird, bleibt die Zeichenkette unverändert.
  • Wenn keines der Argumente places, circular oder sub angegeben wird, verhalten sich die Funktionen so, als würde dem Argument sub ein Leerzeichen übergeben. Links bzw. rechts werden alle Leerzeichen entfernt. In diesem Fall kann auch die explizite Angabe von val weggelassen werden.

places und circular sind numerische Ausdruckspositionen vom Typ i.

Der Rückgabewert ist jeweils vom Typ string.

Hinweis

Die Funktion shift_right verhält sich bei der Angabe von places anders als die Anweisung SHIFT mit den Zusätzen RIGHT und PLACES. Während die Funktion shift_right die Länge der Zeichenkette verringert, wird sie von der Anweisung SHIFT verlängert oder bleibt gleich.

Beispiel

Die folgende Programmzeile

txt = shift_right( txt ).

ist gleichbedeutend zu

txt = shift_right( val = txt sub = ` ` ).

und entfernt die schließenden Leerzeichen aus einem String txt.

Zeichenkettenfunktionen, shift und substring

Ausnahmen

Behandelbare Ausnahmen

CX_SY_RANGE_OUT_OF_BOUNDS

  • Ursache: Unzulässige Angabe in places.
    Laufzeitfehler: STRING_LENGTH_TOO_LARGE oder STRING_LENGTH_NEGATIVE





PERFORM Short Reference   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4782 Date: 20240523 Time: 094958     sap01-206 ( 65 ms )