The simple answer is yes. It is done with calling special routines for doing, say Date arithmetic. It is done in CICS, etc.

In the working storage area you can define a block of storage with various variables. You may wish to do this with a COPY so that the called program gets the pointer to said block, it refers to it in its LINKAGE SECTION. Then at compile time it can issue the COPY there, so that this block is defined the same way at execution time.

Now in operations, it may update any, none, or all fields in that block.

Upon return to the caller, the caller sees the results in that "block" of storage it had passed.

Steve Thompson

On 8/16/2023 9:18 AM, Paul Gilmartin wrote:
PARM is uniformly passed to a program by reference:
     R1 -> x'80000000' + -> halfword length || parameter string

If a COBOL program is called by a program other than Initiator, can
it modify that parameter string as an Assembler program might to
return a value to the caller?

(If a program is marked AMODE 64, does Initiator pass a 64-bit PLIST?)


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

Reply via email to