An even easier way might be:
ENDSBS SBS(*ALL) DELAY(60) ENDSBSOPT(*NOJOBLOG)
DLYJOB: DLYJOB DLY(60)
SAVLIB LIB(*NONSYS) DEV(TAP01)
MONMSG MSGID(CPF3785) EXEC(GOTO CMDLBL(DLYJOB)) /* +
Not all subsystems ended. */
Some jobs/servers/etc. (e.g. MQ Series and Domino) really don't like
being shutdown via the ENDSBS command. I recommend ending many of these
before issuing the ENDSBS.
Currently, before the ENDSBS(*ALL) we have:
CHGSYSVAL SYSVAL(QSFWERRLOG) VALUE(*NOLOG)
ENDJOB JOB(QCSTSRCD) SPLFILE(*YES)
MONMSG MSGID(CPF0000)
ENDTCPSVR SERVER(*HTTP)
ENDTCPSVR SERVER(*MGTC)
ENDHOSTSVR SERVER(*ALL)
ENDPLCMMON
ENDPCM2MON
RSLSHUTDWN
ENDSNPSBS
ENDMP
ENDTCP
ENDSBS SBS(QSNADS)
ENDSBS SBS(QSPL)
I agree with Pete about using STRSBS controlling-sbs-name to restart the
system.
Regards,
Scott Ingvaldson
Senior IBM Support Specialist
Midwest Region Data Center
Fiserv.
-----Original Message-----
From: Wayne McAlpine [mailto:wayne.mcalpine@xxxxxxxxxxxxxxxxx]
Sent: Wednesday, August 26, 2009 7:39 AM
To: midrange-l@xxxxxxxxxxxx
Subject: Re: Saving User and IBM libraries via CL program
You can check to see if the system is in a restricted state with this
code:
ENDSBS SBS(*ALL) DELAY(300) ENDSBSOPT(*NOJOBLOG)
LOOP1: DLYJOB DLY(60)
CALL PGM(QWCRSSTS) PARM(&RCVR X'0000001F' +
'SSTS0200' '*NO ' X'00000000') /* +
Call the retrieve system status API to +
verify restricted state */
CHGVAR VAR(&COUNT) VALUE(&COUNT + 1)
IF COND(&COUNT *GT 45) THEN(DO) /* If +
restricted state not achieved in 45 +
minutes */
SNDMSG MSG('Backup job aborted because system could +
not be placed in restricted state.') +
TOMSGQ(QSYSMSG)
MONMSG MSGID(CPF0000 MCH0000)
DMPCLPGM
QSYS/PWRDWNSYS OPTION(*IMMED) RESTART(*YES)
MONMSG MSGID(CPF0000 MCH0000)
GOTO CMDLBL(PGMEND)
ENDDO
IF COND(%SST(&RCVR 31 1) *NE '1') THEN(GOTO +
CMDLBL(LOOP1)) /* Loop until restricted +
state detected */
Vinay Gavankar wrote:
I want to write a simple CL program to unable the user to back up all
the User and IBM libraries.
The user will sign on as QSECOFR in QCTL (which is the controlling
subsystem) and call the program interactively and go home.
Will the following work?
PGM
ENDSYS OPTION(*IMMED)
SAVLIB LIB(*NONSYS) DEV(TAP01)
CALL QGPL/QSTRUP
RETURN
ENDPGM
QSTRUP in QGPL is the startup program used after IPL.
The thing I am worried about is SAVLIB will start before ENDSYS
completes and terminate with an error message.
Ofcourse, I am not sure it will all fit on one tape. So, if next
morning, it is stuck asking for a new tape, he will just take C to
cancel the SAVLIB command and then I to continue on to the QSTRUP.
Any suggestions please.
Thanks
As an Amazon Associate we earn from qualifying purchases.