ABAP Keyword Documentation → ABAP Programming Guidelines → Robust ABAP → Internationalization
Character Set of Source Code
Other versions: 7.31 | 7.40 | 7.54
Background
ABAP source code is edited in the ABAP Editor tool in ABAP Workbench, itself an ABAP program. ABAP Editor saves and processes the ABAP source code internally in a data object (an internal table).
This means that the developer edits the source code in the current text environment, and the associated code page is used.
Rule
Use only 7-bit ASCII characters in source code
Use only characters from the 7-bit ASCII character set in ABAP source code. This avoids problems in systems with different code pages.
Details
The 7 bit ASCII character set contains only characters that also exist in all other code pages. Restricting the characters used in source code to this character set guarantees that this code can be edited and executed regardless of the logon language. Source code that contains characters from other character sets could, in the worst case, have incorrect syntax in a system with a different code page.
ABAP words in ABAP statements use only 7-bit ASCII characters anyway, which means that this rules to names, literals, and comments.
Note
Unicode programs are the only possible programs, so the rule above is fulfilled automatically for names. No appropriate syntax checks are made in obsolete non-Unicode programs. Comments are supposed to be written in English anyway, which removes the need for any country-specific special characters.
In a Unicode system, all source code is stored in Unicode and this is why this problem does not occur there. If a guarantee could be given that a program was written only for Unicode systems, then the rule above would at least not be needed for literals and comments. It is not possible to ensure that a program is not used in any non-Unicode systems, which is why general robustness rules should always be followed. This ensures that programs can be transported from Unicode systems to non-Unicode systems without conversion losses.