× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



From: Jon Paris

"In answer to your question I think the linkage gets passed in as a big
blob and you can break down the parms into a data structure."

Which is also true for RPG - so I thought I'd clarify this for the
archives.

COBOL parm passing is _exactly_ the same as for RPG (or indeed any other
language on the box). Of course the syntax is different but the mechanics
are identical.

For *PGM calls a pointer is passed for each parm.

For procedure calls the parms are passed on the stack (mostly) and will be
either a pointer (for reference parms) or the actual data for Value parms.

RPG maps parms to data via the *Entry PLIST or the Procedure Interface.

COBOL maps parms to data via the LINKAGE SECTION.

That's all there is to it.

I think, though, the question surrounds the issue of multiple parms, Jon. I
THINK Richard is implying that three 10-character parameters are passed as
one contiguous 30-character blob.

This may well be the case if all parameters are passed by value, but when
you pass things by reference you can't pass separate parameters as one data
structure unless you do a bunch of moves into the data structure prior to
the call and a bunch of moves out after the call.

The question is whether my three parameters are always contiguous. I could
test that out, I guess, by writing an RPG program with three specifically
discontinuous fields and then passing those three to the COBOL program to
see if "mashing" occurs.

Joe



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.