Johnny Luo wrote:
On 8/26/06, Tom Marchant <[EMAIL PROTECTED]> wrote:
PC hardware shouldn't be the problem, since z/OS is reporting 3 million
EXCPs. That's a lot of I/O.
Tom, thanks a lot!!!!!!!!!!!!!!!!!!!!!!!!
Because I never worked on a real z machine(except for some small work),
I'm not sure about the cause of this problem. Now that you told me that
that's a lot of I/O no matter it's a real or not-real zos, I feel i should
do more
research on this before bothering our customer.
Could it be that you REWRITE with a different record length and COBOL
has to
shift the whole file? Perhaps a GTF trace will help you figure out what
is
happening.
You might do better to write a third file, rather than REWRITE the whole
file. Then either rename the third file or copy it back over the INFILE.
It would provide better recovery in the event of an abend, as well.
Yes, you're right. Before this project, i dealed with some COBOL batch
systems and
they seldom use 'rewrite' and just write output to a totally new QSAM
file.
But our customer's original PL/I programs use 'rewrite' and at this time we
cannot
change that(we're converting PL/I to COBOL but we cannot modify the
original
PL/I
programs). And we must first run customer's PL/I programs so that we can
run
our
converted cobol programs later to compare the output.
Because the pl/i program is simple, i'll put its main logic here:
(It's our customer's production program)
DO WHILE (!EOF_FILEA & !EOF_FILEB);
DO WHILE (!EOF_FILEB & FILEA_ACT<=FILEB_ACT);
IF (FILEA_ACT = FILEB_ACT) THEN DO;
FILEB_AMT = FILEA_AMT;
REWRITE FILE(FILEB) FROM(FILEB_REC);
END;
READ FILE(FILEB) INTO(FILEB_REC);
END;
READ FILE(FILEA) INTO(FILEA_REC);
END;
So your equivalent COBOL logic is something like this?
perform until end-filea or end-fileb
perform until end-fileb or filea-act > fileb-act
if filea-act = fileb-act
move filea-amt to fileb-amt
rewrite fileb-rec
end-if
read fileb at end set end-fileb
end-perform
read filea at end set end-filea
end-perform
close filea fileb
Kind regards,
-Steve Comstock
----------------------------------------------------------------------
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