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.
|
|
|
|
|