Re: Dynamic memory in standard COBOL; using large data fields
- From: "William M. Klein" <wmklein@xxxxxxxxxxxxxxxxx>
- Date: Tue, 31 May 2005 18:05:54 GMT
For the z/OS environment, see:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ceea2150/3.3.5
and the related information about those callable services.
As has been pointed out by others, if you place the "allocated" storage routines
in a called program, this would be quite easy to port to other systems. MOST
(not all) COBOL compilers (pre-'02 Standard) work in environments where there
is some method of requesting the "system" to allocate (and free) storage - and
provide a way for your COBOL application to "address" such storage.
--
Bill Klein
wmklein <at> ix.netcom.com
"clvrmnky" <clvrmnky-uunet@xxxxxxxxxxxxxxxxxxxx> wrote in message
news:aR%me.8324$5u4.27086@xxxxxxxxxxxxxxxxx
> My review of available literature seems to indicate that COBOL-85 does
> not support the notion of dynamic memory. That is, there is no standard
> malloc or calloc style keywords or calls I can make to allocate and grow
> a hunk of memory for an application.
>
> I've got a simple buffer I want to be able to hold a significant amount
> of data if necessary (say, 64k) but is often asked to just hold a few
> hundred bytes.
>
> I've seen that the latest ANSI/ISO standard for COBOL has the notion of
> a pointer into a reserved chunk of memory, and obviously I could
> implement my own "heap" for the whole program. The program is pretty
> simple, though, so the only heap I might use is the fixed size of the
> field anyway.
>
> I'm just a bit concerned that my app (though short-running) grabs such a
> large chunk of memory that it only uses a fraction of normally. I'm
> also sort of stuck with passing the data (what I call a response) in a
> data field (and not, for example, in file) because my app is a bit of
> glue between a Java server and something else.
>
> That "something else" is up to the customer, and I've provided a
> copybook for them to get at the response via procedures in the glue app.
> The notion is to provide controlled access to our Java server from
> COBOL applications.
>
> In retrospect I suppose I _can_ write out to a short-live "file" of some
> manner, and pass a "handle" or reference to that file. Would this be
> the correct COBOL way for such an application? I know nothing of files
> on mainframes, but I'm a pretty smart guy and can figure this stuff out.
>
> My main concern is that I want to ensure that the same code will work
> fairly easily with a number of mainframe environments. Right now we
> target OS/390 on zOS, but conceivably we could end up supporting almost
> any COBOL-enabled system.
>
> Thanks.
>
> -- cm
.
- References:
- Dynamic memory in standard COBOL; using large data fields
- From: clvrmnky
- Dynamic memory in standard COBOL; using large data fields
- Prev by Date: Re: Dynamic memory in standard COBOL; using large data fields
- Next by Date: Re: SEARCH ALL
- Previous by thread: Re: Dynamic memory in standard COBOL; using large data fields
- Index(es):
Relevant Pages
|