Your procedure contains several DEFINE statements in it for a variable, a browse, and four buttons. These are called static objects because they are fully defined in the ABL syntax that names them. Because of this, the ABL compiler knows most everything it needs to know about them when it compiles the procedure. This allows the compiler to store a complete structure in the r-code that defines each static object. At run time the interpreter scans the r-code and builds each object based on its definition.