The error message 'Overflow of the literal table' (GEN_LITERAL_OVERFLOW) occurs when compiling an ABAP/4 program.
During the generation of an ABAP program the following data is stored in the literal table.
- Strings of the form '.....' and '.....' (number)
- Constants of type I and P
- Names of procedures (forms, functions and methods) and modules
The literal table has a maximum size of 64K (the ABAP/4 runtime environment uses 16-bit offsets to address in this area).
Replace larger strings with text constants TEXT-###.
Use shorter names for procedures and modules.
Furthermore, the only real option is to split the program into several subroutines.
Store the program components in a separate subroutine pool and call them using an external Perform or by using function modules.
The 64K restriction is mitigated after Release 3.0. This means that when using multiple identical literals, the corresponding literal is only stored once in the literal table.
As of Release 4.6 you can use a maximum of 64K of different literals. The literal table size must not exceed 4GB.
No comments:
Post a Comment