Compiling Applications

If you add SCL code to a frame, you must compile the frame before you can run it. Compiling is the process of translating your SCL code into a language that can be executed.
To compile a frame in the build environment, make the frame active, and then select Buildthen selectCompile.
If the frame and SCL code compile successfully, you should see a “Code generated” message in the Log window (and no warnings or errors). For example:
NOTE: Compiling MYFRAME.FRAME (SASUSER.EXAMPLE.MYFRAME.SCL).
NOTE: Code generated for MYFRAME.FRAME. Code size=4095.
To view the Log window, select Viewthen selectLog.
But as you know, typing code can occasionally lead to a mistake. For example, assume that while typing in some code, you add an extra 'x' to the SCL section name columnsListbox. When you attempt to compile the frame, the Log window shows that the compiler has issued a warning about a potential error:
NOTE: Compiling MYFRAME.FRAME (SASUSER.EXAMPLE.MYFRAME.SCL).
WARNING: [Line 43]  Label columnsListboxx is Defined but not referenced
NOTE: Code generated for MYFRAME.FRAME. Code size=4095.
Although the code compiles with only a warning (notice the words “Code generated” in the last line of the message), the frame will not function properly. Because of the mistake, the code for the columnsListbox will never be executed because the SCL label (with two x's) does not match the control name (with one x).
In general, if a frame compiles with a warning, you might be able to run it, but it could have run-time errors that make it unusable. You should review and understand the cause of all warnings. When appropriate, the cause of warnings should be fixed.
As discussed above, compiling a frame compiles the frame SCL for that frame. You can also compile frame SCL that was opened from its frame and maintain the frame/SCL association.
If you compile frame SCL independently of its frame, the compiled code is not associated with the frame, and the frame will not call the proper code when a user interacts with a control. Only frames with frame SCL code must be compiled.