Section 14.28: Compile Time Environment Up Chapter 14: Extensions Section 14.30: SESSIONS 

14.29 SCHEMA v DATABASE

SCHEMA dbname — (for compile time)
MAIN
  DEFINE l_dbname CHAR(64)
  DATABASE l_dbname — (for runtime)
  ...
END MAIN
When you use the DATABASE statement at the top of a program, 4GL will connect you to the database when it enters the MAIN function. If however you replace the usual DATABASE keyword with SCHEMA at the head of the file containing the MAIN function, Aubit4GL will not connect to the database on beginning execution of MAIN - you will need to explicitly place a DATABASE statement in MAIN or use CONNECT or SESSION statements
The SCHEMA statement (a 4Js extension implemented by Aubit4GL for compatibility with 4J) will allow you to compile against a local database intending to run against a different database at runtime (perhaps on a different server).
You can also use a schema file instead of a database connection at compile time if you do the following:
Run the command:
adbschema -d dbname -fileschema > dbname.schema
export A4GL_SQLTYPE=FILESCHEMA
Now, in your program, use the usual DATABASE statement at the top of the file:
DATABASE dbname
MAIN
   ...
END MAIN
The format of the dbname.schema file is :
[table1]
column datatype size
column datatype size
column datatype size
[table2]
column datatype size
column datatype size
column datatype size
etc...
 Section 14.28: Compile Time Environment Up Chapter 14: Extensions Section 14.30: SESSIONS