×
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.
I have a UPS monitoring program that runs in a job queue associated with
our controlling subsystem. When it tried to do the
ENDSBS SBS(*ALL) OPTION(*CNTRLD) DELAY(120)
I got
CPF1052
Message . . . . : ENDSBS *ALL not allowed in current environment.
Cause . . . . . : ENDSBS *ALL is allowed only from an interactive job
that
is started from a *SIGNON workstation entry in the controlling
subsystem.
ENDSBS *ALL is not allowed from a TELNET job, target pass-through job,
or
workstation function job. ENDSBS *ALL is only allowed in a batch job
when
the BCHTIMLMT parameter is specified.
Is this as simple as changing this to
ENDSBS SBS(*ALL) OPTION(*CNTRLD) DELAY(120) BCHTIMLMT(*NOMAX)
The remaining program is simply:
/* Wait for CPF0968: System ended to restricted condition. */
DOUNTIL (&SysStatus='1')
DLYJOB DLY(10)
CALL PGM(QWCRSSTS) PARM(&Ssts0200 &Len0200 &Format &ResetSts &ErrCode)
ENDDO
PWRDWNSYS DELAY(60) RESTART(*NO)
END:
DLCOBJ OBJ((&MsgQLib/&MsgQName *MSGQ *EXCL))
ENDPGM
From earlier in the code:
DCL &SysStatus *CHAR STG(*DEFINED) LEN(1) DEFVAR(&SSTS0200 31)
/* 0 System is not in restricted state. */
/* 1 System is in restricted state. */
Rob Berendt
As an Amazon Associate we earn from qualifying purchases.