
|
PGM
DCL &PWRDWN *CHAR 1
DCL &SIGNOFF *CHAR 1
DCL &LOG *CHAR 7
DCL &CMDPWR *CHAR 128
DCL &FIN *LGL
DCL &ENDSYS *CHAR 1
DCL &SBSQUAL *CHAR 20
 
MONMSG CPF1907 EXEC(GOTO FINEXEC)
 
SNDPGMMSG MSG('/* ------------------ */') TOPGMQ(*EXT) +
MSGTYPE(*RQS)
RCVMSG PGMQ(*EXT) MSGTYPE(*RQS) RMV(*NO)
 
CRTDTAARA DTAARA(QTEMP/RQSMDA) TYPE(*CHAR) LEN(138)
MONMSG CPF0000
CHGDTAARA DTAARA(QTEMP/RQSMDA) VALUE(' ')
 
CRTDTAQ DTAQ(QTEMP/RQSMDQ) MAXLEN(512)
MONMSG CPF0000
 
CALL PGM(RQSM) PARM(&FIN)
IF &FIN RETURN
FINEXEC:
 
RCVMSG MSGTYPE(*EXCP)
 
RTVDTAARA DTAARA(QTEMP/RQSMDA (1 1)) RTNVAR(&PWRDWN)
RTVDTAARA DTAARA(QTEMP/RQSMDA (2 1)) RTNVAR(&SIGNOFF)
RTVDTAARA DTAARA(QTEMP/RQSMDA (3 7)) RTNVAR(&LOG)
RTVDTAARA DTAARA(QTEMP/RQSMDA (10 128)) RTNVAR(&CMDPWR)
RTVDTAARA DTAARA(QTEMP/RQSMDA (138 1)) RTNVAR(&ENDSYS)
 
IF (&PWRDWN *EQ 'O') DO
IF (&CMDPWR *EQ ' ') DO
PWRDWNSYS
MONMSG MSGID(CPF0000) EXEC(SIGNOFF LOG(*LIST))
ENDDO
ELSE DO
CALL PGM(QCMDEXC) PARM(&CMDPWR 128)
MONMSG MSGID(CPF0000) EXEC(SIGNOFF LOG(*LIST))
ENDDO
ENDDO
|
ELSE DO
IF (&ENDSYS = 'O') THEN(DO)
RTVSYSVAL SYSVAL(QCTLSBSD) RTNVAR(&SBSQUAL)
STRSBS %SST(&SBSQUAL 11 10)/%SST(&SBSQUAL 1 10)
CHGJOB BRKMSG(*NORMAL)
CHGMSGQ MSGQ(QSYSOPR) DLVRY(*BREAK)
ENDDO
ENDDO
 
IF (&SIGNOFF *EQ 'O') DO
SIGNOFF LOG(&LOG)
MONMSG CPF0000
ENDDO
 
 
SNDPGMMSG MSG('Commande(s) exécutée(s).') MSGTYPE(*COMP)
ENDPGM
|