> -----Original Message----- > From: IBM Mainframe Discussion List > [mailto:[EMAIL PROTECTED] On Behalf Of Paul Gilmartin > Sent: Wednesday, April 09, 2008 7:47 PM > To: IBM-MAIN@BAMA.UA.EDU > Subject: Re: TIOT filling up: too many dynamic concatenations > > > On Wed, 9 Apr 2008 19:13:19 -0400, Jim Mulder wrote: > > > > Is it necessary to concatenate all of the files? Could you > >restructure the program so that it allocates, opens, reads, closes, > >and unallocates each file sequentially? If the purpose is simply > >to read and process all of the records in all of the files, it would > >seem that this would accomplish the same objective, and the records > >would be processed in the same order. > > > How would the performance of a scheme that "allocates, opens, reads, > closes, and unallocates each file sequentially" (or concatenated, > which still does most of the same work) compare with allocating > a single POSIX pipe and using BPX1* system calls to copy the > various NFS files into it? My gut feeling is that Unix System > services is the big winner here. The NFS files must be opened, > read, and closed either way; why add the overhead of allocation, > unallocation, and z/OS OPEN and CLOSE? > > -- gil
Well, iffin it twere me, I'd replace the QSAM logic with directly reading the UNIX file using UNIX facilities (BPX1OPN / BPX1RED / BPX1CLO) . But I don't know how much work the OP wants / has time to do. Sometimes doing the minimal change is the best. Other times, it is better to simply bite the bullet and rewrite. And doing QSAM I/O does avoid some problems with the LF or CRLF at the end of the logical records. They would be presented with the BPX1RED, but not with QSAM. And QSAM, I think, will pad short records to the LRECL for RECFM=FB or emulate the RDW for RECFM=VB files. >From my understanding, and I can easily be wrong, doing the I/O via the UNIX subroutines does not do any sort of DYNALLOC. I am fairly sure that all the I/O is somehow done by the OMVS task. Much like the I/O is done by the DB2 system and not the job doing the SELECT statements. Of course, this does lengthen the path length due to the need to talk to the OMVS system. I don't know how that is actually done. My uneducated guess would be with some sort of ss-PC routine. But OCO forbids me from actually knowing how anything works. Wouldn't want the unwashed masses to know too much, now would we? -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html