beautypg.com

Compaq COBOL AAQ2G1FTK User Manual

Page 460

background image

Interprogram Communication
12.8 Special Considerations for Interprogram Communication

12.8 Special Considerations for Interprogram Communication

Certain situations require special consideration when your programs will
communicate with other programs.

12.8.1 CALL and CANCEL Arguments

The CALL verb with a data item and the CANCEL verb with either a literal
or a data item are implemented by a Run-Time Library routine that finds the
appropriate program.

On Tru64 UNIX, these language features are implemented using

nlist

. Because

of this implementation, the following items will not work on stripped images (for
additional information on the

strip

command, see strip(1)):

CALL data item

CANCEL statement

cobcall

routine

cobcancel

routine

cobfunc

routine

On OpenVMS Alpha, these features are implemented by depositing information
in compiler generated psects.

12.8.2 Calling OpenVMS Alpha Shareable Images (OpenVMS)

When calling a subprogram installed as a shareable image, the program name
specified in the CALL statement can be either a literal or a data-name. The same
is true for the CANCEL verb. For more information on shareable images refer to
Compaq COBOL online help file and the OpenVMS Linker Utility Manual.

12.8.3 Calling Tru64 UNIX Shareable Objects (Tru64 UNIX)

When you call a subprogram contained in a shared object, the program name
specified in the CALL statement must be a literal. The CANCEL verb cannot be
applied to programs in shared objects. For more information on shared objects,
refer to the

12.8.4 Case Sensitivity on Tru64 UNIX and Windows NT

One difference between Tru64 UNIX and Windows NT, and OpenVMS Alpha
is case sensitivity. From program code creation, to your application internal
operations, you must maintain an awareness of this issue when you consider
porting COBOL source code between the platforms.

12.8.4.1 Linker Case Sensitivity

The linker on Tru64 UNIX and Windows NT is case sensitive. ‘‘JOB1’’ is not
the same routine as ‘‘job1’’. However, COBOL is defined as a case insensitive
language: CALL ‘‘job1’’ should invoke a routine whose PROGRAM-ID is JOB1.
This is not true of case sensitive languages, such as C. The names option flag
increases the flexibility of the Compaq COBOL compiler in communicating with
case sensitive languages.

The names option has three values:

lower—Forces all external data names, PROGRAM-ID names, and CALL
literals to be lowercase. This is the default.

12–30 Interprogram Communication