INSERT TEXTPOOL
Short Reference
ABAP Syntax INSERT TEXTPOOL prog FROM itab LANGUAGE lang.
What does it do? This statement places the contents of table itab
into the repository as a
text pool of the language specified in
lang for the ABAP program specified in prog . If a text pool
for the specified language already exists, all of its text elements are
overwritten. Otherwise, a new text pool is created for this language.
prog expects a flat character-like data
object, which contains the name of the program of the text elements to
be read; the name is not case-sensitive.
lang expects a character-like flat data object. This must
contain a language key with a maximum length of one character, and this
value must be contained in the column SPRAS of the database table
T002 . If an invalid language is
specified in lang , no text pool is created or overwritten. If
lang contains a space, the behavior is undefined.
The internal table itab can be in any table category and its
row type must correspond to the TEXTPOOL
structure in ABAP Dictionary. If a non-existent program is
specified in prog , no text pool is created or overwritten.
In the internal table itab , the ENTRY column can contain
the texts of the text symbols, the selection texts, the
list headers , and the title for the
program attributes ; in the
LENGTH column, you can specify the corresponding lengths. The
individual text elements are identified using the entries in the columns
ID and KEY , whose valid values are shown in the table for
READ TEXTPOOL .
If the columns ID or KEY of the internal table contain
invalid values or if duplicate entries exist, an inconsistent text pool
is created. If the internal table is empty, all text elements of an
existing text pool are deleted or a text pool without text elements is
created. If the length specified in LENGTH is shorter than the
text length in ENTRY , it is automatically set to the text length
in the text pool.
Return Values
The INSERT TEXTPOOL statement always sets sy-subrc to
the value 0.
Latest notes: The specification of the text length in LENGTH
defines the maximum length of the text element that is available in the
ABAP Workbench when translating the
text pool into other languages and should be set sufficiently large.
In the case of selection texts, there must be eight blanks before the
actual text in ENTRY . If you want to use a selection text from
the Dictionary, then the first character of ENTRY must be a "D".
The INSERT TEXTPOOL statement should be used with caution,
because it completely overwrites existing text pools.
Example ABAP Coding Attempt at a translation tool for text elements. The
text pools of a source and a target language are imported into internal
tables and, for each text element of the source language, a
selection screen is displayed as a
translation template. After the translation has been completed, the text
pool of the target language is overwritten with the correspondingly
changed internal table.
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.
wa2 = text2[ KEY primary_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.
Documentation extract taken from SAP system, � Copyright SAP AG. All rights reserved