■ OSコマンドを発行するサンプル
▲その1〜JCLコマンドステートメントを使用
//MYJOB JOB CLASS=A //STEP1 EXEC PGM=IEFBR14 // D TS,L ←TSOログインユーザーを表示するコマンド
(コンソール)
\HASP373 MYJOB STARTED - INIT 1 - CLASS A - SYS SYS1 IEF403I MYJOB - STARTED - TIME=10.42.03 IEF404I MYJOB - ENDED - TIME=10.42.03 IEFC165I // D TS,L *11 IEFC166D REPLY Y/N TO EXECUTE/SUPPRESS COMMAND R 11,Y IEE600I REPLY TO 11 IS;Y D TS,L IEE114I 10.42.03 2003.014 ACTIVITY 209 JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS 00005 00022 00002 00026 00022 00001/00010 00016 USER001 IN USER021 IN
コンソールに実行可否のリプライがきます。Yを返すとOSコマンドが実行されます。
▲その2〜COMMANDステートメントを使用
//MYJOB JOB CLASS=A //STEP1 EXEC PGM=IEFBR14 // COMMAND 'D TS,L' ←TSOログインユーザーを表示するコマンド
(コンソール)
\HASP373 MYJOB STARTED - INIT 1 - CLASS A - SYS SYS1 IEF403I MYJOB - STARTED - TIME=10.44.13 IEF404I MYJOB - ENDED - TIME=10.44.13 IEFC165I // D TS,L *12 IEFC166D REPLY Y/N TO EXECUTE/SUPPRESS COMMAND R 12,Y IEE600I REPLY TO 12 IS;Y D TS,L IEE114I 10.44.13 2003.014 ACTIVITY 209 JOBS M/S TS USERS SYSAS INITS ACTIVE/MAX VTAM OAS 00005 00022 00002 00026 00022 00001/00010 00016 USER001 IN USER021 IN
コンソールに実行可否のリプライがきます。Yを返すとOSコマンドが実行されます。
※その1もその2もどちらも全く同じです。
※IEFBR14がコマンドを発行しているわけではありません。EXECステートメントが1つもないとJCLエラー になるので、ダミーとして記述しているだけです。