My earlier thread on same topic, somehow i am not able to edit or reply. Hence, creating new topic.
[ edit - original question]
The requirement is to submit RSTOBJ command. When the call is made to SBMJOB, it should prompt for RSTOBJ command. Take all inputs. Here, one more requirement is to protect the RSTLIB parameter to say example ABCLIB. The RSTLIB paramter should be protected, ie. hardcoded to ABCLIB.
Any suggestions or examples similar to above requirement ?
[ /edit ]
I have tried two options.
Option 1. With passing the cmd value as RSTOBJ ?*RSTLIB(ABCLIB).
After calling above program, below is the prompt, which only displays "restore to library" parameter. All other input parameters are not displayed.
Restore Object (RSTOBJ)
Type choices, press Enter.
Restore to library . . . . . . . > ABCLIB Name, *SAVLIB
Option 2. With passing the cmd value will all parameters.
For this option2. we get the prompt for all parameters, however, it fails with below error.
Any suggestions to resolve above issues ....Thanks.
[ edit - original question]
The requirement is to submit RSTOBJ command. When the call is made to SBMJOB, it should prompt for RSTOBJ command. Take all inputs. Here, one more requirement is to protect the RSTLIB parameter to say example ABCLIB. The RSTLIB paramter should be protected, ie. hardcoded to ABCLIB.
Any suggestions or examples similar to above requirement ?
[ /edit ]
I have tried two options.
Option 1. With passing the cmd value as RSTOBJ ?*RSTLIB(ABCLIB).
Code:
[COLOR=#0000FF]PGM DCL &CMD *CHAR 1024 DCL &CMDLEN *INT 4 VALUE(1024) DCL &OPTIONS *CHAR 20 DCL &OPTIONSLEN *INT 4 VALUE(20) DCL &OPTIONS *CHAR 20 DCL &NEWCMD *CHAR 1024 DCL &NEWCMDLENA *INT 4 VALUE(1024) DCL &NEWCMDLENC *INT 4 VALUE(1024) CHGVAR %SST(&OPTIONS 1 4) VALUE(X'00000001') CHGVAR %SST(&OPTIONS 5 1) VALUE('0') CHGVAR %SST(&OPTIONS 6 1) VALUE('1') CHGVAR %SST(&OPTIONS 7 1) VALUE('0') CHGVAR %SST(&OPTIONS 12 4) VALUE(X'00000000') CHGVAR %SST(&OPTIONS 16 5) VALUE(X'0000000000') CHGVAR &CMD VALUE('RSTOBJ ?*RSTLIB(ABCLIB)') CALL QCAPCMD PARM(&CMD &CMDLEN &OPTIONS &OPTIONSLEN + 'CPOP0100' &NEWCMD &NEWCMDLENA &NEWCMDLENC + X'00000000') MONMSG CPF6801 EXEC(RETURN) SBMJOB CMD(CALL PGM(QCMDEXC) PARM(&NEWCMD + &NEWCMDLENA)) JOB(RSTOBJ#) JOBQ(QBATCH) ENDPGM [/COLOR]
Restore Object (RSTOBJ)
Type choices, press Enter.
Restore to library . . . . . . . > ABCLIB Name, *SAVLIB
Option 2. With passing the cmd value will all parameters.
Code:
[COLOR=#0000FF]PGM DCL &CMD *CHAR 1024 DCL &CMDLEN *INT 4 VALUE(1024) DCL &OPTIONS *CHAR 20 DCL &OPTIONSLEN *INT 4 VALUE(20) DCL &OPTIONS *CHAR 20 DCL &NEWCMD *CHAR 1024 DCL &NEWCMDLENA *INT 4 VALUE(1024) DCL &NEWCMDLENC *INT 4 VALUE(1024) CHGVAR %SST(&OPTIONS 1 4) VALUE(X'00000001') CHGVAR %SST(&OPTIONS 5 1) VALUE('0') CHGVAR %SST(&OPTIONS 6 1) VALUE('1') CHGVAR %SST(&OPTIONS 7 1) VALUE('0') CHGVAR %SST(&OPTIONS 12 4) VALUE(X'00000000') CHGVAR %SST(&OPTIONS 16 5) VALUE(X'0000000000') CHGVAR &CMD VALUE('RSTOBJ + ??OBJ() + ??SAVLIB() + ??DEV() + ??OBJTYPE(*FILE) + ??VOL() + ??SEQNBR() + ??POSITION() + ??LABEL() + ??ENDOPT() + ??SAVF() + ??OPTION(*NEW) + ??FILEMBR() + ??MBROPT(*NEW) + ??SPLFDTA() + ??SAVDATE() + ??SAVTIME() + ??ALWOBJDIF(*ALL) + ??FRCOBJCVN() + ?*RSTLIB(ABCLIB) + ??OUTPUT(*PRINT) + ??MEDDFN() + ??OPTFILE() + ??RSTASPDEV() + ??RSTASP() + ??OUTFILE() + ??OUTMBR() + ??INFTYPE() + ??OMITLIB() + ??OMITOBJ()') CALL QCAPCMD PARM(&CMD &CMDLEN &OPTIONS &OPTIONSLEN + 'CPOP0100' &NEWCMD &NEWCMDLENA &NEWCMDLENC + X'00000000') MONMSG CPF6801 EXEC(RETURN) SBMJOB CMD(CALL PGM(QCMDEXC) PARM(&NEWCMD + &NEWCMDLENA)) JOB(RSTOBJ#) JOBQ(QBATCH) ENDPGM [/COLOR]
Code:
[COLOR=#0000FF][FONT=courier new]Message . . . . : -CALL PGM(QCMDEXC) PARM('RSTOBJ ??OBJ(F0001) ??SAVLIB(TESTLIB) ??DEV(TAPLIB1) ??OBJTYPE(*FILE) ??VOL(MA2041) ??SEQNBR(345) ??POSITION(*N) ??LABEL(*N) ??ENDOPT(*N) ??SAVF(*N) ??OPTION(*NEW) ??FILEMBR(*N) ??MBROPT(*NEW) ??SPLFDTA(*N) ??SAVDATE(*N) ??SAVTIME(*N) ??ALWOBJDIF(*ALL) ??FRCOBJCVN(*N) ?*RSTLIB(ABCLIB) ??OUTPUT(*PRINT) ??MEDDFN(*N) ??OPTFILE(*N) ??RSTASPDEV(*N) ??RSTASP(*N) ??OUTFILE(*N) ??OUTMBR(*N) ??INFTYPE(*N) ??OMITLIB(*N) ??OMITOBJ(*N)' 1024) 02/11/16 04:40:49.603159 QCANPARS QSYS 094F QCMD QSYS Message . . . . : String ' ' contains a character that is not valid. [/FONT][/COLOR]
Comment