Depending on the context in which you use it, the CODEVERSION keyword is interpreted by FILEDATA as either the CODEVERSION modifier or the CODEVERSION file attribute. In all the syntax diagrams in this section, the metatoken <CODEVERSION modifier> is used to refer to CODEVERSION in its sense as a modifier. Where CODEVERSION is used in its sense as a file attribute, the metatoken <file attributes> appears in the syntax diagram, and CODEVERSION is listed as one of the permitted file attributes in the explanation of the task request. The following paragraphs discuss the CODEVERSION modifier and the CODEVERSION file attribute separately.
CODEVERSION Modifier
── CODEERSION ─┬─────────────────────────────┬────────────────────────┤ └─<relation>──<release level>─┘
The simple CODEVERSION form of the modifier causes FILEDATA to report only on the code files that will either not be executable on the next release or will receive deimplementation warning messages if executed on the next release.
The CODEVERSION <relation> <release level> form of this modifier specifies that FILEDATA is to report on only the code files whose version number bears the indicated relationship to the given release level.
CODEVERSION File Attribute
Displays the version of the compiler that compiled the code file, the version from the $ VERSION card in the symbol file, the code file target level, and the relevant code file privilege or status information, as shown in Code File Status Information.
Table 32. Code File Status Information
Status |
Explanation |
---|---|
COMPILER |
A compiler code file, enabled by the COMPILER option of the MP system command |
CONTROL |
A control program, enabled by the CONTROL option of the MP system command |
LOCKED |
A locked program, enabled by the LOCKED option of the MP system command |
PRIVILEGES |
Can be any of the following:
|
TADS-CAPABLE |
A TADS-capable program |
EXECUTABLE: UNSAFE |
A program that contains unsafe constructs that has been marked as executable with the EXECUTABLE option of the MP system command |
NON-EXECUTABLE: BIND-ONLY |
A program that cannot be executed because it is suitable only for binding to a host program |
NON-EXECUTABLE: BIND-ONLY (WAS UNSAFE) |
A program that contains unsafe constructs that has been marked with the EXECUTABLE option of the MP system command, but is still not executable because it is suitable for binding only. |
NON-EXECUTABLE: UNSAFE |
A program that cannot be executed because it contains unsafe constructs |
NON-EXECUTABLE: UNSAFE& BIND-ONLY |
A program that cannot be executed because it contains unsafe constructs and is suitable only for binding to a host program |
The terms EXECUTABLE and NON-EXECUTABLE refer to the privilege category that allows you to execute a given code file. Normally, a user with the appropriate privilege can run any EXECUTABLE code file. A nonprivileged user cannot run a NON-EXECUTABLE code file. For example, only an operator can apply the CM (Change MCP) system command to an MCP code file, while only a privileged user, a system user, or an operator can apply the SL (Support Library) system command to an unsafe library code file.