|
Stephen,
Spooled output (e.g. OUTPUT(*PRINT)) is not designed for a program to
consume. It's designed to be printed output for a human being to read.
IBM is perfectly able to change the layout of WRKACTJOB's
OUTPUT(*PRINT) at any release, or even PTF, without providing any sort
of notification to people. They can change it around as much as they
like, because it's intended to be read by a human-being, and that won't
hurt a human being! People can adapt easily to text being in a
different place on a page.
Therefore I advise caution in your project. If your goal is simply to
take the spooled output and display it (without modification) to the
user, then WRKACTJOB OUTPUT(*PRINT) is okay.
But, if you plan to parse the output and use it programatically, PLEASE
think twice before using OUTPUT(*PRINT). Use an API, that's what
they're for. The API will perform better, and it will give you data
that's not going to break when releases change, PTFs are applied, or
anything like that.
Or, in the very very very unusual event that compatibility is broken in
an API, they'll provide notice of this in the Memo To Users and you will
be aware of the problem and can fix it before it causes grief.
Stephen Cochran wrote:
Preface to say that I'm very new to the as400, stronger unix background.CL
I'm trying to write a small CL program that puts the output of WRKACTJOB
into a PC file so that it can be FTPed off the as400, ideally having the
program executed by the FTP script using RMCD. I have the basics down asmessage. I
shown below:
WRKACTJOB OUTPUT(*PRINT)
/* Delay for 2 seconds for output to finish */
DLYJOB DLY(3)
/* Copy spool output to file KAF/WAJFILE */
CPYSPLF FILE(QPDSPAJB) TOFILE(KAF/WAJFILE) +
JOB(419900/USER/QPRTJOB) SPLNBR(*LAST)
DLTSPLF FILE(QPDSPAJB) JOB(419900/USER/QPRTJOB)
This will sometimes work, and sometimes not ending with a CPF3343
have tried ending a MONMSG line to catch those, but even putting aDLTSPLF
command in the MONMSG ends with the same error.the
At this point I've tried just about every combination of options (using
job name for JOB parameter, using SMBJOB for the WRKACTJOB command, etc)but
always run into some problem.somewhat
So my question is, what's the correct way to accomplish this? Being
new, code examples are always welcome. Thanks.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.