skip to main content
OpenEdge Development: Basic Development Tools
Application Compiler : Using the Application Compiler
 
Using the Application Compiler
Choose ToolsApplication Compiler from the menu bar of any other OpenEdge tool to start the Application Compiler.
When you start the Application Compiler, OpenEdge displays the window shown in Figure 18.
Figure 18: Application Compiler window
You use the Application Compiler window to select options and define settings for your compilation.
Using the files/directories selection list
The files/directories selection list displays the files or directories you want to compile. The default list contains only a period (.) indicating the OpenEdge working directory. You can modify the file and directory specifications using the action buttons.
Using the toggle boxes
The toggle boxes let you specify criteria for compiling your procedures. The following list describes the toggle boxes and how selecting them affects your compilation:
*Save New .r FilesTable 18 describes how choosing this toggle box affects the compilation process.
 
Table 18: Save New .r toggle box and the compilation process 
Action
R-code file
Compiler
Do not select Save New .r Files
Does not exist
Creates a temporary r‑code file that lasts only for the duration of the current OpenEdge session or until OpenEdge runs out of directory entries (-D) and must reuse the directory entry for that r‑code file.
Exists
Displays the error message Compile aborted. SAVE not specified and .r file exists. The message informs you there already is a valid r‑code file, and the source file is not compiled unless you specify Save New .r Files or Remove Old .r Files.
Select Save New .r Files
Does not exist
Compiles the source file and saves the new r‑code file. If errors occur during compilation, no r‑code file is created.
Exists
Compiles the source file; the new r‑code file replaces the existing r‑code file. If errors occur during compilation, no r‑code file is created, and the existing r‑code file remains unchanged.
If you specify a directory in the Save Into field of the Compiler Options dialog box, the Application Compiler saves the new r‑code files into that directory. If you do not specify a directory in the Save Into field, the Application Compiler saves the new r‑code files into the directory that contains the source code files.
*Look in Subdirectories — Searches for and compiles the specified source files in the subdirectories of the selected directory.
*Remove Old .r Files — Deletes any existing r‑code file that corresponds to the specified source file in the same directory. You do not need to select this option if you are going to save the new r‑code files because newly compiled r‑code files automatically replace existing ones.
You must select this option when you want to compile source files for only the OpenEdge session (that is, without saving the r‑code files). Thereafter, when you run the compiled procedures, the Application Compiler ensures that you are running the latest versions. If you do not first remove the existing r‑code files, the Application Compiler does not recompile the source files. Instead, the error message Compile aborted. SAVE not specified and .r file exists appears.
*Only Compile if No .r File — Compiles the specified source files only when no corresponding r‑code files are found in the selected directory.
Note: You cannot specify both Remove Old .r Files and Only Compile if No .r File at the same time. When you choose one option, the Compiler automatically deactivates the other.
Using the action buttons
The action buttons let you modify the file and directory selection list and compile your files. Table 19 describes the action buttons in the Application Compiler window.
 
Table 19: Compiler action buttons 
Button
Action
Propath
Displays all the directories that are located on your PROPATH. Highlight the directories you want to add to the file/directory selection list and choose OK.
Add
Adds a file or directory outside of the PROPATH to the file/directory selection list. Specify the file or directory name you want to add.
Modify
Modifies the currently selected file or directory specification. Specify the change you want to make to the selected file or directory specification.
Delete
Deletes the currently selected file or directory from the file/directory selection list. Verify that you want to delete the selected file or directory from the selection list.
Start Compile
Compiles all the files specified in the file/directory selection list.
When you choose the Add or Modify action buttons, the File Specification dialog box shown in Figure 19 appears.
Figure 19: File Specification dialog box
Table 20 describes the user-interface elements of the File Specification dialog box.
 
Table 20: File Specification dialog box elements 
User‑interface element
Purpose
File or directory name
Specifies the name of the file or directory you want to add or modify.
Types
Specifies the filter the Application Compiler uses to perform a match on other strings such as file or directory names. A filter frequently uses a wildcard character to match strings, for instance, a*.* returns all filenames beginning with the letter a and containing a period. The default types are *.p and *.w, which return all file or directory names with the .p and .w extensions. The AVM evaluates filters with the MATCHES function. To specify more than one type, separate the types with a space; do not separate them with a comma.
Files
Displays the Files dialog box, which lists the files in the currently selected directory.
Using the menu bar
The following sections describe the pull‑down menus and the options available on the menu bar in the Application Compiler. Table 21 describes the menu bar options.
 
Table 21: Application Compiler menu 
Menu
Description
File
Exits the Application Compiler
Compile
Compiles ABL source files
Tools
Accesses other OpenEdge tools
Options
Accesses Compiler options and lets you save your Compiler settings
Help
Accesses the OpenEdge Help system
File menu
The File menu lets you exit the Application Compiler. Table 22 describes the menu that appears when you choose this option.
 
Table 22: File menu 
Menu option
Description
Exit
Ends your current Application Compiler session
Compile menu
The Compile menu lets you compile ABL source files. Table 23 shows the Compile menu.
 
Table 23: Compile menu 
Menu option
Description
Start Compile
Compiles source files
When you select the CompileStart Compile option, the Compiler Results dialog box shown in Figure 20 appears.
Figure 20: Compiler Results dialog box
The dialog box displays messages about the status of the compilation. If you do not choose OptionsShow Status, the Compiler only indicates when the compilation completes. If you choose OptionsShow Status, however, the Compiler displays all messages generated during the compilation. For example, the messages state whether a file compiled successfully or whether it failed, and if so, on what line. Other messages include notices of incompatible CRC, and so on.
Tools menu
The Tools menu lets you access other tools. See Chapter 1, “Application Development Environment” for more information.
Options menu
The Options menu allows you to specify file information and display all the compilation status messages. Table 24 lists the items on the Options menu.
 
Table 24: Options menu 
Menu option
Description
Compiler...
Supplies more information about the source files to be compiled
Show Status
Shows all messages in the Compiler Results window when you compile
Choose OptionsCompiler to supply more information about the file you want to compile. When you choose this option, the Compiler Options dialog box appears as shown in Figure 21.
Figure 21: Compiler Options dialog box
Table 25 describes the fields in the Compiler Options dialog box.
 
Table 25: Compiler Options dialog box fields
Field
Purpose
Default File Spec
Specifies the types of files you want to add to the file/directory specification list. The default file specification is *.p, *.w.
Message Log File
Specifies the file to which the Application Compiler sends compiler messages and status. The default output filename is compile.log.
Save into
Specifies the directory where you want to save the r‑code files. By default, the Application Compiler saves the r‑code files into the directory that contains the source file.
Languages
Identifies the language segment to be created in the r‑code. The Application Compiler compiles the source file as well as strings translated into different language segments into the r‑code file. The default language is the language in your source code. Enter the names of the languages separated by a space. ABL stores translated character strings for each specified language in separate text segments within the r‑code file. For the Application Compiler to include translations, you must be connected to a translation database.
V6Frame
Selects a V6Frame option (Box, Underline, or Reverse Video) or accepts the default (No). V6Frame causes OpenEdge to compile and run Progress Version 6 applications on the latest version of OpenEdge. If you activate both the V6FRAME and STREAM-IO options, the STREAM-IO option overrides the V6FRAME option. For more information, see the COMPILE statement in OpenEdge Development: ABL Reference.
Stream-IO
Specifies that all output from the compiled procedure be formatted for output to a file or printer. All font specifications are ignored and all frames are treated as if they included the USE-TEXT option.
Listing File
Specifies the name of the listing file. The Application Compiler produces a listing of the compilation that includes the following information:
*The number of the block where each statement belongs
*The name of the source file you are compiling
*The date and time at the start of the compilation
*The line number of each line in the source file
*The complete text of all include files and the name of any subprocedures
*The buffer and frame scopes to procedures, internal procedures, and trigger blocks
Append (Listing File)
Specifies to append the current listing of the compilation to an existing listing file. If you do not select this option, the Application Compiler creates a new listing file that replaces any file of the same name.
Page Width
Specifies the page width for the listing file. The default page width is 80 characters per line. Enter a number between 80 and 255.
Page Length
Specifies the page length for the listing file. The default page length is 60 lines per page. Enter a number between 10 and 127.
XML Format
Specifies that cross-reference information between source files and database objects is to be written in XML format, rather than unformatted text, for improved readability. If you select this option, the label of the next field changes from Xref File to Xref File/Dir, and the Append (Xref File) option is disabled.
Note: The XML Schema used with these XML output files is stored in the following location: $DLC/properties/schemas/xrefdxxxx.xsd. The xxxx portion of the file name indicates the version number of the file.
Xref File (Xref File/Dir)
Specifies the file where the Application Compiler writes cross‑reference information between source files and database objects.
If you do not select the XML Format option, for each object reference, the xref file contains one unformatted and blank‑separated line containing the following:
*Procedure name
*Source filename
*Line number
*Reference type
*Object identifier
If you select the XML Format option, when compiling a single procedure or class, you can provide a file name for the XML output file. This output file is overwritten each time the compiler needs to compile a linked class or procedure.
When compiling several procedures and classes, supply a directory name. The Application Compiler uses this directory and a standard naming convention to capture the cross-reference information from multiple procedures and classes in separate files. Contrast this with the APPEND mode used by the Xref file in standard text format.
When a directory is supplied, the compiler takes the root name of the procedure or class being compiled and creates a cross-reference file with this name and a .xref.xml file extension (sourcefilename.xref.xml). It stores it in the directory path specified, creating any subdirectories needed. If the main directory specified does not exist, an error will occur.
See the COMPILE statement in OpenEdge Development: ABL Reference for more information on the cross‑reference file.
Append (Xref File)
Specifies to append the xref listing of the source file to an existing xref file. If you do not select this option, the Application Compiler creates a new xref file that replaces any file of the same name. This option is disabled if you select the XML Format option.
Debug File
Specifies the file where the Application Compiler writes a listing to the debug file. The debug file consists of a line‑numbered listing of the procedure with the text of all preprocessor include files, names, and parameters inserted.
Encryption Key
Specifies the key the Application Compiler uses during compilation to decrypt the source file and any encrypted include files. Encrypted files provide security against users accessing and modifying source files. OpenEdge lets you use either the default key to encrypt source procedures or your own encryption key. If you use your own encryption key, enter it here. If you use an encryption key, the Application Compiler does not produce a listing file as a security measure.
For more information on encryption keys and procedures, see the COMPILE statement in OpenEdge Development: ABL Reference and the XCODE utility in OpenEdge Deployment: Managing ABL Applications.
Minimize R-code Size
Allows you to enter Yes to generate r-code with the minimum executable size or accept the default (No). An r-code file comprises multiple segments of varying length. During execution, r-code segments are swapped in and out of memory as required. However, not all segments are required in a deployment environment. Only the Application Debugger uses the debugger segment, and only the Open Client Proxy Generator (ProxyGen) uses the signature descriptor data. Typically, the end user never invokes the Application Debugger or ProxyGen as part of running their application. Thus, if you are deploying this r-code to an appropriate environment, you can use this option to deploy it with the smallest possible footprint.
Generate MD-5
Allows you to enter Yes to generate, and store in the r-code, a 128-bit MD5 value that WebClient™ can use to determine if the r-code file has changed since the previous version of the application. Progress Software Corporation recommends setting this option to Yes when compiling WebClient application procedures. Only WebClient uses the resulting MD5 value.
Defaults
Changes the current Compiler options to the Application Compiler default settings.
Help menu
The Help menu options allow you to access online help information about the Application Compiler. See Chapter 1, “Application Development Environment” for more information.