hab ich mal im Netz abgeschrieben
weiß leider nicht mehr von wem
ist noch nicht so lange her, ging bis v5r3 über trace
Code:/* CMD WRKFRGNJOB */ CMD PROMPT('WRKFRGNJOB') PARM KWD(JOBNAME) TYPE(*CHAR) LEN(10) MIN(1) + CHOICE('NAME') PROMPT('JOB NAME') PARM KWD(JOBUSER) TYPE(*CHAR) LEN(10) MIN(1) + CHOICE('NAME') PROMPT('JOB USER') PARM KWD(JOBNUMBER) TYPE(*CHAR) LEN(6) + RANGE('00000' '999999') MIN(1) + CHOICE('000000 - 999999') PROMPT('JOBNUMBER') PARM KWD(COMMAND) TYPE(*CHAR) LEN(512) MIN(1) + CHOICE('NAME') PROMPT('COMMAND TO RUN')
Code:/* CL 1 WRKFRGNPR */ PGM PARM(&JOBNAME &USER &JOBNO &CMD) DCL VAR(&JOBNAME) TYPE(*CHAR) LEN(10) DCL VAR(&USER) TYPE(*CHAR) LEN(10) DCL VAR(&JOBNO) TYPE(*CHAR) LEN(06) DCL VAR(&CMD) TYPE(*CHAR) LEN(300) DCL VAR(&INPUT) TYPE(*CHAR) LEN(2056) DCL VAR(&DTAOFFSET) TYPE(*CHAR) LEN(4) DCL VAR(&DTALENGTH) TYPE(*CHAR) LEN(4) DCL VAR(&HEX_0000) TYPE(*CHAR) LEN(2) VALUE(X'0000') DCL VAR(&C_56) TYPE(*DEC) LEN(5 0) VALUE(56) DCL VAR(&C_300) TYPE(*DEC) LEN(5 0) VALUE(300) DCL VAR(&MSG) TYPE(*CHAR) LEN(132) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR)) CHGVAR %BIN(&DTAOFFSET) &C_56 CHGVAR %BIN(&DTALENGTH) &C_300 CHGVAR VAR(&INPUT) VALUE('RUNJBCMDPR' *CAT + 'MISYS ' *CAT &JOBNAME *CAT &USER + *CAT &JOBNO *CAT &HEX_0000 *CAT &DTAOFFSET + *CAT &DTALENGTH *CAT &CMD) CALL PGM(QWCJBITP) PARM(&INPUT 'JITP0100' + X'0000000000000000') ERROR: RCVMSG MSGTYPE(*EXCP) RMV(*NO) MSG(&MSG) SNDPGMMSG MSG(&MSG) ENDIT: ENDPGM
Code:/* CL 2 WRKFRGN2PR */ PGM PARM(&DUMMY) DCL VAR(&DUMMY) TYPE(*CHAR) LEN(100) DCL VAR(&JOBNO) TYPE(*CHAR) LEN(06) DCL VAR(&CMD) TYPE(*CHAR) LEN(512) DCL VAR(&MSG) TYPE(*CHAR) LEN(132) DCL VAR(&CLEN) TYPE(*DEC) LEN(15 5) DCL VAR(&SNDDTAQ) TYPE(*CHAR) LEN(10) DCL VAR(&RCVDTAQ) TYPE(*CHAR) LEN(10) DCL VAR(&LEN) TYPE(*DEC) LEN(5 0) DCL VAR(&WAIT) TYPE(*DEC) LEN(5 0) VALUE(0) MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ENDIT)) RTVJOBA NBR(&JOBNO) CHGVAR VAR(&RCVDTAQ) VALUE('SND' *CAT &JOBNO) CHGVAR VAR(&SNDDTAQ) VALUE('RCV' *CAT &JOBNO) CALL PGM(QRCVDTAQ) PARM(&RCVDTAQ 'QGPL' &LEN &CMD + &WAIT) IF COND(&LEN *EQ 0) THEN(GOTO CMDLBL(ENDIT)) CHGVAR VAR(&CLEN) VALUE(&LEN) CALL PGM(QCMDEXC) PARM(&CMD &CLEN) MONMSG MSGID(CPF0000) CHGVAR VAR(&LEN) VALUE(1) SENDMSG: CALL PGM(QSNDDTAQ) PARM(&SNDDTAQ 'QGPL' &LEN &MSG) RCVMSG RMV(*NO) MSG(&MSG) MSGLEN(&LEN) IF COND(&MSG *NE ' ') THEN(GOTO CMDLBL(SENDMSG)) ENDIT: ENDPGM
viel erfolg
Robi
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks