COBOL Manual for TNS/E Programs (H06.08+, J06.03+)
Table 110 HP COBOL and pTAL Parameter Correspondence (continued)
pTAL Data Type
Passed by ValuePassed by ReferenceCOBOL Data Category
Not applicableSTRINGAlphanumeric Edited
Not applicableSTRINGAlphanumeric
Resolution
The compiler leaves operating system routines unresolved, and the loader resolves them during
fixup (see Fixup (page 816)Fixup). The compiler is able to leave references to operating system
routine calls unresolved because a file named ECOBEXT, which is part of every HP COBOL RVU,
contains dummy versions of all the operating system routines. Another file, EXTDECS, contains
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 ECOBEXT 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 ECOBEXT 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 ECOBEXT 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.
If an operating system routine’s formal parameter list changes from variable to extensible, the code
that was compiled to expect a variable parameter list can usually call the new version of the routine
that has an extensible parameter list (at a slight performance penalty). For more information about
variable and extensible parameter lists, see the pTAL Reference Manual.
Generations of Operating System Routines
Like the file ECOBEXT, the files ECOBEX1 and ECOBEX0 are part of every HP COBOL RVU. Like
the file EXTDECS, the files EXTDECS1 and EXTDECS0 are part of every operating environment
RVU. This table shows the relationship between these files.
File of Dummy Versions of operating
system routines
Generation of Operating System
Routines
File of Operating System Routine
Declarations
ECOBEX0LatestEXTDECS0
ECOBEX1Next-to-latestEXTDECS1
ECOBEXTSecond-next-to-latestEXTDECS
Different generations of the same operating system routine might have different formal parameter
lists (see Extensible and Variable Parameter Lists). Because of this, programs compiled with
ECOBEX0 might execute only on the very latest RVU of the operating environment, programs
Calling Non-COBOL Routines 801










