For Programmers: Free Programming Magazines  


Home > Archive > Cobol > June 2006 > Dynamic Allocation-Related Question









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Dynamic Allocation-Related Question
OppThumb

2006-05-31, 6:55 pm

Hi,

To explain up front, I'm working from examples given to me a long time
ago. I have a subroutine program (written in Assembler) to invoke SVC
99 and dynamically allocate files. Even though it was written years
ago, it's still a pretty good little utility program to handle all
types of files on all types of devices.

I also have a copy of a COBOL program that calls the subroutine,
specifically showing me how to allocate output files. Here's the catch
-- it appears that the program only allocates empty output files which
in my example were populated later, in another program.

Does anyone have an example of how to write to a dynamically allocated
output file in the same program where it was allocated? Assuming I have
the DDNAME, DSN, and any other file-related info available to me
(obviously, not in the FILE SECTION), how would I set up the OPEN,
CLOSE and WRITE statements? Can this even be done?

Thanks,

John

Pépé le Pew

2006-05-31, 6:55 pm


"OppThumb" <calahanj@gmail.com> a écrit dans le message de news:
1149084163.762998.123860@i39g2000cwa.googlegroups.com...
> Hi,
>
> To explain up front, I'm working from examples given to me a long time
> ago. I have a subroutine program (written in Assembler) to invoke SVC
> 99 and dynamically allocate files. Even though it was written years
> ago, it's still a pretty good little utility program to handle all
> types of files on all types of devices.
>
> I also have a copy of a COBOL program that calls the subroutine,
> specifically showing me how to allocate output files. Here's the catch
> -- it appears that the program only allocates empty output files which
> in my example were populated later, in another program.
>
> Does anyone have an example of how to write to a dynamically allocated
> output file in the same program where it was allocated? Assuming I have
> the DDNAME, DSN, and any other file-related info available to me
> (obviously, not in the FILE SECTION), how would I set up the OPEN,
> CLOSE and WRITE statements? Can this even be done?


the only thing do Dynalloc ( SVC 99 ), is to allocate your file, so you
do not need a DD Statement in your JCL for this file.

To Open, Close and Write on this file you MUST have a
SELECT, FD , OPEN, WRITE and CLOSE in your COBOL program
just like any other files.
You must call Dynalloc before OPEN.

You may also call a sub-program to handle all this, if you don't want
it in the main program.

William M. Klein

2006-05-31, 6:55 pm

First - for those who don't recognize the reference to SVC 99 - this is an IBM
mainframe question (not specified by original poster).

If you have a currently supported version of COBOL, then I would *strongly*
recommend switching from an Assembler/SVC 99 approach to using the
COBOL-specific method with "environment variables". See:

http://publibz.boulder.ibm.com/cgi-...gy3lr30/4.2.3.2

and

http://publibz.boulder.ibm.com/cgi-...gy3lr30/4.2.3.1

and

http://publibz.boulder.ibm.com/cgi-...gy3pg30/3.4.2.3

(and elsewhere)

--
Bill Klein
wmklein <at> ix.netcom.com
"OppThumb" <calahanj@gmail.com> wrote in message
news:1149084163.762998.123860@i39g2000cwa.googlegroups.com...
> Hi,
>
> To explain up front, I'm working from examples given to me a long time
> ago. I have a subroutine program (written in Assembler) to invoke SVC
> 99 and dynamically allocate files. Even though it was written years
> ago, it's still a pretty good little utility program to handle all
> types of files on all types of devices.
>
> I also have a copy of a COBOL program that calls the subroutine,
> specifically showing me how to allocate output files. Here's the catch
> -- it appears that the program only allocates empty output files which
> in my example were populated later, in another program.
>
> Does anyone have an example of how to write to a dynamically allocated
> output file in the same program where it was allocated? Assuming I have
> the DDNAME, DSN, and any other file-related info available to me
> (obviously, not in the FILE SECTION), how would I set up the OPEN,
> CLOSE and WRITE statements? Can this even be done?
>
> Thanks,
>
> John
>



Joe Zitzelberger

2006-06-17, 6:55 pm

In article <1149084163.762998.123860@i39g2000cwa.googlegroups.com>,
"OppThumb" <calahanj@gmail.com> wrote:

> Hi,
>
> To explain up front, I'm working from examples given to me a long time
> ago. I have a subroutine program (written in Assembler) to invoke SVC
> 99 and dynamically allocate files. Even though it was written years
> ago, it's still a pretty good little utility program to handle all
> types of files on all types of devices.
>
> I also have a copy of a COBOL program that calls the subroutine,
> specifically showing me how to allocate output files. Here's the catch
> -- it appears that the program only allocates empty output files which
> in my example were populated later, in another program.
>
> Does anyone have an example of how to write to a dynamically allocated
> output file in the same program where it was allocated? Assuming I have
> the DDNAME, DSN, and any other file-related info available to me
> (obviously, not in the FILE SECTION), how would I set up the OPEN,
> CLOSE and WRITE statements? Can this even be done?
>
> Thanks,
>
> John


If you look at your assembler routine, you will see a list of text
units. They are length prefixed strings that are equal to the related
JCL commands.

Find the one that does NEW & CATALOG and change it to SHR.
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com