The other reason for the literal calls is because one wants the load module to have the subroutines statically linked that the COBOL program is using. In this way there is no LOAD done during execution time because COBOL "knows" that these are statically linked.

There are a few reasons to want this behavior.

The major one that comes to mind is you have to have static linkage for running in a CICS environment because the subroutines are not CICS definable (RDO) and so have to be statically linked.

Steve Thompson

On 4/8/2023 1:50 AM, Farley, Peter wrote:
Not true for non-static calls.  We are past COBOL 5 (V6.2 at the moment) and "CALL variable USING . . . 
" where "variable" has any of the "national" characters ($#@) works every time.  We 
have multiple dynamically called utility subroutines with those characters in the program name.

Why in the world are you using literal calls?  Or are you using the DYNAM option to 
convert literal calls to dynamic ones?  If so, bite the bullet - convert them to 
"CALL variable" and you are done.

The only legitimate case I have seen for using literal CALL's is when you are 
using nested subroutine programs in the same source file as the calling program.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Frank Swarbrick
Sent: Friday, April 7, 2023 6:07 PM
To: [email protected]
Subject: Cobol calling module with non alphanumeric no longer allowed???

I've tried calling modules (that exist!) with both '@' and '#' signs in them 
and Enterprise COBOL 5+ does not allow this.  COBOL 4 allowed this.  Is there 
any good reason why this is the case?
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to