To execute a LANSA function, the RDML code is translated into an High Level Language (HLL), which is then compiled into an executable program object. RDML is not an interpretive language. It creates a program object which is native to the execution environment so your application has optimum performance characteristics for that platform.
The RDML compile process and its generation of an intermediate HLL code is completely transparent. You do not need to see the generated High Level Language code and should never modify this code. LANSA is not a code generator. It is a complete application development suite using a Repository with a 4GL. Modification of the HLL code would destroy the integrity of your high level application definitions in LANSA. Once you modify HLL code on a platform, you restrict the code to execution on that specific platform only.
LANSA uses different High Level Languages depending on the targeted execution platform. For example, RPG and C/C++ provides the fastest execution for the IBM i platform. For Windows and Linux, ANSI C/C++ is used. For the Web, you might use C/C++, XHTML, XML and CGI/Apache Plug-in/Web Server Extension-in. LANSA's ability to use multiple languages is key to creating a platform independent application solution.
LANSA uses platform dependent compilers to produce executable program objects and has found that these compilers differ in their ability to handle large amounts of HLL code. Under certain conditions, the compiler can hit internal limits and fail to produce an executable program. To help understand this situation, the following points should be taken into consideration: