ABAPINSERT_TEXTPOOL - INSERT TEXTPOOL
General Data in Customer Master CL_GUI_FRONTEND_SERVICES - Frontend ServicesDiese Dokumentation steht unter dem Copyright der SAP AG.
INSERT TEXTPOOL
Syntax
INSERT TEXTPOOL prog FROM itab LANGUAGE lang.
Wirkung
Diese Anweisung stellt den Inhalt der Tabelle itab alsText-Pool der in lang angegebenen Sprache für das in prog angegebene ABAP-Programm in dasRepository.Falls bereits ein Text-Pool für die angegebene Sprache existiert, werden alle seine Textelemente überschrieben. Andernfalls wird ein neuer Text-Pool für diese Sprache angelegt.
Für prog muss ein flaches zeichenartiges Datenobjekt angegeben werden, das den Namen des Programms der zu lesenden Textelemente enthält, wobei dessen Groß-/Kleinschreibung keine Rolle spielt.
Für lang muss ein zeichenartiges flaches Datenobjekt angegeben werden, das einen maximal 1 Zeichen langen Sprachenschlüssel enthält, dessen Wert in der Spalte SPRAS der DatenbanktabelleT002 enthalten sein muss. Falls in langeine ungültige Sprache angegeben ist, wird kein Text-Pool erzeugt oder überschrieben. Falls lang ein Leerzeichen enthält, ist das Verhalten undefiniert.
Die interne Tabelle itab kann eine beliebige Tabellenart haben und ihr Zeilentyp muss der StrukturTEXTPOOL aus dem ABAP Dictionary entsprechen.Falls in prog ein nicht vorhandenes Programm angegeben ist, wird kein Text-Pool erzeugt oder überschrieben.
In der internen Tabelle itab können in der Spalte ENTRY die Texte der Textsymbole, die Selektionstexte, dieListenüberschriften und der Titel für dieProgrammeigenschaftenund kann in der Spalte LENGTH deren Länge angegeben werden. Die Identifikation der einzelnenTextelemente erfolgt über die Einträge in den Spalten ID und KEY, deren gültigeWerte in der Tabelle bei READ TEXTPOOL gezeigt sind.
Falls die Spalten ID oder KEY der internen Tabelle ungültige Werte enthalten oder duplikativeEinträge vorhanden sind, wird ein inkonsistenter Text-Pool erzeugt. Falls die interne Tabelleleer ist, werden alle Textelemente eines vorhandenen Text-Pools gelöscht bzw. wird ein Text-Poolohne Textelemente angelegt. Wenn die in LENGTH angegebene Länge kleiner als die Länge des Texts in ENTRY ist, wird sie im Text-Pool automatisch auf die Textlänge gesetzt.
Rückgabewerte
Die Anweisung INSERT TEXTPOOL setzt sy-subrc immer auf den Wert 0.
Hinweise
- Die Angabe der Textlänge im Feld LENGTH definiert die maximale Länge des Textelements, die in derABAPWorkbench bei der Übersetzung des Text-Pools in andere Sprachen zur Verfügung steht, und sollte entsprechend groß gewählt werden.
- Bei Selektionstexten müssen in ENTRY acht Leerzeichen vor dem eigentlichen Text stehen. Wenn ein Selektionstext dem Dictionary entnommen werden soll, muss das erste Zeichen von ENTRY ein "D" sein.
- Die Anweisung INSERT TEXTPOOL sollte nur mit Vorsicht verwendet werden, da sie vorhandene Text-Pools vollständig überschreibt.
Beispiel
Ansatz eines Übersetzungswerkzeugs für Textelemente. Die Text-Pools einer Quell- und einer Zielsprache werden in interne Tabellen eingelesen und für jedes Textelement der Quellsprache wird einSelektionsbildals Übersetzungsmaske angezeigt. Nach Abschluss der Übersetzung wird der Text-Pool der Zielsprache mit der entsprechend geänderten internen Tabelle überschrieben.
PARAMETERS: program TYPE sy-repid,
langu1 TYPE spras DEFAULT sy-langu,
langu2 TYPE spras.
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
SELECTION-SCREEN COMMENT /1(83) source.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS target TYPE textpool-entry.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF SCREEN 500.
DATA: text1 TYPE SORTED TABLE OF textpool
WITH UNIQUE KEY id KEY,
text2 TYPE SORTED TABLE OF textpool
WITH UNIQUE KEY id KEY,
wa1 TYPE textpool,
wa2 TYPE textpool.
READ TEXTPOOL program: INTO text1 LANGUAGE langu1,
INTO text2 LANGUAGE langu2.
LOOP AT text1 INTO wa1.
CLEAR wa2.
READ TABLE text2 INTO wa2
WITH TABLE KEY id = wa1-id
key = wa1-key.
source = wa1-entry.
target = wa2-entry.
CALL SELECTION-SCREEN 500 STARTING AT 1 1.
IF sy-subrc = 0.
IF target IS NOT INITIAL.
wa2-id = wa1-id.
wa2-key = wa1-key.
wa2-entry = target.
wa2-length = wa1-length.
DELETE TABLE text2
WITH TABLE KEY id = wa1-id
key = wa1-key.
INSERT wa2 INTO TABLE text2.
ENDIF.
ELSE.
EXIT.
ENDIF.
ENDLOOP.
INSERT TEXTPOOL program FROM text2 LANGUAGE langu2.
rdisp/max_wprun_time - Maximum work process run time BAL_S_LOG - Application Log: Log header data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 7869 Date: 20120526 Time: 213724 triton ( 169 ms )






