|
The device recovery action can be set system wide buy using the system value
or on a job by job basis using the chgjob command. The possible values are
as follows:
Device recovery action (DEVRCYACN)
Specifies the recovery action to take for the job when an I/O error
is encountered on the *REQUESTER device for interactive jobs. This
attribute is ignored for non-interactive jobs.
*SAME
The work station recovery action does not change.
*SYSVAL
The value in the system value QDEVRCYACN is used as the device
recovery action for this job.
*MSG
The application program requesting the I/O operation receives an
error message indicating the I/O operation has failed.
*DSCMSG
The job is automatically disconnected. When the job is
reconnected, it receives an error message indicating that an I/O
error has occurred but the device has been recovered. Although
the device has been recovered, the contents of the display prior
to the error will need to be shown.
*DSCENDRQS
The job is automatically disconnected. Once it is reconnected,
the ENDRQS command is issued specifying the previous request
processor. If there is no request processor, an error message
is issued.
*ENDJOB
The job is ended with the *IMMED option. A job log is produced
for the job.
*ENDJOBNOLIST
The job is ended with the *IMMED option. No job log is produced
for the job.
NOTE: Users should have authority to issue the CHGJOB (CHANGE JOB)
Command.
Using the *DSCMSG an RPG program might looks as follows to handle the
message and recover the screen(redisplay). You can check the Feed back area
for the Major and minor codes of Major '83' and Minor 'E1' this
indicates a disconneted condition has occured. In the program sample below
the program in a do loop based on indicator 56 wehn that occure and the
major and minor is not 83 & E1 the program ends else it loops back and
redisplays the screen.
TSTRSP/qrpglesrc TSR002P
SEQNBR*... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ...
7 ... ... 8 ... ... 9 ... ...
+---------------------------------------------------------------------------
------------------------------+
|
|
| 100
F****************************************************************
|
| 200 F* PURPOSE : PROGRAM TO DEMONSTRATE USE OF DEVRCYACN
PARAMETER |
| 300 F* THIS WILL ONLY WORK FOR *REQUESTER DEVICES
AND |
| 400 F* DOES NOT APPLY TO BATCH, PASS-THROUGH, OR
|
| 500 F* WORK-STATION-FUNCTION JOBS.
|
| 600
F*---------------------------------------------------------------
|
| 700 F* (C) 1995 - RUSSELL POPEIL
|
| 800
F****************************************************************
|
| 900
.....F*ilename++IPEASFRlen+LKlen+AIDevice+.Functions++++++++++++++++++++++++
++++Comments+++++++++ |
| 1000 FTSD001P CF E WORKSTN INFDS(DSPDS)
|
| 1100
.....D*ame+++++++++++ETDsFrom+++To/L+++IDc.Functions++++++++++++++++++++++++
++++Comments+++++++++ |
| 1200 DCMD S 80 DIM(1) CTDATA PERRCD(1)
|
| 1300 D SDS
|
| 1400 D Prog *PROC
|
| 1500 D User 254 263
|
| 1600 DDsPDS DS
|
| 1700 D Major 401 402
|
| 1800 D Minor 403 404
|
| 1900 F*----------------> MAIN BODY <------------------------
|
| 2000
.....C*0N01Factor1+++++++Opcode(E)+Factor2+++++++Result++++++++Len++D+HiLoEq
....Comments+++++++++ |
| 2100 C Z-ADD 80 CMDLEN
15 5 |
| 2200 C CALL 'QCMDEXC'
CHGJOB |
| 2300 C PARM CMD(1)
|
| 2400 C PARM CMDLEN
|
| 2500 C*
|
| 2600 C DOU *In03
DO UTL EXIT |
| 2700 C DOU not *in56
DO TILL NO ERR |
| 2800 *
|
| 2900 C Write D001RH
57 WRITE HEADING |
| 3000 C Write D001RC
57 WRITE COMMANDS |
| 3100 C ExFmt D001R1
56 DISPLAY PROMPT |
| 3200 *
|
| 3300 C IF *in56
I/O ERROR ? |
| 3400 C IF Major <> '83' and Minor <> 'E1'
NOT |
| 3500 C* HANDLE NON-RECONNECTED CONDITIONS HERE
|
| 3600 C Eval *inlr = *on
EOJ |
| 3700 C Return
GET OUT |
| 3800 C EndIf
MAJOR IFNE 83 |
| 3900 C EndIf
*IN56 IFEQ 1 |
| 4000 C EndDo
*IN56 DOUEQ 1 |
| 4100 C EndDo
*IN03 DOUEQ 1 |
| 4200 C Eval *Inlr = *on
|
| 4300 C Return
|
| 4400 ** CMD
|
| 4500 CHGJOB DEVRCYACN(*DSCMSG)
|
|
|
+---------------------------------------------------------------------------
------------------------------+
Russ Popeil
IBM Certified Specialist - RPG Programmer & AS/400 Sales Associate
Avnet Computer - Integrated Solutions. Bottom-Line Results.
Office: 516-677-9346, Fax: 516-677-0296, Beeper: 516-786-5846
eMail: Russ.popeil@avnet.com
http://www.avnetcomputer.com
-----Original Message-----
From: owner-midrange-l@midrange.com
[mailto:owner-midrange-l@midrange.com]On Behalf Of Neil Palmer
Sent: Tuesday, July 21, 1998 5:25 PM
To: 'MIDRANGE-L@midrange.com'
Subject: RE: QDEVRCYACN system value
Sign on to a interactive session, preferably with a dumb terminal.
Make sure the job is logging LOG (4 0 *SECLVL).
Go into your application.
Power off your screen.
Now go look at the joblog and see what messages were generated.
Now code an error handling subroutine to check for those messages and
provide recovery in you application.
If you are in most IBM programs (try SEU) and do the same, when you
power back on you should be able to get to the last screen you were
displaying.
(Check QDEVRCYACN *DSCMSG - that may be preferable to *MSG).
Neil Palmer AS/400~~~~~
NxTrend Technology - Canada ____________ ___ ~
Thornhill, Ontario, Canada |OOOOOOOOOO| ________ o|__||=
Phone: (905) 731-9000 x238 |__________|_|______|_|______)
Cell.: (416) 565-1682 x238 oo oo oo oo OOOo=o\
Fax: (905) 731-9202 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mailto:NPalmer@NxTrend.com AS/400 The Ultimate Business Server
http://www.NxTrend.com
> -----Original Message-----
> From: Bleddyn Williams [SMTP:bleddyn@morpheus.ltd.uk]
> Sent: Tuesday, July 21, 1998 11:19 AM
> To: MIDRANGE-L@midrange.com
> Subject: QDEVRCYACN system value
>
> Can someone tell me the text for the QDEVRCYACN system value says the
> following when set at *MSG
>
> Signals the I/O error message to the user's
> application program. The application program performs
> error recovery.
>
> Where should I find this message? We have had several system crashes
> and IBM
> are saying its because of messages perhaps being generated from here
> but we
> cant find any where would they go?
>
> Thanks Bleddyn
>
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to MIDRANGE-L@midrange.com.
| To subscribe to this list send email to MIDRANGE-L-SUB@midrange.com.
| To unsubscribe from this list send email to MIDRANGE-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.