Transfer group job menu tools -- Code
/** GRPJOBMNU -- Group Job Utility **/
/** Author: Vengoal Chang **/
/** 2002/04/08 **/
/** GRPJOBDFTC : Create Default Dataarea in QUSRTEMP **/
GRPJOBDFTC: +
PGM
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
CHGVAR &USER 'GRPJOBDFT'
CRTDTAARA DTAARA(QUSRTEMP/GRPJOBDFT) TYPE(*CHAR) +
LEN(1200) TEXT('Group Job Default +
DataArea for Job & Comand')
MONMSG CPF0000
CMDKEY:
CHGDTAARA DTAARA(QUSRTEMP/&USER (1 25)) VALUE('WRKSPLF')
CHGDTAARA DTAARA(QUSRTEMP/&USER (26 25)) +
VALUE('?WRKJOBQ QBATCH')
CHGDTAARA DTAARA(QUSRTEMP/&USER (51 25)) +
VALUE('WRKACTJOB SBS(QBATCH)')
CHGDTAARA DTAARA(QUSRTEMP/&USER (76 25)) +
VALUE('WRKACTJOB SBS(*ALL)')
CHGDTAARA DTAARA(QUSRTEMP/&USER (101 25)) +
VALUE('WRKSBMJOB')
CHGDTAARA DTAARA(QUSRTEMP/&USER (126 25)) VALUE('WRKMSG')
CHGDTAARA DTAARA(QUSRTEMP/&USER (151 25)) VALUE('WRKJOB')
CHGDTAARA DTAARA(QUSRTEMP/&USER (176 25)) VALUE(' ')
CHGDTAARA DTAARA(QUSRTEMP/&USER (201 25)) VALUE('CALL +
QUSCMDLN')
CHGDTAARA DTAARA(QUSRTEMP/&USER (226 25)) VALUE('CALL +
QEZSNDMG')
CHGDTAARA DTAARA(QUSRTEMP/&USER (251 25)) VALUE(' ')
CHGDTAARA DTAARA(QUSRTEMP/&USER (276 25)) +
VALUE('SIGNOFF')
JOB:
CHGDTAARA DTAARA(QUSRTEMP/&USER (301 20)) VALUE('Group +
Job 1')
CHGDTAARA DTAARA(QUSRTEMP/&USER (321 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (902 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (351 20)) VALUE('Group +
Job 2')
CHGDTAARA DTAARA(QUSRTEMP/&USER (371 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (903 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (401 20)) VALUE('Group +
Job 3')
CHGDTAARA DTAARA(QUSRTEMP/&USER (421 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (904 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (451 20)) VALUE('Group +
Job 4')
CHGDTAARA DTAARA(QUSRTEMP/&USER (471 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (905 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (501 20)) VALUE('Group +
Job 5')
CHGDTAARA DTAARA(QUSRTEMP/&USER (521 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (906 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (551 20)) VALUE('Group +
Job 6')
CHGDTAARA DTAARA(QUSRTEMP/&USER (571 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (907 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (601 20)) VALUE('Group +
Job 7')
CHGDTAARA DTAARA(QUSRTEMP/&USER (521 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (908 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (651 20)) VALUE('Group +
Job 8')
CHGDTAARA DTAARA(QUSRTEMP/&USER (671 30)) VALUE('CALL +
QCMD')
CHGDTAARA DTAARA(QUSRTEMP/&USER (909 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (701 20)) VALUE('Work +
Query(s)')
CHGDTAARA DTAARA(QUSRTEMP/&USER (721 30)) VALUE('WRKQRY')
CHGDTAARA DTAARA(QUSRTEMP/&USER (910 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (751 20)) VALUE('Query +
Manager')
CHGDTAARA DTAARA(QUSRTEMP/&USER (771 30)) VALUE('STRQM')
CHGDTAARA DTAARA(QUSRTEMP/&USER (911 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (801 20)) VALUE(SQL)
CHGDTAARA DTAARA(QUSRTEMP/&USER (821 30)) VALUE('STRSQL')
CHGDTAARA DTAARA(QUSRTEMP/&USER (912 1)) VALUE('Y')
CHGDTAARA DTAARA(QUSRTEMP/&USER (851 20)) VALUE('STRPDM')
CHGDTAARA DTAARA(QUSRTEMP/&USER (871 30)) VALUE('STRPDM')
CHGDTAARA DTAARA(QUSRTEMP/&USER (913 1)) VALUE('Y')
COLOR:
CHGDTAARA DTAARA(QUSRTEMP/&USER (901 1)) VALUE('1')
RETURN
ENDPGM
========================================
* GRPJOBMNU -- Group Job Utility
* Author: Vengoal Chang
* 2002/04/08
* GRPJOBMNUD -- TRANSFER GROUP JOB AND COMMAND WINDOW
* COMPILED WTIH RSTDSP(*YES)
*
A DSPSIZ(24 80 *DS3)
A CA03(03 'EXIT')
A CA01(01 'EXIT')
A CA02(02 'ALT')
A CF04(04 'PROMPT')
A CA05(05 'REFRESH')
A CF06(06 'JOBS')
A CF07(07 'FKEYS')
A CF08(08 'PREV')
A CF09(09 'NEXT')
A CA10(10 'ABOUT')
A CA11(11 'COLOR')
A CA12(12 'CANCEL')
A
A R OPTIONS WINDOW(2 9 17 60 *NOMSGLIN)
A* R OPTIONS WINDOW(2 9 18 60)
A 81 WDWBORDER((*COLOR BLU) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 82 WDWBORDER((*COLOR GRN) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 83 WDWBORDER((*COLOR WHT) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 84 WDWBORDER((*COLOR RED) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 85 WDWBORDER((*COLOR TRQ) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 86 WDWBORDER((*COLOR YLW) +
A (*DSPATR RI) +
A (*CHAR ' '))
A 87 WDWBORDER((*COLOR PNK) +
A (*DSPATR RI) +
A (*CHAR ' '))
A OVERLAY
A CF13(13)
A CF14(14)
A CF15(15)
A CF16(16)
A CF17(17)
A CF18(18)
A CF19(19)
A CF20(20)
A CF21(21)
A CF22(22)
A CF23(23)
A CF24(24)
A 1 1USER
A 1 12'Transfer to Group Job/Co-
A mmand Key Window'
A DSPATR(RI)
A 1 53SYSNAME
A COLOR(BLU)
A 91 17 1'F1/F3=Exit F2=Alt-Keys F4=Prompt -
A F5=Rsfresh F6=Jobs F7=FKeys'
A DSPATR(RI)
A N91 17 1'F2=Alt F8=Rtv-Prev F9=Rtv-Nxt -
A F10=About F11=Color F12=Cancel'
A DSPATR(RI)
* BORDER END
A 2 1' 1)'
A 31 COLOR(RED) DSPATR(BL)
A 61 COLOR(PNK)
A 3 1' 2)'
A 32 COLOR(RED) DSPATR(BL)
A 62 COLOR(PNK)
A 4 1' 3)'
A 33 COLOR(RED) DSPATR(BL)
A 63 COLOR(PNK)
A 5 1' 4)'
A 34 COLOR(RED) DSPATR(BL)
A 64 COLOR(PNK)
A 6 1' 5)'
A 35 COLOR(RED) DSPATR(BL)
A 65 COLOR(PNK)
A 7 1' 6)'
A 36 COLOR(RED) DSPATR(BL)
A 66 COLOR(PNK)
A 8 1' 7)'
A 37 COLOR(RED) DSPATR(BL)
A 67 COLOR(PNK)
A 9 1' 8)'
A 38 COLOR(RED) DSPATR(BL)
A 68 COLOR(PNK)
A 10 1' 9)'
A 39 COLOR(RED) DSPATR(BL)
A 69 COLOR(PNK)
A 11 1'10)'
A 40 COLOR(RED) DSPATR(BL)
A 70 COLOR(PNK)
A 12 1'11)'
A 41 COLOR(RED) DSPATR(BL)
A 71 COLOR(PNK)
A 13 1'12)'
A 42 COLOR(RED) DSPATR(BL)
A 72 COLOR(PNK)
A 14 1'Selection or command:'
A 14 53TIME COLOR(GRN) DSPATR(RI)
A 15 1' ===>'
A CMDLINE 51 B 15 7
A MSGLINE 56 O 16 2DSPATR(HI)
*
A JOB1 20 B 2 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB1CMD 30 B 2 26COLOR(TRQ)
A N30 RTRN01 1 B 2 57COLOR(TRQ)
A 30 2 28'F13='
A COLOR(BLU)
A 30 CMD13 25 B 2 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB2 20 B 3 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB2CMD 30 B 3 26COLOR(TRQ)
A N30 RTRN02 1 B 3 57COLOR(TRQ)
A 30 3 28'F14='
A COLOR(BLU)
A 30 CMD14 25 B 3 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB3 20 B 4 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB3CMD 30 B 4 26COLOR(TRQ)
A N30 RTRN03 1 B 4 57COLOR(TRQ)
A 30 4 28'F15='
A COLOR(BLU)
A 30 CMD15 25 B 4 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB4 20 B 5 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB4CMD 30 B 5 26COLOR(TRQ)
A N30 RTRN04 1 B 5 57COLOR(TRQ)
A 30 5 28'F16='
A COLOR(BLU)
A 30 CMD16 25 B 5 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB5 20 B 6 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB5CMD 30 B 6 26COLOR(TRQ)
A N30 RTRN05 1 B 6 57COLOR(TRQ)
A 30 6 28'F17='
A COLOR(BLU)
A 30 CMD17 25 B 6 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB6 20 B 7 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB6CMD 30 B 7 26COLOR(TRQ)
A N30 RTRN06 1 B 7 57COLOR(TRQ)
A 30 7 28'F18='
A COLOR(BLU)
A 30 CMD18 25 B 7 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB7 20 B 8 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB7CMD 30 B 8 26COLOR(TRQ)
A N30 RTRN07 1 B 8 57COLOR(TRQ)
A 30 8 28'F19='
A COLOR(BLU)
A 30 CMD19 25 B 8 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB8 20 B 9 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB8CMD 30 B 9 26COLOR(TRQ)
A N30 RTRN08 1 B 9 57COLOR(TRQ)
A 30 9 28'F20='
A COLOR(BLU)
A 30 CMD20 25 B 9 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB9 20 B 10 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB9CMD 30 B 10 26COLOR(TRQ)
A N30 RTRN09 1 B 10 57COLOR(TRQ)
A 30 10 28'F21='
A COLOR(BLU)
A 30 CMD21 25 B 10 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB10 20 B 11 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB10CMD 30 B 11 26COLOR(TRQ)
A N30 RTRN10 1 B 11 57COLOR(TRQ)
A 30 11 28'F22='
A COLOR(BLU)
A 30 CMD22 25 B 11 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB11 20 B 12 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB11CMD 30 B 12 26COLOR(TRQ)
A N30 RTRN11 1 B 12 57COLOR(TRQ)
A 30 12 28'F23='
A COLOR(BLU)
A 30 CMD23 25 B 12 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
*
A JOB12 20 B 13 5CHGINPDFT
A 30 COLOR(WHT)
A N30 DSPATR(UL) COLOR(TRQ)
A 30 80
AO 30N80 DSPATR(PR)
A N30 JOB12CMD 30 B 13 26COLOR(TRQ)
A N30 RTRN12 1 B 13 57COLOR(TRQ)
A 13 28'F24='
A COLOR(BLU)
A CMD24 25 B 13 33
A 80 DSPATR(PR) COLOR(YLW)
A N80 COLOR(TRQ)
A*
A
A R DUMMY
A* KEEP
A ASSUME
A 1 3' '
=======================================
/** GRPJOBMNU -- Group Job Utility **/
/** Author: Vengoal Chang **/
/** 2002/04/08 **/
/** GRPJOBTFRC : TFRGRPJOB initial PGM **/
GRPTFRTFRC: +
PGM
DCL VAR(&JOB) TYPE(*CHAR) LEN(1)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&PGM) TYPE(*CHAR) LEN(10)
DCL VAR(&PGMLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPJOB) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPJOBCMD) TYPE(*CHAR) LEN(30)
DCL VAR(&CMDLEN) TYPE(*CHAR) LEN(2) VALUE('30')
DCL VAR(&MSGTXT) TYPE(*CHAR) LEN(100)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(100)
DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4)
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)
INIT:
SETATNPGM PGM(GRPJOBMNUC)
RTVJOBA USER(&USER)
RTVGRPA GRPJOB(&GRPJOB)
CHKOBJ OBJ(QUSRTEMP/&USER) OBJTYPE(*DTAARA)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(CALLPGM))
CHKJOBID:
IF COND(&GRPJOB *EQ 'JOB1') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(321 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB2') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(371 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB3') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(421 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB4') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(471 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB5') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(521 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB6') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(571 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB7') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(621 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB8') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(671 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB9') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USER-
(721 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB10') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USE-
R (771 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB11') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USE-
R (821 30)) RTNVAR(&GRPJOBCMD))
IF COND(&GRPJOB *EQ 'JOB12') THEN(RTVDTAARA DTAARA(QUSRTEMP/&USE-
R (871 30)) RTNVAR(&GRPJOBCMD))
CALLPGM:
IF COND(&GRPJOBCMD *EQ '*NONE') THEN(DO)
ENDGRPJOB
GOTO CMDLBL(EOJ)
ENDDO
IF COND(&GRPJOBCMD *EQ ' ') THEN(CALL PGM(QSYS/QCMD))
ELSE CMD(DO)
CALL PGM(QCMDCHK) PARM(&GRPJOBCMD 30)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(STDERR))
CALL PGM(QCMDEXC) PARM(&GRPJOBCMD 30)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(STDERR))
ENDDO
GOTO EOJ
STDERR: +
RCVMSG MSGTYPE(*LAST) MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) -
SNDMSGFLIB(&MSGFLIB)
IF COND(&MSGID *EQ ' ') THEN(GOTO CMDLBL(EOJ))
SNDUSRMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) MSGDTA(&MSGDTA) -
MSGTYPE(*INFO)
GOTO CMDLBL(STDERR)
GOTO CMDLBL(EOJ)
EOJ: +
RETURN
ENDPGM
=======================================
/** GRPJOBMNU -- Group Job Utility **/
/** Author: Vengoal Chang **/
/** 2002/04/08 **/
/** GRPJOBMNUC : Attention Program **/
GRPJOBMNUC: +
PGM
DCL VAR(&JOB) TYPE(*CHAR) LEN(1)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&PGM) TYPE(*CHAR) LEN(10)
DCL VAR(&PGMLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPJOB) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPJOBN) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPJOBL) TYPE(*CHAR) LEN(1056)
DCL VAR(&JOBLST) TYPE(*DEC) LEN(4 0)
DCL VAR(&GRPJOBCNT) TYPE(*DEC) LEN(3 0)
DCL VAR(&GRPJOBCMD) TYPE(*CHAR) LEN(30)
DCL VAR(&CMDLEN) TYPE(*CHAR) LEN(2) VALUE('30')
DCL VAR(&MSGTXT) TYPE(*CHAR) LEN(100)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(100)
DCL VAR(&MSGKEY) TYPE(*CHAR) LEN(4)
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGQ) TYPE(*CHAR) LEN(10)
DCL VAR(&USRTXT) TYPE(*CHAR) LEN(50)
DCL VAR(&CMDKEY) TYPE(*CHAR) LEN(25)
DCL VAR(&COLOR) TYPE(*CHAR) LEN(1)
DCL VAR(&COLORD) TYPE(*DEC) LEN(1 0)
DCL VAR(&EXTMNU) TYPE(*CHAR) LEN(1) VALUE('Y')
dcl &CmdString *char 2000 /* Command string */
dcl &CmdMsgKey *char 4 /* Command message key */
/* API parameters */
dcl &APIdata *char 2000 /* Retrieved API data */
dcl &APIMsgType *char 10 /* Request message type */
dcl &APIoptions *char 20 /* Format CPOP0100 options */
dcl &APIlength *char 4 /* Data length returned */
/* Other variables */
dcl &MsgKey *char 4 /* Message key */
dcl &Length *dec (9 0) /* Data length */
DCLF GRPJOBMNUD
INIT:
RTVJOBA USER(&USER)
RTVUSRPRF RTNUSRPRF(&USER) MSGQ(&MSGQ) TEXT(&USRTXT)
CHKOBJ OBJ(QUSRTEMP/&USER) OBJTYPE(*DTAARA)
MONMSG MSGID(CPF9801) EXEC(DO)
CRTDUPOBJ OBJ(GRPJOBDFT) FROMLIB(QUSRTEMP) +
OBJTYPE(*DTAARA) NEWOBJ(&USER)
ENDDO
RTVDTAARA DTAARA(QUSRTEMP/&USER (301 20)) +
RTNVAR(&JOB1)
RTVGRPA GRPJOB(&GRPJOB)
IF (&GRPJOB = '*NONE') DO
CHGGRPA GRPJOB(JOB1) MSGQ(&MSGQ) TEXT(&JOB1)
MONMSG MSGID(CPF1305)
RTVGRPA GRPJOB(&GRPJOB)
CHGDTAARA DTAARA(*GDA (121 12)) VALUE('100000000000')
ENDDO
RTVDTAARA DTAARA(QUSRTEMP/&USER (321 30)) +
RTNVAR(&JOB1CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (902 1)) +
RTNVAR(&RTRN01)
RTVDTAARA DTAARA(QUSRTEMP/&USER (351 20)) +
RTNVAR(&JOB2)
RTVDTAARA DTAARA(QUSRTEMP/&USER (371 30)) +
RTNVAR(&JOB2CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (903 1)) +
RTNVAR(&RTRN02)
RTVDTAARA DTAARA(QUSRTEMP/&USER (401 20)) +
RTNVAR(&JOB3)
RTVDTAARA DTAARA(QUSRTEMP/&USER (421 30)) +
RTNVAR(&JOB3CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (904 1)) +
RTNVAR(&RTRN03)
RTVDTAARA DTAARA(QUSRTEMP/&USER (451 20)) +
RTNVAR(&JOB4)
RTVDTAARA DTAARA(QUSRTEMP/&USER (471 30)) +
RTNVAR(&JOB4CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (905 1)) +
RTNVAR(&RTRN04)
RTVDTAARA DTAARA(QUSRTEMP/&USER (501 20)) +
RTNVAR(&JOB5)
RTVDTAARA DTAARA(QUSRTEMP/&USER (521 30)) +
RTNVAR(&JOB5CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (906 1)) +
RTNVAR(&RTRN05)
RTVDTAARA DTAARA(QUSRTEMP/&USER (551 20)) +
RTNVAR(&JOB6)
RTVDTAARA DTAARA(QUSRTEMP/&USER (571 30)) +
RTNVAR(&JOB6CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (907 1)) +
RTNVAR(&RTRN06)
RTVDTAARA DTAARA(QUSRTEMP/&USER (601 20)) +
RTNVAR(&JOB7)
RTVDTAARA DTAARA(QUSRTEMP/&USER (521 30)) +
RTNVAR(&JOB7CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (908 1)) +
RTNVAR(&RTRN07)
RTVDTAARA DTAARA(QUSRTEMP/&USER (651 20)) +
RTNVAR(&JOB8)
RTVDTAARA DTAARA(QUSRTEMP/&USER (671 30)) +
RTNVAR(&JOB8CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (909 1)) +
RTNVAR(&RTRN08)
RTVDTAARA DTAARA(QUSRTEMP/&USER (701 20)) +
RTNVAR(&JOB9)
RTVDTAARA DTAARA(QUSRTEMP/&USER (721 30)) +
RTNVAR(&JOB9CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (910 1)) +
RTNVAR(&RTRN09)
RTVDTAARA DTAARA(QUSRTEMP/&USER (751 20)) +
RTNVAR(&JOB10)
RTVDTAARA DTAARA(QUSRTEMP/&USER (771 30)) +
RTNVAR(&JOB10CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (911 1)) +
RTNVAR(&RTRN10)
RTVDTAARA DTAARA(QUSRTEMP/&USER (801 20)) +
RTNVAR(&JOB11)
RTVDTAARA DTAARA(QUSRTEMP/&USER (821 30)) +
RTNVAR(&JOB11CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (912 1)) +
RTNVAR(&RTRN11)
RTVDTAARA DTAARA(QUSRTEMP/&USER (851 20)) +
RTNVAR(&JOB12)
RTVDTAARA DTAARA(QUSRTEMP/&USER (871 30)) +
RTNVAR(&JOB12CMD)
RTVDTAARA DTAARA(QUSRTEMP/&USER (913 1)) +
RTNVAR(&RTRN12)
RTVDTAARA DTAARA(QUSRTEMP/&USER (1 25)) RTNVAR(&CMD13)
RTVDTAARA DTAARA(QUSRTEMP/&USER (26 25)) RTNVAR(&CMD14)
RTVDTAARA DTAARA(QUSRTEMP/&USER (51 25)) RTNVAR(&CMD15)
RTVDTAARA DTAARA(QUSRTEMP/&USER (76 25)) RTNVAR(&CMD16)
RTVDTAARA DTAARA(QUSRTEMP/&USER (101 25)) RTNVAR(&CMD17)
RTVDTAARA DTAARA(QUSRTEMP/&USER (126 25)) RTNVAR(&CMD18)
RTVDTAARA DTAARA(QUSRTEMP/&USER (151 25)) RTNVAR(&CMD19)
RTVDTAARA DTAARA(QUSRTEMP/&USER (176 25)) RTNVAR(&CMD20)
RTVDTAARA DTAARA(QUSRTEMP/&USER (201 25)) RTNVAR(&CMD21)
RTVDTAARA DTAARA(QUSRTEMP/&USER (226 25)) RTNVAR(&CMD22)
RTVDTAARA DTAARA(QUSRTEMP/&USER (251 25)) RTNVAR(&CMD23)
RTVDTAARA DTAARA(QUSRTEMP/&USER (276 25)) RTNVAR(&CMD24)
/* SET CURRENT GRPJOB DSPATR */
IF (&GRPJOB = 'JOB1') CHGVAR &IN31 '1'
IF (&GRPJOB = 'JOB2') CHGVAR &IN32 '1'
IF (&GRPJOB = 'JOB3') CHGVAR &IN33 '1'
IF (&GRPJOB = 'JOB4') CHGVAR &IN34 '1'
IF (&GRPJOB = 'JOB5') CHGVAR &IN35 '1'
IF (&GRPJOB = 'JOB6') CHGVAR &IN36 '1'
IF (&GRPJOB = 'JOB7') CHGVAR &IN37 '1'
IF (&GRPJOB = 'JOB8') CHGVAR &IN38 '1'
IF (&GRPJOB = 'JOB9') CHGVAR &IN39 '1'
IF (&GRPJOB = 'JOB10') CHGVAR &IN40 '1'
IF (&GRPJOB = 'JOB11') CHGVAR &IN41 '1'
IF (&GRPJOB = 'JOB12') CHGVAR &IN42 '1'
/* 30 80 */
/* 1 0 MODIFY COMMAND KEY*/
/* 1 1 OPTION INPUT */
/* 0 1 MODIFY JOB AND JOB COMMAND */
/* 0 0 MODIFY JOB AND JOB COMMAND */
CHGVAR &IN30 '1'
CHGVAR &IN80 '1'
/* CHGVAR VAR(&TTL1) VALUE('Transfer to Group +
Job/Command Key Window') */
/* DEFAULT KEYS */
CHGVAR &IN91 '1' /* ALT KEYS */
START:
/* DEFAULT BORDER COLOR */
RTVDTAARA DTAARA(QUSRTEMP/&USER (901 1)) RTNVAR(&COLOR)
CHGVAR &IN81 '0'
CHGVAR &IN82 '0'
CHGVAR &IN83 '0'
CHGVAR &IN84 '0'
CHGVAR &IN85 '0'
CHGVAR &IN86 '0'
CHGVAR &IN87 '0'
IF (&COLOR = '1') CHGVAR &IN81 '1'
IF (&COLOR = '2') CHGVAR &IN82 '1'
IF (&COLOR = '3') CHGVAR &IN83 '1'
IF (&COLOR = '4') CHGVAR &IN84 '1'
IF (&COLOR = '5') CHGVAR &IN85 '1'
IF (&COLOR = '6') CHGVAR &IN86 '1'
IF (&COLOR = '7') CHGVAR &IN87 '1'
/* RETRIEVE ACTIVE GRPJOB COLOR */
RTVDTAARA DTAARA(*GDA (121 1)) RTNVAR(&IN61)
MONMSG CPF0000 EXEC(CHGVAR &IN61 '0')
RTVDTAARA DTAARA(*GDA (122 1)) RTNVAR(&IN62)
MONMSG CPF0000 EXEC(CHGVAR &IN62 '0')
RTVDTAARA DTAARA(*GDA (123 1)) RTNVAR(&IN63)
MONMSG CPF0000 EXEC(CHGVAR &IN63 '0')
RTVDTAARA DTAARA(*GDA (124 1)) RTNVAR(&IN64)
MONMSG CPF0000 EXEC(CHGVAR &IN64 '0')
RTVDTAARA DTAARA(*GDA (125 1)) RTNVAR(&IN65)
MONMSG CPF0000 EXEC(CHGVAR &IN65 '0')
RTVDTAARA DTAARA(*GDA (126 1)) RTNVAR(&IN66)
MONMSG CPF0000 EXEC(CHGVAR &IN66 '0')
RTVDTAARA DTAARA(*GDA (127 1)) RTNVAR(&IN67)
MONMSG CPF0000 EXEC(CHGVAR &IN67 '0')
RTVDTAARA DTAARA(*GDA (128 1)) RTNVAR(&IN68)
MONMSG CPF0000 EXEC(CHGVAR &IN68 '0')
RTVDTAARA DTAARA(*GDA (129 1)) RTNVAR(&IN69)
MONMSG CPF0000 EXEC(CHGVAR &IN69 '0')
RTVDTAARA DTAARA(*GDA (130 1)) RTNVAR(&IN70)
MONMSG CPF0000 EXEC(CHGVAR &IN70 '0')
RTVDTAARA DTAARA(*GDA (131 1)) RTNVAR(&IN71)
MONMSG CPF0000 EXEC(CHGVAR &IN71 '0')
RTVDTAARA DTAARA(*GDA (132 1)) RTNVAR(&IN72)
MONMSG CPF0000 EXEC(CHGVAR &IN72 '0')
SNDRCVF RCDFMT(OPTIONS)
CHGVAR &MSGLINE ' '
IF ((&IN01 = '1') *OR (&IN03 = '1') *OR +
(&IN12 = '1') ) GOTO END
IF (&IN02 = '1') DO
IF (&IN91 = '1') +
CHGVAR &IN91 '0'
ELSE +
CHGVAR &IN91 '1'
GOTO START
ENDDO
Retrieve:
IF ((&IN08 = '1') *OR (&IN09 = '1')) DO
IF (&IN08 = '1' *AND &CmdMsgKey = ' ') +
chgvar &APIMsgType *FIRST
Else IF (&IN08 = '1') +
chgvar &APIMsgType *NEXT
Else IF (&IN09 = '1' *AND &CmdMsgKey = ' ') +
chgvar &APIMsgType *LAST
Else IF (&IN09 = '1') +
chgvar &APIMsgType *PRV
CHGVAR &APIDATA ' '
call QMHRTVRQ (+
&APIdata /* Returned data */ +
X'000007D0' /* Data length: 2000 */ +
'RTVQ0100' /* Data format */ +
&APIMsgType /* Type *LAST|*PRV */ +
&CmdMsgKey /* Message key */ +
X'00000000' /* No error data returned */ +
)
/* Exit if no data is returned */
CHGVAR &APILENGTH %SST(&APIDATA 5 4)
CHGVAR &LENGTH %BIN(&APILENGTH)
/* If no data exist, reset to beginning */
IF (&LENGTH *LE 0) DO
CHGVAR &CMDMSGKEY ' '
GOTO START
ENDDO
/* Retrieve command string from API data and exit */
CHGVAR &CMDSTRING %SST(&APIDATA 41 &LENGTH)
CHGVAR &CMDMSGKEY %SST(&APIDATA 9 4)
CHGVAR &CMDLINE %SST(&CMDSTRING 1 &LENGTH)
GOTO START
ENDDO
COLOR:
IF (&IN11 = '1') DO
RTVDTAARA DTAARA(QUSRTEMP/&USER (901 1)) RTNVAR(&COLOR)
CHGVAR &COLORD &COLOR
IF (&COLORD <= 6) DO
CHGVAR &COLORD (&COLORD + 1)
CHGVAR &COLOR &COLORD
ENDDO
ELSE DO
CHGVAR &COLOR '1'
ENDDO
CHGDTAARA DTAARA(QUSRTEMP/&USER (901 1)) VALUE(&COLOR)
GOTO START
ENDDO
/* FUNCTION KEY */
IF ((&IN13 = '1') *OR (&IN14 = '1') *OR +
(&IN15 = '1') *OR (&IN16 = '1') *OR +
(&IN17 = '1') *OR (&IN18 = '1') *OR +
(&IN19 = '1') *OR (&IN20 = '1') *OR +
(&IN21 = '1') *OR (&IN22 = '1') *OR +
(&IN23 = '1') *OR (&IN24 = '1')) DO
IF (&IN13 = '1') CHGVAR &CMDKEY &CMD13
IF (&IN14 = '1') CHGVAR &CMDKEY &CMD14
IF (&IN15 = '1') CHGVAR &CMDKEY &CMD15
IF (&IN16 = '1') CHGVAR &CMDKEY &CMD16
IF (&IN17 = '1') CHGVAR &CMDKEY &CMD17
IF (&IN18 = '1') CHGVAR &CMDKEY &CMD18
IF (&IN19 = '1') CHGVAR &CMDKEY &CMD19
IF (&IN20 = '1') CHGVAR &CMDKEY &CMD20
IF (&IN21 = '1') CHGVAR &CMDKEY &CMD21
IF (&IN22 = '1') CHGVAR &CMDKEY &CMD22
IF (&IN23 = '1') CHGVAR &CMDKEY &CMD23
IF (&IN24 = '1') CHGVAR &CMDKEY &CMD24
IF COND(&CMDKEY *EQ ' ') THEN(CHGVAR +
VAR(&CMDKEY) VALUE('CALL PGM(QSYS/QCMD)'))
CHGVAR &CMDSTRING &CMDKEY
GOTO EXCCMD
ENDDO /* ENDIF CMDKEY */
IF (&IN07 = '1') DO
CHGVAR &IN30 '1'
IF (&IN80='1') DO
CHGVAR &IN80 '0'
ENDDO
ELSE DO
GOTO UPDKEY
ENDDO
GOTO START
ENDDO
IF (&IN06 = '1') DO
CHGVAR &IN80 '1'
IF (&IN30='1') DO
CHGVAR &IN30 '0'
ENDDO
ELSE DO
GOTO UPDJOB
ENDDO
GOTO START
ENDDO
UPDKEY:
IF ((&IN80 = '0') *AND (&IN30 = '1')) DO
CHGVAR &IN80 '1'
CHGDTAARA DTAARA(QUSRTEMP/&USER (1 25)) VALUE(&CMD13)
CHGDTAARA DTAARA(QUSRTEMP/&USER (26 25)) VALUE(&CMD14)
CHGDTAARA DTAARA(QUSRTEMP/&USER (51 25)) VALUE(&CMD15)
CHGDTAARA DTAARA(QUSRTEMP/&USER (76 25)) VALUE(&CMD16)
CHGDTAARA DTAARA(QUSRTEMP/&USER (101 25)) VALUE(&CMD17)
CHGDTAARA DTAARA(QUSRTEMP/&USER (126 25)) VALUE(&CMD18)
CHGDTAARA DTAARA(QUSRTEMP/&USER (151 25)) VALUE(&CMD19)
CHGDTAARA DTAARA(QUSRTEMP/&USER (176 25)) VALUE(&CMD20)
CHGDTAARA DTAARA(QUSRTEMP/&USER (201 25)) VALUE(&CMD21)
CHGDTAARA DTAARA(QUSRTEMP/&USER (226 25)) VALUE(&CMD22)
CHGDTAARA DTAARA(QUSRTEMP/&USER (251 25)) VALUE(&CMD23)
CHGDTAARA DTAARA(QUSRTEMP/&USER (276 25)) VALUE(&CMD24)
GOTO START
ENDDO
UPDJOB:
IF ((&IN80 = '1') *AND (&IN30 = '0')) DO
CHGVAR &IN30 '1'
CHGDTAARA DTAARA(QUSRTEMP/&USER (301 20)) +
VALUE(&JOB1)
CHGDTAARA DTAARA(QUSRTEMP/&USER (321 30)) +
VALUE(&JOB1CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (902 1)) +
VALUE(&RTRN01)
CHGDTAARA DTAARA(QUSRTEMP/&USER (351 20)) +
VALUE(&JOB2)
CHGDTAARA DTAARA(QUSRTEMP/&USER (371 30)) +
VALUE(&JOB2CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (903 1)) +
VALUE(&RTRN02)
CHGDTAARA DTAARA(QUSRTEMP/&USER (401 20)) +
VALUE(&JOB3)
CHGDTAARA DTAARA(QUSRTEMP/&USER (421 30)) +
VALUE(&JOB3CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (904 1)) +
VALUE(&RTRN03)
CHGDTAARA DTAARA(QUSRTEMP/&USER (451 20)) +
VALUE(&JOB4)
CHGDTAARA DTAARA(QUSRTEMP/&USER (471 30)) +
VALUE(&JOB4CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (905 1)) +
VALUE(&RTRN04)
CHGDTAARA DTAARA(QUSRTEMP/&USER (501 20)) +
VALUE(&JOB5)
CHGDTAARA DTAARA(QUSRTEMP/&USER (521 30)) +
VALUE(&JOB5CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (906 1)) +
VALUE(&RTRN05)
CHGDTAARA DTAARA(QUSRTEMP/&USER (551 20)) +
VALUE(&JOB6)
CHGDTAARA DTAARA(QUSRTEMP/&USER (571 30)) +
VALUE(&JOB6CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (907 1)) +
VALUE(&RTRN06)
CHGDTAARA DTAARA(QUSRTEMP/&USER (601 20)) +
VALUE(&JOB7)
CHGDTAARA DTAARA(QUSRTEMP/&USER (521 30)) +
VALUE(&JOB7CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (908 1)) +
VALUE(&RTRN07)
CHGDTAARA DTAARA(QUSRTEMP/&USER (651 20)) +
VALUE(&JOB8)
CHGDTAARA DTAARA(QUSRTEMP/&USER (671 30)) +
VALUE(&JOB8CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (909 1)) +
VALUE(&RTRN08)
CHGDTAARA DTAARA(QUSRTEMP/&USER (701 20)) +
VALUE(&JOB9)
CHGDTAARA DTAARA(QUSRTEMP/&USER (721 30)) +
VALUE(&JOB9CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (910 1)) +
VALUE(&RTRN09)
CHGDTAARA DTAARA(QUSRTEMP/&USER (751 20)) +
VALUE(&JOB10)
CHGDTAARA DTAARA(QUSRTEMP/&USER (771 30)) +
VALUE(&JOB10CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (911 1)) +
VALUE(&RTRN10)
CHGDTAARA DTAARA(QUSRTEMP/&USER (801 20)) +
VALUE(&JOB11)
CHGDTAARA DTAARA(QUSRTEMP/&USER (821 30)) +
VALUE(&JOB11CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (912 1)) +
VALUE(&RTRN11)
CHGDTAARA DTAARA(QUSRTEMP/&USER (851 20)) +
VALUE(&JOB12)
CHGDTAARA DTAARA(QUSRTEMP/&USER (871 30)) +
VALUE(&JOB12CMD)
CHGDTAARA DTAARA(QUSRTEMP/&USER (913 1)) +
VALUE(&RTRN12)
GOTO START
ENDDO
IF (&CMDLINE *NE *BLANKS) DO
IF (&CMDLINE = '1') DO
IF (&GRPJOB *NE 'JOB1') DO
CHGDTAARA DTAARA(*GDA (121 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB1) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '2') DO
IF (&GRPJOB *NE 'JOB2') DO
CHGDTAARA DTAARA(*GDA (122 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB2) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '3') DO
IF (&GRPJOB *NE 'JOB3') DO
CHGDTAARA DTAARA(*GDA (123 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB3) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '4') DO
IF (&GRPJOB *NE 'JOB4') DO
CHGDTAARA DTAARA(*GDA (124 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB4) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '5') DO
IF (&GRPJOB *NE 'JOB5') DO
CHGDTAARA DTAARA(*GDA (125 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB5) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '6') DO
IF (&GRPJOB *NE 'JOB6') DO
CHGDTAARA DTAARA(*GDA (126 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB6) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '7') DO
IF (&GRPJOB *NE 'JOB7') DO
CHGDTAARA DTAARA(*GDA (127 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB6) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '8') DO
IF (&GRPJOB *NE 'JOB8') DO
CHGDTAARA DTAARA(*GDA (128 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB8) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '9') DO
IF (&GRPJOB *NE 'JOB9') DO
CHGDTAARA DTAARA(*GDA (129 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB9) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '10') DO
IF (&GRPJOB *NE 'JOB10') DO
CHGDTAARA DTAARA(*GDA (130 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB10) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
IF (&CMDLINE = '11') DO
IF (&GRPJOB *NE 'JOB11') DO
CHGDTAARA DTAARA(*GDA (131 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB11) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
ELSE IF (&CMDLINE = '12') DO
IF (&GRPJOB *NE 'JOB12') DO
CHGDTAARA DTAARA(*GDA (132 1)) VALUE('1')
TFRGRPJOB GRPJOB(JOB12) INLGRPPGM(GRPJOBTFRC)
ENDDO
GOTO REPEAT
ENDDO
CHGVAR &CMDSTRING &CMDLINE
EXCCMD:
/* Build the options values */
chgvar %bin(&APIoptions 1 4) +
value(2) /* Command line type processing */
chgvar %sst(&APIoptions 5 1) +
value('0') /* Ignore DBCS */
chgvar %sst(&APIoptions 7 1) +
value('0') /* AS/400 command syntax */
if (&IN04 = '1' *OR %SST(&CmdString 1 1) = '?') +
chgvar %sst(&APIoptions 6 1) +
value('1') /* Prompt command */
else +
chgvar %sst(&APIoptions 6 1) +
value('0') /* No prompt */
chgvar %bin(&APIoptions 8 4) 0 /* Reserved area: */
chgvar %bin(&APIoptions 12 4) 0 /* must be set to */
chgvar %bin(&APIoptions 16 4) 0 /* hexadecimal zeros */
chgvar %bin(&APIoptions 19 2) 0
/* Execute the command string */
call QCAPCMD ( +
&CmdString /* Source command string */ +
X'000007D0' /* String length: 2000 */ +
&APIoptions /* Options control block */ +
X'00000014' /* Options block length: 20 */ +
'CPOP0100' /* Options block format */ +
&APIdata /* Returned command string */ +
X'000007D0' /* Returned string length: 2000 */ +
&APILength /* Command string length returned */ +
X'00000000' /* No error data returned */ +
)
MONMSG MSGID(CPF6801) EXEC(DO)
RCVMSG MSGTYPE(*EXCP) RMV(*NO) MSG(&MSGLINE) +
MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) +
SNDMSGFLIB(&MSGFLIB)
GOTO CMDERR
ENDDO
MONMSG MSGID(CPF0000) EXEC(DO)
RCVMSG MSGTYPE(*DIAG) MSG(&MSGLINE) +
MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) +
SNDMSGFLIB(&MSGFLIB)
SNDPGMMSG MSGID(&MSGID) MSGF(&MSGF) MSGDTA(&MSGDTA) +
TOPGMQ(*SAME)
MONMSG CPF0000
GOTO CMDERR
ENDDO
/* CALL PGM(QCMDCHK) PARM(&CMDSTRING 2000) */
/* CALL PGM(QCMDEXC) PARM(&CMDSTRING 2000) */
/* Add command string to job's request messages */
AddCmd:
SNDPGMMSG MSG(&CMDSTRING) TOPGMQ(*EXT) MSGTYPE(*RQS) +
KEYVAR(&MSGKEY)
RCVMSG PGMQ(*EXT) MSGTYPE(*RQS) MSGKEY(&MSGKEY) +
RMV(*NO) KEYVAR(&CMDMSGKEY)
CHGVAR &CMDSTRING ' '
CHGVAR &CMDMSGKEY ' '
CMDERR:
CHGVAR &CMDLINE ' '
GOTO START
REPEAT:
CHGVAR &CMDLINE ' '
ENDDO
/* RESET ACTIVE GROUP JOB DSPATR */
CHGDTAARA DTAARA(*GDA (121 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (122 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (123 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (124 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (125 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (126 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (127 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (128 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (129 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (130 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (131 1)) VALUE('0')
CHGDTAARA DTAARA(*GDA (132 1)) VALUE('0')
CHGVAR VAR(&JOBLST) VALUE(1)
RTVGRPA GRPJOB(&GRPJOB) GRPJOBL(&GRPJOBL) +
GRPJOBCNT(&GRPJOBCNT)
GRPJOBS:
IF (&GRPJOBCNT *GT 0) DO
CHGVAR &GRPJOBN %SST(&GRPJOBL &JOBLST 10)
CHGVAR &JOBLST (&JOBLST + 66)
IF (&GRPJOBN = 'JOB1') CHGDTAARA (*GDA (121 1)) '1'
IF (&GRPJOBN = 'JOB2') CHGDTAARA (*GDA (122 1)) '1'
IF (&GRPJOBN = 'JOB3') CHGDTAARA (*GDA (123 1)) '1'
IF (&GRPJOBN = 'JOB4') CHGDTAARA (*GDA (124 1)) '1'
IF (&GRPJOBN = 'JOB5') CHGDTAARA (*GDA (125 1)) '1'
IF (&GRPJOBN = 'JOB6') CHGDTAARA (*GDA (126 1)) '1'
IF (&GRPJOBN = 'JOB7') CHGDTAARA (*GDA (127 1)) '1'
IF (&GRPJOBN = 'JOB8') CHGDTAARA (*GDA (128 1)) '1'
IF (&GRPJOBN = 'JOB9') CHGDTAARA (*GDA (129 1)) '1'
IF (&GRPJOBN = 'JOB10') CHGDTAARA (*GDA (130 1)) '1'
IF (&GRPJOBN = 'JOB11') CHGDTAARA (*GDA (131 1)) '1'
IF (&GRPJOBN = 'JOB12') CHGDTAARA (*GDA (132 1)) '1'
NEXTJOB:
CHGVAR VAR(&GRPJOBCNT) VALUE(&GRPJOBCNT - 1)
GOTO CMDLBL(GRPJOBS)
ENDDO
IF (&GRPJOB = 'JOB1') CHGVAR &EXTMNU &RTRN01
ELSE IF (&GRPJOB = 'JOB2') CHGVAR &EXTMNU &RTRN02
ELSE IF (&GRPJOB = 'JOB3') CHGVAR &EXTMNU &RTRN03
ELSE IF (&GRPJOB = 'JOB4') CHGVAR &EXTMNU &RTRN04
ELSE IF (&GRPJOB = 'JOB5') CHGVAR &EXTMNU &RTRN05
ELSE IF (&GRPJOB = 'JOB6') CHGVAR &EXTMNU &RTRN06
ELSE IF (&GRPJOB = 'JOB7') CHGVAR &EXTMNU &RTRN07
ELSE IF (&GRPJOB = 'JOB8') CHGVAR &EXTMNU &RTRN08
ELSE IF (&GRPJOB = 'JOB9') CHGVAR &EXTMNU &RTRN09
ELSE IF (&GRPJOB = 'JOB10') CHGVAR &EXTMNU &RTRN10
IF (&GRPJOB = 'JOB11') CHGVAR &EXTMNU &RTRN11
ELSE IF (&GRPJOB = 'JOB12') CHGVAR &EXTMNU &RTRN12
IF (&EXTMNU *NE 'Y') GOTO START
END:
RETURN
STDERR: RCVMSG MSGTYPE(*LAST) MSGDTA(&MSGDTA) MSGID(&MSGID) +
MSGF(&MSGF) SNDMSGFLIB(&MSGFLIB)
IF COND(&MSGID *EQ ' ') THEN(GOTO +
CMDLBL(EOJ))
SNDUSRMSG MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +
MSGDTA(&MSGDTA) MSGTYPE(*INFO)
GOTO CMDLBL(STDERR)
GOTO CMDLBL(EOJ)
EOJ: IF COND(%SWITCH(XXXXXXX1)) THEN(DMPCLPGM)
RETURN
ENDPGM