Physical File GRPJOBP:
----------------------
A R GRPJOB TEXT('Group Job Definition File')
A USER 10 TEXT('User Profile')
A GRPTXT 50 TEXT('Group Job Description')
A GRPCMD 50 TEXT('Group Job Command')
A GRPNAM 10 TEXT('Group Job Name')
A K USER
Display File GRPJOBDF:
----------------------
A DSPSIZ(24 80 *DS3)
A R MAIN A CF05(05)
A 2 25'Group Job Main Menu'
A DSPATR(HI)
A COLOR(RED)
A 4 4'1.'
A DSPATR(HI)
A 5 4'2.'
A DSPATR(HI)
A 21 23'Option'
A OPTION 2A I 21 32
A 6 4'3.'
A DSPATR(HI)
A 7 4'4.'
A DSPATR(HI)
A 21 43'F5-Select Group Job'
A DSPATR(HI)
A 8 4'5.'
A DSPATR(HI)
A 9 4'6.'
A DSPATR(HI)
A 10 4'7.'
A DSPATR(HI)
A 11 4'8.'
A DSPATR(HI)
A 12 4'9.'
A DSPATR(HI)
A 13 3'10.'
A DSPATR(HI)
A 14 3'11.'
A DSPATR(HI)
A 15 3'12.'
A DSPATR(HI)
A 16 3'13.'
A DSPATR(HI)
A T1 50 O 4 8TEXT('Group Job Description')
A 10 DSPATR(HI)
A G1 10A H TEXT('Group Job Name')
A C1 50A H TEXT('Group Job Command')
A T2 50A O 5 8
A 11 DSPATR(HI)
A G2 10A H TEXT('Group Job Name')
A C2 50A H TEXT('Group Job Command')
A T3 50A O 6 8
A 12 DSPATR(HI)
A G3 10A H TEXT('Group Job Name')
A C3 50A H TEXT('Group Job Command')
A T4 50A O 7 8
A 13 DSPATR(HI)
A G4 10A H TEXT('Group Job Name')
A C4 50A H TEXT('Group Job Command')
A T5 50A O 8 8
A 14 DSPATR(HI)
A G5 10A H TEXT('Group Job Name')
A C5 50A H TEXT('Group Job Command')
A T6 50A O 9 8
A 15 DSPATR(HI)
A G6 10A H TEXT('Group Job Name')
A C6 50A H TEXT('Group Job Command')
A T7 50A O 10 8
A 16 DSPATR(HI)
A G7 10A H TEXT('Group Job Name')
A C7 50A H TEXT('Group Job Command')
A T8 50A O 11 8
A 17 DSPATR(HI)
A G8 10A H TEXT('Group Job Name')
A C8 50A H TEXT('Group Job Command')
A T9 50A O 12 8
A 18 DSPATR(HI)
A G9 10A H TEXT('Group Job Name')
A C9 50A H TEXT('Group Job Command')
A T10 50A O 13 8
A 19 DSPATR(HI)
A G10 10A H TEXT('Group Job Name')
A C10 50A H TEXT('Group Job Command')
A T11 50A O 14 8
A 20 DSPATR(HI)
A G11 10A H TEXT('Group Job Name')
A C11 50A H TEXT('Group Job Command')
A T12 50A O 15 8
A 21 DSPATR(HI)
A G12 10A H TEXT('Group Job Name')
A C12 50A H TEXT('Group Job Command')
A T13 50A O 16 8
A 22 DSPATR(HI)
A G13 10A H TEXT('Group Job Name')
A C13 50A H TEXT('Group Job Command')
A 2 2DATE
A EDTCDE(Y)
A 2 12TIME
CLP GRPJOB: Main Program
-----------
PGM
DCL VAR(&USRPRF) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGQ) TYPE(*CHAR) LEN(10)
DCL VAR(&USRTXT) TYPE(*CHAR) LEN(50)
DCL VAR(&GRPCMD) TYPE(*CHAR) LEN(50)
DCL VAR(&GRPNAM) TYPE(*CHAR) LEN(10)
DCL VAR(&GRPTXT) TYPE(*CHAR) LEN(50)
DCLF FILE(GRPJOBDF)
/* ,Initiate Main Group Job */
RTVUSRPRF RTNUSRPRF(&USRPRF) MSGQ(&MSGQ) TEXT(&USRTXT)
CHGGRPA GRPJOB(&USRPRF) MSGQ(&MSGQ) TEXT(&USRTXT)
MONMSG MSGID(CPF0000)
/* ,Build Group Job Main Menu */
CALL PGM(GRPJOB##) PARM(&T1 &C1 &G1 &T2 &C2 &G2 +
&T3 &C3 &G3 &T4 &C4 &G4 +
&T5 &C5 &G5 &T6 &C6 &G6 +
&T7 &C7 &G7 &T8 &C8 &G8 +
&T9 &C9 &G9 &T10 &C10 &G10 +
&T11 &C11 &G11 &T12 &C12 &G12 +
&T13 &C13 &G13 &USRPRF)
RTVDTAARA DTAARA(*GDA (100 1)) RTNVAR(&IN10)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN10) VALUE('0'))
RTVDTAARA DTAARA(*GDA (101 1)) RTNVAR(&IN11)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN11) VALUE('0'))
RTVDTAARA DTAARA(*GDA (102 1)) RTNVAR(&IN12)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN12) VALUE('0'))
RTVDTAARA DTAARA(*GDA (103 1)) RTNVAR(&IN13)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN13) VALUE('0'))
RTVDTAARA DTAARA(*GDA (104 1)) RTNVAR(&IN14)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN14) VALUE('0'))
RTVDTAARA DTAARA(*GDA (105 1)) RTNVAR(&IN15)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN15) VALUE('0'))
RTVDTAARA DTAARA(*GDA (106 1)) RTNVAR(&IN16)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN16) VALUE('0'))
RTVDTAARA DTAARA(*GDA (107 1)) RTNVAR(&IN17)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN17) VALUE('0'))
RTVDTAARA DTAARA(*GDA (108 1)) RTNVAR(&IN18)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN18) VALUE('0'))
RTVDTAARA DTAARA(*GDA (109 1)) RTNVAR(&IN19)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN19) VALUE('0'))
RTVDTAARA DTAARA(*GDA (110 1)) RTNVAR(&IN20)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN20) VALUE('0'))
RTVDTAARA DTAARA(*GDA (111 1)) RTNVAR(&IN21)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN21) VALUE('0'))
RTVDTAARA DTAARA(*GDA (112 1)) RTNVAR(&IN22)
MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&IN22) VALUE('0'))
SNDRCVF
/* ,Set Group Job */
IF COND(&IN05) THEN(TFRGRPJOB *SELECT)
IF COND(&OPTION *EQ '1 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T1)
CHGVAR VAR(&GRPCMD) VALUE(&C1)
CHGVAR VAR(&GRPNAM) VALUE(&G1)
CHGDTAARA DTAARA(*GDA (100 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '2 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T2)
CHGVAR VAR(&GRPCMD) VALUE(&C2)
CHGVAR VAR(&GRPNAM) VALUE(&G2)
CHGDTAARA DTAARA(*GDA (101 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '3 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T3)
CHGVAR VAR(&GRPCMD) VALUE(&C3)
CHGVAR VAR(&GRPNAM) VALUE(&G3)
CHGDTAARA DTAARA(*GDA (102 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '4 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T4)
CHGVAR VAR(&GRPCMD) VALUE(&C4)
CHGVAR VAR(&GRPNAM) VALUE(&G4)
CHGDTAARA DTAARA(*GDA (103 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '5 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T5)
CHGVAR VAR(&GRPCMD) VALUE(&C5)
CHGVAR VAR(&GRPNAM) VALUE(&G5)
CHGDTAARA DTAARA(*GDA (104 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '6 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T6)
CHGVAR VAR(&GRPCMD) VALUE(&C6)
CHGVAR VAR(&GRPNAM) VALUE(&G6)
CHGDTAARA DTAARA(*GDA (105 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '7 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T7)
CHGVAR VAR(&GRPCMD) VALUE(&C7)
CHGVAR VAR(&GRPNAM) VALUE(&G7)
CHGDTAARA DTAARA(*GDA (106 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '8 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T8)
CHGVAR VAR(&GRPCMD) VALUE(&C8)
CHGVAR VAR(&GRPNAM) VALUE(&G8)
CHGDTAARA DTAARA(*GDA (107 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '9 ') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T9)
CHGVAR VAR(&GRPCMD) VALUE(&C9)
CHGVAR VAR(&GRPNAM) VALUE(&G9)
CHGDTAARA DTAARA(*GDA (108 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '10') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T10)
CHGVAR VAR(&GRPCMD) VALUE(&C10)
CHGVAR VAR(&GRPNAM) VALUE(&G10)
CHGDTAARA DTAARA(*GDA (109 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '11') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T11)
CHGVAR VAR(&GRPCMD) VALUE(&C11)
CHGVAR VAR(&GRPNAM) VALUE(&G11)
CHGDTAARA DTAARA(*GDA (110 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '12') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T12)
CHGVAR VAR(&GRPCMD) VALUE(&C12)
CHGVAR VAR(&GRPNAM) VALUE(&G12)
CHGDTAARA DTAARA(*GDA (111 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
IF COND(&OPTION *EQ '13') THEN(DO)
CHGVAR VAR(&GRPTXT) VALUE(&T13)
CHGVAR VAR(&GRPCMD) VALUE(&C13)
CHGVAR VAR(&GRPNAM) VALUE(&G13)
CHGDTAARA DTAARA(*GDA (112 1)) VALUE('1')
GOTO SETGRPJOB
ENDDO
GOTO END
SETGRPJOB:
CHGDTAARA DTAARA(*GDA (1 50)) VALUE(&GRPCMD)
TFRGRPJOB GRPJOB(&GRPNAM) INLGRPPGM(GRPJOB#) +
SPCENV(*INLGRPPGM) RSTDSP(*YES) TEXT(&GRPTXT)
MONMSG MSGID(CPF0000) EXEC(TFRGRPJOB GRPJOB(*SELECT))
END: ENDPGM
CLP GRPJOB#: Calls the required command
------------
PGM
DCL VAR(&CMD) TYPE(*CHAR) LEN(50)
DCL VAR(&LEN) TYPE(*DEC) LEN(15 5) VALUE(50)
RTVDTAARA DTAARA(*GDA (1 50)) RTNVAR(&CMD)
SETATNPGM PGM(GRPJOB)
CALL PGM(QCMDEXC) PARM(&CMD &LEN)
ENDPGM
CLP GRPJOB##: Gets Group Job Info
-------------
PGM PARM(&T1 &C1 &G1 &T2 &C2 &G2 &T3 &C3 &G3 +
&T4 &C4 &G4 &T5 &C5 &G5 &T6 &C6 &G6 +
&T7 &C7 &G7 &T8 &C8 &G8 &T9 &C9 &G9 +
&T10 &C10 &G10 &T11 &C11 &G11 +
&T12 &C12 &G12 &T13 &C13 &G13 &USRPRF)
DCL VAR(&T1) TYPE(*CHAR) LEN(50)
DCL VAR(&T2) TYPE(*CHAR) LEN(50)
DCL VAR(&T3) TYPE(*CHAR) LEN(50)
DCL VAR(&T4) TYPE(*CHAR) LEN(50)
DCL VAR(&T5) TYPE(*CHAR) LEN(50)
DCL VAR(&T6) TYPE(*CHAR) LEN(50)
DCL VAR(&T7) TYPE(*CHAR) LEN(50)
DCL VAR(&T8) TYPE(*CHAR) LEN(50)
DCL VAR(&T9) TYPE(*CHAR) LEN(50)
DCL VAR(&T10) TYPE(*CHAR) LEN(50)
DCL VAR(&T11) TYPE(*CHAR) LEN(50)
DCL VAR(&T12) TYPE(*CHAR) LEN(50)
DCL VAR(&T13) TYPE(*CHAR) LEN(50)
DCL VAR(&C1) TYPE(*CHAR) LEN(50)
DCL VAR(&C2) TYPE(*CHAR) LEN(50)
DCL VAR(&C3) TYPE(*CHAR) LEN(50)
DCL VAR(&C4) TYPE(*CHAR) LEN(50)
DCL VAR(&C5) TYPE(*CHAR) LEN(50)
DCL VAR(&C6) TYPE(*CHAR) LEN(50)
DCL VAR(&C7) TYPE(*CHAR) LEN(50)
DCL VAR(&C8) TYPE(*CHAR) LEN(50)
DCL VAR(&C9) TYPE(*CHAR) LEN(50)
DCL VAR(&C10) TYPE(*CHAR) LEN(50)
DCL VAR(&C11) TYPE(*CHAR) LEN(50)
DCL VAR(&C12) TYPE(*CHAR) LEN(50)
DCL VAR(&C13) TYPE(*CHAR) LEN(50)
DCL VAR(&G1) TYPE(*CHAR) LEN(10)
DCL VAR(&G2) TYPE(*CHAR) LEN(10)
DCL VAR(&G3) TYPE(*CHAR) LEN(10)
DCL VAR(&G4) TYPE(*CHAR) LEN(10)
DCL VAR(&G5) TYPE(*CHAR) LEN(10)
DCL VAR(&G6) TYPE(*CHAR) LEN(10)
DCL VAR(&G7) TYPE(*CHAR) LEN(10)
DCL VAR(&G8) TYPE(*CHAR) LEN(10)
DCL VAR(&G9) TYPE(*CHAR) LEN(10)
DCL VAR(&G10) TYPE(*CHAR) LEN(10)
DCL VAR(&G11) TYPE(*CHAR) LEN(10)
DCL VAR(&G12) TYPE(*CHAR) LEN(10)
DCL VAR(&G13) TYPE(*CHAR) LEN(10)
DCL VAR(&USRPRF) TYPE(*CHAR) LEN(10)
DCL VAR(&CTR) TYPE(*DEC) LEN(2 0) VALUE(1)
DCLF FILE(GRPJOBP)
READ: RCVF
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(END))
IF COND(&USRPRF *EQ &USER) THEN(DO)
IF COND(&CTR *EQ 1) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T1) VALUE(&GRPTXT)
CHGVAR VAR(&C1) VALUE(&GRPCMD)
CHGVAR VAR(&G1) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
,READ: RCVF
, MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(END))
,
, IF COND(&USRPRF *EQ &USER) THEN(DO)
, IF COND(&CTR *EQ 1) THEN(DO)
, IF COND(&GRPNAM *NE ' ') THEN(DO)
, CHGVAR VAR(&T1) VALUE(&GRPTXT)
, CHGVAR VAR(&C1) VALUE(&GRPCMD)
, CHGVAR VAR(&G1) VALUE(&GRPNAM)
, CHGVAR VAR(&CTR) VALUE(&CTR + 1)
, GOTO READ
, ENDDO
, GOTO READ
, ENDDO
, IF COND(&CTR *EQ 2) THEN(DO)
, IF COND(&GRPNAM *NE ' ') THEN(DO)
, CHGVAR VAR(&T2) VALUE(&GRPTXT)
, CHGVAR VAR(&C2) VALUE(&GRPCMD)
, CHGVAR VAR(&G2) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 3) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T3) VALUE(&GRPTXT)
CHGVAR VAR(&C3) VALUE(&GRPCMD)
CHGVAR VAR(&G3) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 4) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T4) VALUE(&GRPTXT)
CHGVAR VAR(&C4) VALUE(&GRPCMD)
CHGVAR VAR(&G4) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 5) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T5) VALUE(&GRPTXT)
CHGVAR VAR(&C5) VALUE(&GRPCMD)
CHGVAR VAR(&G5) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 6) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T6) VALUE(&GRPTXT)
CHGVAR VAR(&C6) VALUE(&GRPCMD)
CHGVAR VAR(&G6) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 7) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T7) VALUE(&GRPTXT)
CHGVAR VAR(&C7) VALUE(&GRPCMD)
CHGVAR VAR(&G7) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 8) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T8) VALUE(&GRPTXT)
CHGVAR VAR(&C8) VALUE(&GRPCMD)
CHGVAR VAR(&G8) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 9) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T9) VALUE(&GRPTXT)
CHGVAR VAR(&C9) VALUE(&GRPCMD)
CHGVAR VAR(&G9) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 10) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T10) VALUE(&GRPTXT)
CHGVAR VAR(&C10) VALUE(&GRPCMD)
CHGVAR VAR(&G10) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 11) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T11) VALUE(&GRPTXT)
CHGVAR VAR(&C11) VALUE(&GRPCMD)
CHGVAR VAR(&G11) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 12) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T12) VALUE(&GRPTXT)
CHGVAR VAR(&C12) VALUE(&GRPCMD)
CHGVAR VAR(&G12) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
IF COND(&CTR *EQ 13) THEN(DO)
IF COND(&GRPNAM *NE ' ') THEN(DO)
CHGVAR VAR(&T13) VALUE(&GRPTXT)
CHGVAR VAR(&C13) VALUE(&GRPCMD)
CHGVAR VAR(&G13) VALUE(&GRPNAM)
CHGVAR VAR(&CTR) VALUE(&CTR + 1)
GOTO READ
ENDDO
GOTO READ
ENDDO
ENDDO
GOTO READ
END: ENDPGM