Code Comments
Programming Forum and web based access to our favorite programming groups.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
Post Follow-up to this message"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.
Post Follow-up to this messageFirst - for those who don't recognize the reference to SVC 99 - this is an I BM 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 >
Post Follow-up to this messageIn 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.
Post Follow-up to this messagePowered by vBulletin
Copyright 2000-2006 Jelsoft Enterprises Limited.