Ansicht
Dokumentation

ABENLOGEXP_RULES_EXPR_CHAR - LOGEXP RULES EXPR CHAR

ABENLOGEXP_RULES_EXPR_CHAR - LOGEXP RULES EXPR CHAR

BAL_S_LOG - Application Log: Log header data   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- Vergleichstyp von Zeichenkettenausdrücken

Zeichenkettenausdrücke sind möglich als Operanden von Vergleichsausdrücken mit

Ein Zeichenkettenausdruck kann mit einem einzelnen Operanden mit beliebigem elementarem Datentyp oder mit einem anderen Zeichenkettenausdruck verglichen werden. Bezüglich der Konvertierung des elementaren Ausdrucks nach String sind zwei Fälle zu unterscheiden:

  • Wenn ein Zeichenkettenausdruck in einem allgemeinen logischen Ausdruck mit einem einzelnen Operand verglichen wird, ist der Vergleichstyp string. Der einzelne Operand wird implizit wie ein eingebetteter Ausdruck eines Zeichenketten-Templates betrachtet und vor dem Vergleich gemäß des zugehörigen vordefinierten Formats als Textstring aufbereitet.

Hinweise

  • Ein Zeichenkettenausdruck kann nicht als Operand eines Prädikatausdrucks angegeben werden.
  • Das Ergebnis der Aufbereitung eines einzelnen Operanden ist bei manchen Datentypen unterschiedlich zum Ergebnis einer einfachen Konvertierung. Ein Beispiel ist der Typ decfloat34.
  • Die Ergebnisse allgemeiner logischer Ausdrücke und logischer Ausdrücke in WHERE-Bedingungen für interne Tabellen können für Vergleiche mit Zeichenkettenausdrücken unterschiedlich sein, da sowohl die Aufbereitung als auch der Vergleichstyp eine Rolle spielt.

Das Beispiel demonstriert den Effekt unterschiedlicher Vergleichstypen. Der erste Vergleich ist wahr, da der zeichenartige Operand nach der Regel für den Vergleich zeichenartiger Datentypen in den Typ des numerischen Operanden konvertiert und der Zahlenwert verglichen wird. Der zweite Vergleich ist aber ebenfalls wahr, da der numerische Operand als Textstring aufbereitet und die interne Darstellung der verwendeten Codepage verglichen wird.

Beispiel

Das Beispiel demonstriert den Effekt unterschiedlicher Aufbereitungen und der unterschiedlichen Regeln. Alle Vergleiche sind wahr. Ein elementarer Operand vom Typ decfloat34 wird mit einem Textstring und einem Zeichenkettenausdruck verglichen. Beim Vergleich mit dem Textstring wird die linke Seite ebenfalls in den Typ string konvertiert und die Werte beider Seiten sind gleich. Beim Vergleich mit der Verkettung wird die linke Seite anders aufbereitet und die Werte beider Seiten sind unterschiedlich. Der dritte Vergleich zeigt explizit, wie der elementare Operand beim Vergleich mit der Verkettung behandelt wird. Die WHERE-Bedingungen LOOP-Anweisungen konvertieren beide Seiten dagegen in den numerischen Vergleichstyp decfloat34. Die Ausgabe zeigt den Unterschied zwischen einfacher Konvertierung und der Aufbereitung als eingebetteter Ausdruck.






BAL_S_LOG - Application Log: Log header data   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4877 Date: 20240523 Time: 104021     sap01-206 ( 79 ms )