COBOL Manual for TNS/E Programs (H06.08+, J06.03+)
and RUNNABLE directives, and there are no compilation errors, the ECOBOL compiler calls the
eld utility, which produces a DLL.
The ECOBOL compiler:
1. If the object file already exists and it is not a code 800 file, the compiler attempts to create
the file named OBJECT. If this file exists or is open by another process, the compiler creates
a file named ZZNCnnnn, where nnnn is a sequence of randomly chosen alphanumeric
characters.
2. If the object file already exists and is a code 800 file and is not open by another process, it
is purged and a new one is created.
3. If the object file is open by another process, the compiler renames the existing file, giving it
the name ZZNCnnnn where nnnn is a sequence of randomly chosen alphanumeric characters.
The specified object file is then created. If the existing object file cannot be renamed, the
compilation terminates.
The ECOBOL compiler tries the name ZZNCnnnn, where nnnn is a sequence of randomly chosen
alphanumeric characters. If the ZZNCnnnn name that the ECOBOL compiler tries already exists,
the compiler tries another one (with a different sequence of randomly chosen alphanumeric
characters). The compiler tries several different ZZNCnnnn names if necessary, but does not keep
trying indefinitely. If the compiler stops trying to name the object file, verify that you have create
access to the designated subvolume.
Suppose that you specify the name OBJFILE for the object file, but the operating environment is
executing a process from a file named OBJFILE. The ECOBOL compiler cannot replace the executing
version of OBJFILE, so the linker renames the old object file ZLDAFnnn and names the new object
file OBJFILE as you specified. The next user who executes the object program named OBJFILE
executes the new object file, even if another user is still executing the old, renamed one.
Use the TACL command FILES to detect ZZBInnnn or ZZNCnnnn files and the TACL command
PURGE to purge the unwanted ones.
Specifying the Default COPY Library
The default COPY library is the library from which COPY statements read text when no library
name is specified in the COPY statement. If you do not specify the default COPY library (as in the
compilation examples in the preceding topic), then COPYLIB is the default COPY library. To specify
a different default COPY library, such as COPLIB2, include its name in the compilation command:
89> ECOBOL /IN XYZ, OUT $SPX/ XYZOBJ, COPLIB2
For more information about COPY libraries, see Using COPY and SOURCE Libraries.
Specifying Compiler Directives
Compiler directives can be included in the source program or specified in the compilation command.
To specify compiler directives (such as NOFIPS and NOWARN) in the compilation command, put
them at the end of the compilation command, as in this example (note the semicolons):
90> ECOBOL /IN XYZ, OUT $SPX/ XYZOBJ, COPLIB2;NOFIPS;NOWARN
Compiler directives specified in this way are considered to be on line zero of the source program.
Most of them stay active until the compiler encounters a conflicting directive later in the source
program, but it depends on the directive. For information about specific directives, see Compiler
Directives (page 533).
Directives for Syntax Checking Only
If you compile your program with the SYNTAX directive, the compiler only checks its syntax and
does not generate object code. Because the compiler does not generate object code, it runs much
faster (but only if there are no errors).
90> ECOBOL /IN XYZ, OUT $SPX/ XYZOBJ, COPLIB2; SYNTAX
Compiling an HP COBOL Source Program 755










