× 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.



Hi Justin,

I uploaded iRPGUnit 2.5.0.b001 that has a new preference option "Capture
job log". Feel free to give it a try. You can install the update from:

https://irpgunit.sourceforge.io/beta-version/eclipse/rdi8.0/

Or download a local update site from:

https://sourceforge.net/projects/irpgunit/files/beta-version/

Regards,

Thomas.

Am 29.03.2019 um 16:50 schrieb Justin Taylor:
Assuming it shows the messages for the error, that should be fine. I imagine there will be a preference setting to turn that off and on.



-----Original Message-----
From: Thomas Raddatz [mailto:thomas.raddatz@xxxxxx]
Sent: Friday, March 29, 2019 9:34 AM
To: Rational Developer for IBM i / Websphere Development Studio Client for System i & iSeries <wdsci-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: [WDSCI-L] RPGUnit plugin & runtime errors

Hi Justin and Barbara,

So far I could do it this way using the "Command Log" view. Method logExplanation() is the only method for adding messages to the job log, that is public of class QSYSCommandSubsystem. It adds the "noisy" CL comment characters:

/* Result of iRPGUnit Test Case: RPGUNIT/RUPLUGINT3.SRVPGM, served by server job: 717871/QUSER/QZRCSRVS */
/* CPF5C61: Client request - run program &2/&1. */
/* ==> Sending program: *N, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: 13 */
/* ==> Receiving program: QZRCSRVS, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: */
/* CPF5C61: Client request - run program &2/&1. */
/* ==> Sending program: *N, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: 13 */
/* ==> Receiving program: QZRCSRVS, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: */
/* CPF5C61: Client request - run program &2/&1. */
/* ==> Sending program: *N, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: 13 */
/* ==> Receiving program: QZRCSRVS, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: */
/* CPC2206: Ownership of object &2 in &1 type &3 changed. */
/* ==> Cause . . . . . : The ownership of object &2 in library &1 type &3 has changed. */
/* ==> Sending program: *N, Module: *N, Procedure: *N, Statement nbrs.: 023A */
/* ==> Receiving program: QLIINSRT, Module: *N, Procedure: *N, Statement nbrs.: */
/* CPI2121: Replaced object &1 type *&4 was moved to &5. */
/* ==> Cause . . . . . : Replaced object &1 type *&4 from the &2 library was renamed to &3 and moved to the &5 library. Recovery . . . : If the replaced object is needed, you can use the Move Object (MOVOBJ) command to move the object from the &5 library into another library. The QRPLOBJ library is cleared during the next initial program load (IPL) of the system. The QRPLxxxxx library (where 'xxxxx' is the number of a primary auxiliary storage pool (ASP)) is cleared during the next vary on of the ASP device. */
/* ==> Sending program: *N, Module: *N, Procedure: *N, Statement nbrs.: 02D1 */
/* ==> Receiving program: QLIINSRT, Module: *N, Procedure: *N, Statement nbrs.: */
/* CPF1023: Data area &1 exists in &2. */
/* ==> Cause . . . . . : Data area &1 already exists in library &2. Recovery . . . : Either change the data area or the library name (DTAARA parameter) and then try the command again. */
/* ==> Sending program: *N, Module: *N, Procedure: *N, Statement nbrs.: 07DF */
/* ==> Receiving program: RUTESTCASE, Module: SETUP, Procedure: runCmd, Statement nbrs.: */
/* CPF9897: &1 */
/* ==> Cause . . . . . : No additional online help information is available. */
/* ==> Sending program: *N, Module: PGMMSG, Procedure: sndEscapeMsg, Statement nbrs.: 20800 */
/* ==> Receiving program: RUPLUGINT3, Module: RUPLUGINT3, Procedure: testToggleOK_1, Statement nbrs.: */
/* CPC2206: Ownership of object &2 in &1 type &3 changed. */
/* ==> Cause . . . . . : The ownership of object &2 in library &1 type &3 has changed. */
/* ==> Sending program: *N, Module: *N, Procedure: *N, Statement nbrs.: 023A */
/* ==> Receiving program: QLIINSRT, Module: *N, Procedure: *N, Statement nbrs.: */
/* CPI2121: Replaced object &1 type *&4 was moved to &5. */
/* ==> Cause . . . . . : Replaced object &1 type *&4 from the &2 library was renamed to &3 and moved to the &5 library. Recovery . . . : If the replaced object is needed, you can use the Move Object (MOVOBJ) command to move the object from the &5 library into another library. The QRPLOBJ library is cleared during the next initial program load (IPL) of the system. The QRPLxxxxx library (where 'xxxxx' is the number of a primary auxiliary storage pool (ASP)) is cleared during the next vary on of the ASP device. */
/* ==> Sending program: *N, Module: *N, Procedure: *N, Statement nbrs.: 02D1 */
/* ==> Receiving program: QLIINSRT, Module: *N, Procedure: *N, Statement nbrs.: */
/* CPDA0FF: &1 */
/* ==> Sending program: *N, Module: PGMMSG, Procedure: sndCompMsg, Statement nbrs.: 18300 */
/* ==> Receiving program: QZRCSRVS, Module: QZRCRPC, Procedure: CallProgram, Statement nbrs.: */
/* CPF5C61: Client request - run program &2/&1. */
/* ==> Sending program: *N, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: 13 */
/* ==> Receiving program: QZRCSRVS, Module: QZRCRPC, Procedure: LogRpcMessage, Statement nbrs.: */

Last but not least it seems that there is a bug that prevents attribute "sending program name" of object "QueuedMessage" from being filled. Same thing as with "receiving program instruction number".

At least I correctly set the required attributes (hopefully):

jobLog = new JobLog(system, job, user, number);
jobLog.setListDirection(true);
jobLog.clearAttributesToRetrieve();
jobLog.addAttributeToRetrieve(JobLog.MESSAGE);
jobLog.addAttributeToRetrieve(JobLog.MESSAGE_HELP_WITH_REPLACEMENT_DATA);
jobLog.addAttributeToRetrieve(JobLog.SENDING_PROGRAM_NAME);
jobLog.addAttributeToRetrieve(JobLog.SENDING_MODULE_NAME);
jobLog.addAttributeToRetrieve(JobLog.SENDING_PROCEDURE_NAME);
jobLog.addAttributeToRetrieve(JobLog.SENDING_STATEMENT_NUMBERS);
jobLog.addAttributeToRetrieve(JobLog.RECEIVING_PROGRAM_NAME);
jobLog.addAttributeToRetrieve(JobLog.RECEIVING_MODULE_NAME);
jobLog.addAttributeToRetrieve(JobLog.RECEIVING_PROCEDURE_NAME);
jobLog.addAttributeToRetrieve(JobLog.RECEIVING_STATEMENT_NUMBERS);
jobLog.setStartingMessageKey(startingMessageKey);
jobLog.load();

What do you think about that solution?

- Thomas.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

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.