textLiteralDefaultIsString

Die Eigenschaft 'textLiteralDefaultIsString' weist EGL an, wie Textliterale zu bearbeiten sind. Standardmäßig behandelt EGL Literale ohne explizite Typendeklaration als Zeichenfolge (STRING). Dies kann zu Konflikten mit VisualAge Generator-Programmen führen, bei denen Entwickler im Allgemeinen Variablentypen mit festem Text verwenden. In diesen Programmen ist es ineffizient, Literale als Unicode-Zeichenfolgen mit variabler Länge zu implementieren, die eine zeitaufwändige Konvertierung erfordern.

Darüber hinaus gilt: Wenn ein Literal als Argument in einer Anweisung 'call', 'transfer' oder 'show' übergeben wird, muss das Argument dem Typ des empfangenden Parameters entsprechen (in VisualAge Generator ist dies generell ein CHAR-Typ). Wird 'textLiteralDefaultIsString' auf NO gesetzt, ordnet EGL dem Literal einen geeigneten Typ für die Zuordnung zu einem VisualAge Generator-Parameter zu.

Die Eigenschaft hat den Typ BOOLEAN mit den folgenden Werten:
YES
Der Vorprozessor ordnet Textliteralen den Typ STRING zu, wenn sie keine explizite Typenspezifikation aufweisen. Dies ist der Standardwert.
NO
Der Texttyp hängt von den Zeichen im Literal ab, wie in der folgenden Tabelle gezeigt:
Tabelle 1. Typzuordnung für Textliterale bei Einstellung NO für 'textLiteralDefaultIsString'
Inhalt des Literals Typ Länge
Nur Einzelbytezeichen CHAR Anzahl der Zeichen im Literal
Nur Doppelbytezeichen DBCHAR Anzahl der Zeichen im Literal
Kombination aus Einzelbyte- und Doppelbytezeichen MBCHAR Länge des Literals in Byte

Kompatibilität

Tabelle 2. Hinweise zur Kompatibilität für 'textLiteralDefaultIsString'
Plattform Problem
Java™-Generierung Diese Eigenschaft wirkt sich nicht auf die Leistung aus, da alle Java-Textliterale als Java-Zeichenfolgen implementiert werden.
JavaScript-Generierung Die Eigenschaft 'textLiteralDefaultIsString' wird nicht unterstützt.

Feedback