× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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.

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 CL
program executed by the FTP script using RMCD. I have the basics down as
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 message. I
have tried ending a MONMSG line to catch those, but even putting a DLTSPLF
command in the MONMSG ends with the same error.

At this point I've tried just about every combination of options (using the
job name for JOB parameter, using SMBJOB for the WRKACTJOB command, etc) but
always run into some problem.

So my question is, what's the correct way to accomplish this? Being somewhat
new, code examples are always welcome. Thanks.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.