- 「メインフレーム・コンピューター」で遊ぼう - http://www.arteceed.net -

シンプルISPFメニューとクイック起動

(このトピックはz/OS限定です)

デフォルトで導入されたISPFをそのまま利用してもいいのですが、普段からよく利用するツールなので使いやすいようにメニューパネルをカスタマイズすることもできます。
デフォルトで導入されたISPF起動CLISTでISPFを起動したとき、ISPFメニューの前にISMF、IPCS、RACF、DITTO、SMP/Eなどのアドミニストレーターのシステム保守用ツールも起動できる「CUSTOMPAC MASTER APPLICATION MENU」パネルが表示されるようになっていると、PDFやSDSFはそのパネルから改めて選択し直すことになります。普段使うのがISPF/PDFとSDSFなら直接PDFメニューパネルを表示して、SDSFもそこから選択できると便利です。

アドミニストレーター用のシステム保守ツールも使える「CUSTOMPAC MASTER APPLICATION MENU」は、PDFとSDSFの起動に必要なデータセットだけでなく、数多くのプロダクトのデータセットをCLIST内で割り当てるため、起動に時間が掛かります。
普段の作業に必要なければ、使うツールに限定したCLISTやパネルを使えば資源の節約やセキュリティー面でも有益です。


ISPF起動用CLISTの作成

    ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
    PROC 0 PANEL(ISR@PRIM)
    /*********************************************************************/
    /*                                                                   */
    /* LIB: SYS1.CMDPROC(ISPPDF) FOR ISPF STANDARD PROCEDURE             */
    /* DOC: THIS CLIST ALLOCATES THE FILES REQUIRED BY ISPF AND PDF      */
    /*      AND THEN INVOKES PDF.                                        */
    /* NOTE: SYSPROC IS FREED AND REALLOCATED TO INCLUDE THE PDF CLIST   */
    /*       DATASET. THIS MAY RESULT IN A DIFFERENT CONCATENATION       */
    /*       THAN EXISTED BEFORE THIS CLIST WAS INVOKED.                 */
    /*                                                                   */
    /*********************************************************************/
    CONTROL NOFLUSH NOMSG MAIN
    PROFILE MODE WTPMSG MSGID
    /*
    FREE ALL
    FREE FI(SYSHELP)
    FREE FI(SYSPROC)
    ALLOC FI(SYSHELP) SHR DA( +
                             'SYS1.HELP'                                  +
                             'ISP.SISPHELP'                               +
                             'ISF.SISFHELP')
    ALLOC FI(SYSPROC) SHR DA( +
                             'MY.CLIST'                                   +
                             'SYS1.CMDPROC'                               +
                             'ISP.SISPCLIB')
    ALLOC FI(SYSEXEC) SHR DA( +
                             'ISF.SISFEXEC'                               +
                             'ISP.SISPEXEC')
    /*
    SET &PROFDSN = ISPF.&SYSUID..ISPPROF
    ALLOC FI(ISPPROF) SHR  DA('&PROFDSN.')
    /*
    CONTROL MSG
    ERROR EXIT
    ALLOC FI(ISPTABL) SHR DA('&PROFDSN.')
    ALLOC FI(ISPLLIB) SHR DA( +
                             'ISP.SISPLOAD')
    ALLOC FI(ISPPLIB) SHR DA( +
                             'MY.PANEL'                                   +
                             'ISP.SISPPJPN'                               +
                             'ISF.SISFPLIB')
    ALLOC FI(ISPMLIB) SHR DA( +
                             'ISP.SISPMJPN'                               +
                             'ISF.SISFMLIB')
    ALLOC FI(ISPTLIB) SHR DA( +
                             '&PROFDSN.'                                  +
                             'ISP.SISPTJPN'                               +
                             'ISF.SISFTLIB')
    ALLOC FI(ISPSLIB) SHR DA( +
                             'ISP.SISPSLIB'                               +
                             'ISF.SISFSLIB'                               +
                             'ISP.SISPSJPN')
    ERROR RETURN
    PDF PANEL(&PANEL) JAPANESE
    

ISPFのデフォルトPOM(Primary Option Menu)パネルである、ISR@PRIMを使用し、最低限必要なISPFデータセットを割り振り、ISPFを起動するCLISTサンプルです。
MY.CLISTおよびMY.PANELはユーザー専用のCLIST、PANEL定義体を格納するデータセットです。必要に応じてデータセットを追加するか、不要であれば削除します。
このCLISTではISPFプロファイルは、新規データセットをダイナミックにアロケートしないで、すでに作成済みである、としています。SET &PROFDSN = ISPF.&SYSUID..ISPPROF の箇所で自分のISPFプロファイル・データセット名がセットされるように修正します。


カスタマイズしたパネルでISPFを起動する

     READY
    EX 'MY.CLIST(MYPDF)'
    

作成したCLISTをデータセットMY.CLISTに、メンバー名MYPDFで入れたものとします。
TSOに再ログオンして、READYプロンプトから「EX ‘MY.CLIST(MYPDF)’」で修正したパネルを使ったISPFが起動します。z/OSでは、デフォルトのISPFメニューパネル(ISR@PRIM)にはSDSFが「S」で追加されているので、PDFの各パネルから=SでSDSFを直接起動できます。ISPFを終了してREADYプロンプトへ戻った後、再度ISPFを起動する時は単に「MYPDF」と打てばISPFを起動できます。MYPDF内でSYSPROCにMY.CLISTを追加して再アロケーションしているからです。

    //*-------------------------------------------------------------------*
    //*        SIMPLY TSO LOGON PROCEDURE
    //*        ==============================
    //*        THIS PROCEDURE ENABLES USERS TO LOGON TO TSO/E.
    //*-------------------------------------------------------------------*
    //USRACCNT PROC
    //USRACCNT EXEC PGM=IKJEFT01,DYNAMNBR=256
    //*-------------------------------------------------------------------*
    //SYSPROC  DD DISP=SHR,DSN=SYS1.CMDPROC
    //         DD DISP=SHR,DSN=MY.CLIST     <=== User CLIST Library
    //SYSHELP  DD DISP=SHR,DSN=SYS1.HELP
    //SYSLBC   DD DISP=SHR,DSN=SYS1.BRODCAST
    //SYSPRINT DD TERM=TS,SYSOUT=*
    //SYSTERM  DD TERM=TS,SYSOUT=*
    //SYSIN    DD TERM=TS
    

初回のEXコマンドが面倒なら、TSOのログオンプロシージャのSYSPROC DD文に、「MY.CLIST」を追加します。




英語パネルのISPF

筆者の好みではありますが、日本語パネルは字が大きく、どうもごちゃごちゃした感じですっきりしません。覚えてしまえば、パネル上の決まり切ったガイダンスなど日本語である必要はないので、パネルのみ英語版を使うのもいいと思います。英語パネルはすっきりした感じに見えますが、どうでしょうか?
英語パネルを使っても、端末エミュレーターが日本語をサポートしていれば、エディターやブラウザーで日本語を表示・入力することは可能です。

英語パネルを使う場合は、前述のサンプルCLISTでデータセットの最後3文字がJPNになっているところをENUに変更します。

ISPFプライマリーメニューパネルの修正

POMパネルにSDSFが組み込まれていなければ、パネル定義体を修正して追加します。

    ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
                   :
                   :
                   :
    )BODY  CMD(ZCMD)
       Menu  Utilities  Compilers  Options  Status  Help
     -----------------------------------------------------------------------
                                ISPF Primary Option Menu
     Option ===> Z
                   :
                   :
                   :
    )AREA SAREA39
     0  Settings      Terminal and user parameters
     1  View          Display source data or listings
     2  Edit          Create or change source data
     3  Utilities     Perform utility functions
     4  Foreground    Interactive language processing
     5  Batch         Submit job for language processing
     6  Command       Enter TSO or Workstation commands   
     SD SDSF          System Display and Search Facility  <=== ADD for SDSF
     7  Dialog Test   Perform dialog testing
     9  IBM Products  IBM program development products
     10 SCLM          SW Configuration Library Manager
     11 Workplace     ISPF Object/Action Workplace
                   :
                   :
                   :
    &ZSEL = TRANS (TRUNC (&ZCMD,'.')
      0,'PGM(ISPISM) SCRNAME(SETTINGS)'
      1,'PGM(ISRBRO) PARM(ISRBRO01) SCRNAME(VIEW)'
      2,'PGM(ISREDIT) PARM(P,ISREDM01) SCRNAME(EDIT)'
      3,'PANEL(ISRUTIL) SCRNAME(UTIL)'
      4,'PANEL(ISRFPA) SCRNAME(FOREGRND)'
      5,'PGM(ISRJB1) PARM(ISRJPA) SCRNAME(BATCH) NOCHECK'
      6,'PGM(ISRPTC) SCRNAME(CMD)'                        
     SD,'PGM(ISFISP) NOCHECK NEWAPPL(ISF) PARM(&ZTRAIL)'  <=== ADD for SDSF
      7,'PGM(ISPYXDR) PARM(&ZTAPPLID) SCRNAME(DTEST) NOCHECK'
      9,'PANEL(ISRDIIS) ADDPOP'
     10,'PGM(ISRSCLM) SCRNAME(SCLM) NOCHECK'
     11,'PGM(ISRUDA) PARM(ISRWORK) SCRNAME(WORK)'
      X,EXIT
                   :
                   :
                   :
    

英語版のデフォルトPOMパネルは、ISP.SISPPENUのISR@PRIMです。これを任意のデータセットにコピーして上記のように修正します。サンプルのCLISTであれば、「MY.PANEL」にコピーして、そちらを修正します。この修正はPOMパネルからSDSFを起動できるようにするためのものです。「<=== ADD for SDSF」で示した行を追加します。最初の追加部分は新たな行を挿入するのではなく、6 Command または 7 Dialog Test の行をリピートして修正するようにします。これはその行に表示・入力できないバイナリーデータが使われているためです。
普段使わない機能はメニューからはずせばよりシンプルになりますが、速さの面ではほとんど関係ありません。他のISV製品などのツール類も含めて1メニューパネルに収めたいような時は、使わなくてもかまわない機能をはずすのもいいでしょう。サンプルではSDSFに「SD」を割り当てましたが、日本語パネルと同じ「S」でももちろんかまいません。
ISV製品のプログラムやパネルも、同様の方法で追加できます。