COBOL Manual for TNS and TNS/R Programs
Calling Other Programs and Routines
HP COBOL Manual for TNS and TNS/R Programs—522555-006
23-13
Operating System Routines
Resolution
The compiler leaves operating system routines unresolved, and the loader resolves
them during fixup (see Fixup). The compiler is able to leave references to operating
system routine calls unresolved because a file named COBOLEXT (for the COBOL85
compiler) or NMCOBEXT (for the NMCOBOL compiler), which is part of every
HP COBOL RVU, contains dummy versions of all the operating system routines.
Another file, EXTDECS, contains TAL or pTAL external declarations for the
environment routines and is part of every operating environment RVU. A third file,
ZSYSCOB, contains HP COBOL source declarations of data items and structures for
Guardian procedures and operating environment messages.
There are two reasons to have your system manager change the files COBOLEXT (for
the COBOL85 compiler) or NMCOBEXT (for the NMCOBOL compiler) and EXTDECS:
•
You have additional routines that you want to be left unresolved until fixup (ask
your system manager to add dummy versions of them to the COBOLEXT,
NMCOBEXT, or EXTDECS file).
•
The formal parameter list of one or more system routines changes from extensible
to variable, in which case the EXTDECS file and the COBOLEXT or NMCOBEXT
file must also change.
For more information on the ZSYSCOB file, see the Guardian Application Conversion
Guide.
Extensible and Variable Parameter Lists
An operating system routine can have an extensible or a variable parameter list. Both
extensible and variable parameter lists allow you to omit unnecessary actual
parameters in the ENTER statement. The difference between extensible and variable
parameter lists is in what happens when new formal parameters are added to the
routine, as sometimes happens to operating system routines with a new RVU of the
operating environment.
When new formal parameters are added to an operating system routine that has an
extensible parameter list, you do not have to recompile programs that call the routine.