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


This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2019 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].