ISPEXECは、CLISTあるいはREXXからISPFサービスを利用するための、コマンド形式のISPF呼び出しインタフェースです。
エディターやDSLISTなどのPDF機能を始め、パネルを使用した対話型アプリケーションを作成するためのさまざまなISPF機能を、プログラムを作ることなく容易に利用することができます。
1 2 3 4 5 |
/* CLIST FOR ISPF SERVICE CALL */ /* DISPLAY PDF/DSLIST PANEL */ ISPEXEC LMDINIT LISTID(LID) LEVEL(ZWRK.V%%M.**) ISPEXEC LMDDISP LISTID(&LID) END |
これは、PDFの3.4 DSLISTユーティリティーを呼び出すサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
/* /* JCL SUBMIT AND DISPLAY JOB OUTPUT BY ISPF BROWSER. /* PROC 0 WRITENR PLEASE ENTER JCL DATASET NAME ==> READ &DSN MAIN: + WRITENR PLEASE ENTER MEMBER NAME ==> READ &MEM IF &MEM = '' THEN EXIT SET &SYSOUTTRAP = 1 SET &CJOB = JOB SET &CSUB = SUBMITTED SET &COUT = ON OUTPUT QUEUE SUBMIT '&DSN(&MEM)' SET &X = &SYSINDEX(&CJOB,&SYSOUTLINE1) + 4 SET &Y = &SYSINDEX(&CSUB,&SYSOUTLINE1) - 2 SET &JOBID = &SUBSTR(&X:&Y,&SYSOUTLINE1) WRITE &SYSOUTLINE1 ALLOCATE DD(SOUTWRK) NEW TRACKS SPACE(10 10) DO UNTIL &X NE 0 ST &JOBID WRITE &SYSOUTLINE1 SET &X = &SYSINDEX(&COUT,&SYSOUTLINE1) END SET &SYSOUTTRAP = 0 LISTDSI SOUTWRK FILE OUTPUT &JOBID HOLD KEEP PRINT('&SYSDSNAME') ISPEXEC BROWSE DATASET('&SYSDSNAME') VOLUME(&SYSVOLUME) FREE DD(SOUTWRK) GOTO MAIN |
こちらは、PDSデータセット内のJCLメンバーをサブミットして、そのジョブの実行結果をISPFブラウザーにて表示するサンプルです。
ジョブの完了は、STコマンドを発行してその返答メッセージで判定します。「ON OUTPUT QUEUE」となるまでループしてコマンドを発行しています。ジョブのSYSOUTは、TSOのOUTPUTコマンドでPSデータセットに書き出し、そのPSデータセットをISPFのBROWSEサービスで表示します。