Page History
...
- To minimize the possibility of hitting a compiler's internal limits, LANSA restricts the number of lines of RDML/RDMLX code must be translated as a unit. RDML Functions are limited to 5000 lines while Components and RDMLX Functions are limited to 32000 lines.
- LANSA commands generate different amounts of HLL code. Workstation commands (like DISPLAY, REQUEST and POP_UP) and I/O commands (like FETCH, SELECT and UPDATE) generate much more HLL code than commands like CHANGE, IF and BEGIN_LOOP.
- The compiler being used. For example, an RDMLX LANSA Component consisting of 18000 lines of RDML was translated into a 28MB C/C++ HLL file and this file was successfully compiled by the Microsoft 32-bit compiler, but the component had to be reduced to 9000 lines in order to be compiled by IBM i's compiler.
- Enabling RDML/RDMLX debugging. When 4GL debugging is requested, additional HLL code is produced which can cause the compiler limits to be exceeded. For example, using the HLL code produced by the 9000 lines of RDML from the previous example, IBM's IBM i C/C++ compiler failed when 4GL debugging was requested, but was successful without it.
- Enabling observability (3GL debugging). Sometimes it is necessary to debug an executable program using the HLL code produced by LANSA. Requesting this feature can also impact the amount of HLL code that can be compiled. For example, when observability was selected, 9000 lines of RDML had to be reduced to 4500 lines before IBM i's compiler would compile successfully.
&<img src="../resources/images/opentoc-dark.png" title="Open Contents List" border="0"&>