Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program Parameters →  Language Environment →  Text Pools 

SET LANGUAGE

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


SET LANGUAGE lang. 

Effect

This statement loads the list headers and text symbols from the text pool in the language specified in lang. lang must be a character-like data object that contains a language key with the length 1. The possible language keys are contained in the SPRAS column of the database table T002. The loaded text elements are only valid for the current program and not for the programs called within it. If lang contains a space, the behavior is undefined.

If there is no text pool for the specified language, the system loads the text pool in the secondary language which is specified in the profile parameter zcsa/second_language. If a secondary language is not set, no new text pool is loaded and sy-subrc is set to 4. In this case, the program continues to use the text elements of the previous text pool.

If list headers and text symbols are missing in a text pool loaded using SET LANGUAGE but existed in the previously loaded text pool, these are initialized.

System Fields

sy-subrc Meaning
0 The text pool of the specified language or secondary language was loaded.
4 Neither the text pool of the specified language nor the secondary language could be loaded.


Notes

  • When calling a program, the system loads the text pool in the logon language by default. If this text pool does not exist, the system loads the text pool in the secondary language. If this text pool also does not exist, all text elements remain initialized.
  • The SET LANGUAGE statement does not load the selection texts of the language specified. If this is necessary, the statement READ TEXTPOOL can be used. The selection texts read in can then be displayed on the selection screen using the function modules SELECTION_TEXTS_MODIFY and SELECTION_TEXTS_DTEL.
  • Do not confuse the statement SET LANGUAGE with the statement SET LOCALE LANGUAGE, used for setting the text environment. In particular, it does not have a corresponding GET LANGUAGE statement.

Example

Displays the text symbol text-010 in different languages. Output is produced for all languages for which the text pool exists in the specified language, or in the secondary language.

DATA langu LIKE sy-langu. 

SELECT spras FROM t002 
       INTO  @langu. 
  SET LANGUAGE langu. 
  IF sy-subrc = 0. 
    cl_demo_output=>write( |{ langu } { text-010 }| ). 
  ENDIF. 
ENDSELECT. 
cl_demo_output=>display( ).