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



On 02 May 2012 14:44, John Rusling wrote:

I did get dsplog to reveal this -

CPF1164 00 COMPLETION Job 812082/UROPER/CNSRDC9 ended on 05/01/12 at 16:13:24; .889 seconds used; end code 0
CNSRDC9 UROPER 812082 QWTMCEOJ 0000 05/01/12 16:13:24.379108 UROPER

As the job is no longer in the system, because it "thinks" it ran normally
I can't do the dspjoblog against it as Chuck suggested but I did post the
spool files generated yesterday.

QPDSPJOB1 spool file -
http://code.midrange.com/e48c1a3d72.html

QPDSPJOB2 spool file -
http://code.midrange.com/d446885f24.html

Not that it would necessarily be relevant\helpful, but the *SECLVL details of the completion message does contain additionally, at least a secondary return\ending code and number of routing steps. FWiW, the OUTPUT parameter of DSPLOG allows alternates to just *PRINT which only gives first level.

This issue reminds me that many times I had thought that the DSPJOB taken as part of the "Dump List" information should include some details of the joblog; e.g. the effective F6=Print output for the DSPMSG of the message that gave origin. Anyone who cares might issue a Design Change Request. Instead of ever pursuing anything, I always just added a "Default program" (DFTPGM) and\or added a *JOBINT to messages I was interested in. Only now I am wondering why there is not a *JOBLOG available on the DMPLST parameter; that was always the first thing my DFTPGM would generate. Anyhow...

The first DSPJOB information suggests that the CLLE program EDPROC in library WZZZJBL0 encountered an exception that was unmonitored, and the exception message received was defined with the "Data to be dumped" set to DMPLST(*JOB). The control from the bound procedure QCL_Function_Check_Exception_Handler passes to the common default CL run-time *FC handler program QCLXERR to send the message CPA0702 to the user [or QSYSOPR]; presumably sent to *EXT for this interactive job [i.e. "Type of job"=INTER].

It appears this CLLE program EDPROC was invoked with recursion by the RPG program EDCNW1; i.e. the stack shows EDPROC calling EDCNW1 which then calls EDPROC. That may or may not be expected.?

Because the job was running with "Inquiry message reply" handling of INQMSGRPY(*SYSRPYL), both of the incidents may have been auto-replied by the system reply list; review WRKRPYLE to see the settings. If there is no explicit entry nor generic [e.g. CPA0700] reply defined that should have auto-responded, then very probably the first response was an ignore and the second was to ignore or cancel; i.e. seems unlikely that the default setup to have the message generate a dump was in effect, else a QPPGMDMP would have appeared in the list of spools, and the first reply was unlikely a retry, else the second error would presumably have looked the same instead of the apparent "percolating" of the message.

Hmmm.. The time difference from the first to the second of is small, 16:12:17 to 16:12:22, but almost seems too long to infer directly a simple percolation of the error. All that had to happen was reclaiming the *NEW\14 activation group.

Of possible note [I have never used nor paid any attention to] the "Program return code" which in this scenario is 2 in the first incident and 1 in the second. The help text suggests that if "the job contains any RPG/400, COBOL, DFU, or sort utility programs, the completion status of the last program that has finished running is shown; otherwise a value of zero is shown." The program EDCNW1 in WZZZJBL0 which was running in the *NEW\14 activation would have been the last RPG program to complete running in the second incident; that was the RC1. The prior programs in the stack would have to be reviewed for the type of program to know which had the RC2.

V7R1M0

Program Stmt Inst Module or ... ActGrp CB
QCMD QSYS 04FA Dft\01
J55DDISC WZZZJBL0 1200 0013 Dft\02
J98INITA JDFOBJ 13700 00EB Dft\02
J98INITV JDFOBJ 16500 00D3 Dft\02
P00MENU JDFOBJ 066A Dft\02
J55D0801 WZZZJBL0 J55D0801 QTEMP Dft\02 Y
Procedure: _CL_PEP
J55D0801 WZZZJBL0 700 J55D0801 QTEMP Dft\02 N
Procedure: J55D0801
// second failure popped here; called QCLXERR per normal, as below
J55D0801 WZZZJBL0 J55D0801 QTEMP Dft\02 N
Procedure: QCL_Function_Check_Exception_Handler
// first failure went here; i.e. ignore the above entry
EDPROC WZZZJBL0 EDPROC QTEMP New\14 Y
Procedure: _CL_PEP
EDPROC WZZZJBL0 64600 EDPROC QTEMP New\14 N
Procedure: EDPROC
EDCNW1 WZZZJBL0 EDCNW1 QTEMP New\14 N
Procedure: _QRNP_PEP_EDCNW1
EDPROC WZZZJBL0 EDPROC QTEMP New\14 N
Procedure: QCL_Function_Check_Exception_Handler
QCLXERR QSYS 00C6 Dft\01 N
QMHSNINQ QSYS 07DE Dft\01 N

Regards, Chuck

As an Amazon Associate we earn from qualifying purchases.

This thread ...


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.