OpenFrame PL/I Verification
This chapter describes how to compile the sample PL/I file after installing OpenFrame PL/I.
1. Compilation
The following describes how to use the ofpli command to compile the sample PLI file after installing OpenFrame PL/I.
- 
Find the sample file in the following location. ${OFPLI_HOME}/temp
- 
Execute the ofpli command and compile sample.pli file. For information about the command, refer to Compilation Command. ofpli -o sample.so sample.pli 
- 
If the following .so file is created after the compilation, then OpenFrame PL/I has been installed successfully. If a compilation error occurs, check the error. For error descriptions, refer to Compilation Error Messages. sample.so 
2. Compilation Command
The following describes how to use the ofpli compilation command.
- 
Usage ofpli source files ... [command options...] - 
Source files Files to compile. 
- 
Basic compile command options Option Description -o file name Sets an output file. -I <dir> Sets an INCLUDE directory. -MI <dir> Sets an INCLUDE directory to be used by the %INCLUDE statement. -SI <dir> Sets an INCLUDE directory to be used by the EXEC SQL INCLUDE. -l <library> Connects to a shared library. -L <dir> Sets a library path. -O0, -O1, -O2, -O3 Sets an optimization level. The lower the number, the faster the compilation but the compiled file may run slowly because it will be less optimized. -U Enables the dynamic load function. -dli Adds the DLITPLI interface. (IMS exclusive) -change old:new Changes an external entry name from "old" to "new". -g Specifies that compilation results contains debug information to use for source-level debugging. -fixeddec31 Sets the maximum precision for FIXED DECIMAL to 31. -trace Displays trace information about the start and end, parameters, and return values of a procedure. -trace-flow Displays trace information at the beginning and end of a procedure. -trace-param Displays trace information about parameters. -trace-return Displays trace information about return values. -rule-margin-w Displays an error message when a non-blank character is detected that is not part of the source code. -rule-margin-s Displays an error message when a non-blank character is detected that is not part of the source code. -system mvs, cics, ims Sets a runtime environment to run a PL/I program. (Default: mvs) -h Displays help. -help-esql Displays help for ESQL preprocessor. --version Displays the current version information of OpenFrame PL/I. -license Displays license information for OpenFrame PL/I. -enable-esql Enables ESQL preprocessor. -tibero Executes ESQL preprocessor on Tibero. Must be used in conjunction with the -enable-esql option. -oracle Executes ESQL preprocessor on Oracle. Must be used in conjunction with the -enable-esql option. -enable-cics Enables CICS preprocessor. -enable-ofasm Enables ASM calls via OpenFrame ASM. -enable-scan-sjis Enables Shift-JIS recognition. Cannot be used in conjunction with the -enable-scan-extascii option. -enable-scan-extascii Enables Extended-ASCII recognition. Cannot be used in conjunction with the -enable-scan-sjis option. -disable-inc-limit Disables file length limit in an %INCLUDE statement. --save-temps Saves the temporary files created during compilation. The following are the temporary files created by using the command option: - 
.mp: macro preprocessing result file created when SQL or CICS preprocessor is enabled 
- 
.pp: preprocessing result file 
- 
.bc: compilation result file 
- 
.o: assembly result file 
 
- 
- 
ESQL preprocessing command options Option Description -close-on-commit Automatically closes the cursor after a commit. -end-of-fetch (1403 | 100) Sets a SQLCODE to return to the user at an END-OF-FETCH state after executing a SQL statement. (Default value: 1403) -insert-no-data-error "no data found" error occurs for INSERT and SELECT statements. -prefetch N Prefetches N number of rows when a cursor is opened. -no-select-error An error occurs when the actual query returns more rows than given by the preprocessor due to causes like host variable. -unsafe-null Allows a NULL value when indicator variable is missing. 
 
- 
3. Compilation Error Messages
OpenFrame PL/I outputs error messages when an error occurs during compilation.
The following is a sample error format:
SAMPLE.pli 6:11: OFPLI1009 [S] Syntax error. [File name]: SAMPLE.pli [Position of code]: 6:11 [Error number]: OFPLI1009 [Error type]: [S] [Error message]: Syntax error.
| Item | Description | 
|---|---|
| File name | Name of the file where the error occurred. | 
| Position of code | Line and column numbers where the error originated from. | 
| Error number | Error number. | 
| Error type | 
 | 
| Error message | Error description. |