Previous Topic Next topic Print topic


Calling Programs According to How They Are Linked

When you call one COBOL program from another, you specify the name of the program to call either in a data-name or as a literal. For example:

CALL program-name USING ...  
CALL "program-name" USING ...  

where program-name (without quotation marks) is a data item that contains a valid program-name, and "program-name" (with quotation marks) is a literal string and is the actual name of a valid program.

Windows: The called program can be dynamically linked, where a dynamically linked module is a .dll file. The called program can also be dynamically loaded when the program runs, where a dynamically loadable module is a either a .dll file, an .int file or a gnt file.

Calling Dynamically Linked Programs

Use a CALL literal statement to call a dynamically linked program directly. If the program is not already in memory, the dynamic loader tries to find a dynamically loadable version of the program. If the program cannot be found, an RTS error message is issued.

Windows: Calling Dynamically Loadable Programs

Use either a CALL literal statement, or a CALL data-name statement, to call a dynamically loadable program, and make the dynamic loader run-time support module search for the called program.

If the file is not found, the run-time system tries to load a .dll file from PATH using the specified base-name.

Previous Topic Next topic Print topic