On 12/9/2011 8:20 AM, Joe Owens wrote:
This is a great thread. It is great to see someone enthusiastic about
learning assembler.

Your EODAD routine looks like a potential problem. The access method calls
your EODAD inside the get. Here you would normally set a flag to say EOD
occured and return to operating system (BR14), and test this flag after
each GET.

I disagree. Why test a flag after every GET? QSAM essentially
does that for you and branches you to EODAD automatically; if
you find yourself in your EODAD routine you know you're ready
for the next phase of your processing, which might be just
shutting down (CLOSE and RETURN), but it might be more complex,
such as taking subtotals, CLOSE-ing one file and OPEN-ing
another, etc.

But to add the overhead of test-and-branch after every GET is
totally unnecessary.



If your routine works, I guess you are 'getting away with it' because you
use BAKR/PR and not save areas. No doubt there could be debate out this,
as if it works, you way is more efficient than testing a flag after every
get. Your way looks very like sas eof= :)

Further suggestions you could try
read the input dataset names, either from parm=, or from a SYSIN type DD,
then dynamically allocate them before opening them.

Have fun



--

Kind regards,

-Steve Comstock
The Trainer's Friend, Inc.

303-355-2752
http://www.trainersfriend.com

* To get a good Return on your Investment, first make an investment!
  + Training your people is an excellent investment

* Try our tool for calculating your Return On Investment
    for training dollars at
  http://www.trainersfriend.com/ROI/roi.html

Reply via email to