Ansicht
Dokumentation

ABAPSET_LOCALE - SET LOCALE

ABAPSET_LOCALE - SET LOCALE

BAL Application Log Documentation   General Material Data  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

SET LOCALE LANGUAGE

Kurzreferenz



SET LOCALE LANGUAGE lang $[obsolete_parameters$].

Wirkung

Diese Anweisung setzt die Textumgebungssprache der aktuellen internen Sitzung auf den in lang angegebenen Wert und legt damit die Textumgebung für alle Programme der internen Sitzung fest.

Für die Textumgebungssprache lang muss ein zeichenartiges Datenobjekt angegeben werden, das einen maximal ein Zeichen langen Sprachenschlüssel enthält, für den in der ICU-Bibliothek des AS ABAP Locale-Eigenschaften definiert sind. Die möglichen Sprachenschlüssel sind in der Spalte SPRAS der Datenbanktabelle T002 enthalten. Das Locale der Textumgebung wird entsprechend gesetzt. Wenn das Datenobjekt lang nur Leerzeichen enthält, wird die Anmeldesprache der aktuellen Benutzersitzung verwendet.

Die Anweisung SET LOCALE LANGUAGE setzt nicht die unveränderbare Codepage der Textumgebung. Diese ist in einem Unicode-System immer UTF-16, wobei die Programmiersprache ABAP die Teilmenge UCS-2 unterstützt. Nach Ausführung von SET LOCALE LANGUAGE wird aber die Nicht-Unicode-Codepage, die in einem Nicht-Unicode-System von der Anweisung gesetzt würde (siehe unten), bei speziellen Anweisungen wie z.B. dem Lesen und Schreiben von Legacy-Dateien für Konvertierungen verwendet. (Siehe die Zusätze LEGACY und NON-UNICODE der Anweisung OPEN DATASET.) Diese Nicht-Unicode-Codepage wird falls möglich aus der Spalte CHARCO der Datenbanktabelle TCP0C entnommen. Der dazu verwendete Schlüssel setzt sich aus dem aktuellen Betriebssystem des Hostrechners der aktuellen (Systemfeld sy-opsys), dem in lang angegebenen Sprachenschlüssel und einer implizit aus der Datenbanktabelle TCP0D bzw. explizit gesetzten Länderkennung zusammen.

Systemfelder

Die Anweisung SET LOCALE LANGUAGE setzt bei erfolgreicher Ausführung das Systemfeld sy-langu auf den in lang angegebenen Wert.

Textumgebung möglichst nicht programmatisch verändern

Hinweise

  • Die Textumgebung eines internen Modus sollte nur für folgende Zwecke geändert werden:
  • Es werden zeichenartige Datenobjekte verarbeitet, deren Sprache nicht die Anmeldesprache des aktuellen Benutzers ist. Die Textumgebungssprache ist bei den Anweisungen SORT ... AS TEXT und CONVERT TEXT von Bedeutung.

Bitte beachten Sie dabei die unter Textumgebungssprache und Textumgebung beschriebenen sonstigen Auswirkungen der Textumgebung.
  • Nach einer Verarbeitung in einer geänderten Textumgebung sollte die Textumgebung wieder auf die vorhergehende Textumgebung gesetzt werden.
  • Die Anweisung SET LOCALE LANGUAGE setzt die Textumgebungssprache, die im Systemfeld sy-langu enthalten ist und von der Methode GET_LANGUAGE der Klasse CL_ABAP_SYST zurückgegeben wird. Sie setzt nicht die Anmeldesprache, die von der Methode GET_LOGON_LANGUAGE dieser Klasse zurückgegeben wird.
  • Die Anweisung SET LOCALE LANGUAGE darf nicht mit der Anweisung SET LANGUAGE zum Laden der Texte eines Text-Pools verwechselt werden.
  • Statt der Anweisung SET LOCALE können auch die vier Funktionsbausteine, deren Namen mit SCP_MIXED_LANGUAGES_ beginnen, verwendet werden, um die aktuelle Textumgebung festzustellen, zu ändern und wieder auf die ursprüngliche Textumgebung zu setzen.
  • Die Anweisung hat zwei obsolete Zusätze COUNTRY und MODIFIER, die nicht mehr verwendet werden sollen.

Beispiel

Setzen der Textumgebung auf einen eingebbaren Wert.

Textumgebung setzen

Ausnahmen

Behandelbare Ausnahmen

CX_SY_LOCALIZATION_ERROR

  • Ursache: Über die Tabellen TCP0D und TCP0C wurde ein Zeichensatz ermittelt, der in Ihrem System nicht freigeschaltet ist. Die freigegebenen Zeichensätze stehen in TabelleTCPDB. Normalerweise soll in dieser Tabelle genau ein Zeichensatz stehen und dieser Laufzeitfehler entsteht, weil versucht wurde, eine nicht-kompatible Sprache zu benutzen.
    Laufzeitfehler: TEXTENV_CODEPAGE_NOT_ALLOWED
  • Ursache: Zu dem angegebenen Schlüssel lang, cntry, mod existiert (für die aktuelle Plattform) kein Eintrag in der SAP-Textumgebungstabelle TCP0C.
    Laufzeitfehler: TEXTENV_KEY_INVALID

Unbehandelbare Ausnahmen

  • Ursache: Anwahl einer 'binären' Textumgebung via Modifikator 'BINARY', 'C', 'POSIX'oder 'RAW'.
    Laufzeitfehler: TEXTENV_BINARY_NOT_SUPPORTED
  • Ursache: Einer der angegebenen Schlüsselwerte lang, cntry oder mod ist länger als die entsprechenden Felder LANGU, COUNTRY bzw. MODIFIER in der SAP-Textumgebungstabelle TCP0C.
    Laufzeitfehler: TEXTENV_KEY_TOO_LONG






Addresses (Business Address Services)   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 8910 Date: 20240523 Time: 141216     sap01-206 ( 111 ms )