IEHLIST

By 神居 - Posted: 2010/06/17 Last updated: 2010/06/17 - Leave a Comment

IEHLIST:DASDボリューム、区分データセットのリスティング・ユーティリティー

IEHLISTは(z/OS)における、DASDボリュームまたは区分データセット・ディレクトリーのリスティングを行うユーティリティー・プログラムの名前です。MSPではJSGLIST、VOS3ではJSFLISTとして提供されています。プログラム名は異なるものの、JCLもSYSIN制御ステートメントも含め、基本的に互換ユーティリティーです。

DASDボリュームのVTOCや区分データセットのディレクトリーのリストアップを行うことはよくあります。ボリューム内にどのようなデータセットがあるのか?、データセット内にどのようなメンバーがあるのか?を調べることは運用や開発の現場でしばしば起こります。

ユーティリティーの実行サンプルはこちらをご覧下さい。

IEHLISTは古くからあるユーティリティーで、基本ユーティリティーの1つでもありますが、リストの見やすさという点では今ひとつです。z/OSであれば、VTOCやディレクトリーの各フィールドを詳細に見る必要がないのであれば、VTOCリストやメンバーリストなどはISPFをバッチで呼び出す方がより見やすいリストを得ることができます。

//         JOB (acct),name,CLASS=A,MSGCLASS=B,REGION=4M
//*********************************************************************
//*        ISPF BACTH SESSION SAMPLE JCL
//*********************************************************************
//ISPBATCH PROC
//BLDCLST  EXEC PGM=IEBGENER
//SYSPRINT DD DUMMY
//SYSUT2   DD DISP=(,PASS),DSN=&&CLIST(ISPFCMD),
//            UNIT=VIO,SPACE=(TRK,(1,1,1)),
//            DCB=(RECFM=FB,BLKSIZE=0,LRECL=80)
//SYSIN    DD DUMMY
//*
//ISPFRUN  EXEC PGM=IKJEFT01,DYNAMNBR=256
//SYSPROC  DD DISP=(OLD,DELETE),DSN=&&CLIST
//ISPPROF  DD UNIT=SYSDA,SPACE=(TRK,(15,1,10)),
//            DCB=(RECFM=FB,BLKSIZE=6160,LRECL=80)
//ISPLLIB  DD DISP=SHR,DSN=ISP.SISPLOAD
//ISPPLIB  DD DISP=SHR,DSN=ISP.SISPPENU
//ISPMLIB  DD DISP=SHR,DSN=ISP.SISPMENU
//ISPTLIB  DD DISP=SHR,DSN=ISP.SISPTENU
//ISPSLIB  DD DISP=SHR,DSN=ISP.SISPSLIB
//         DD DISP=SHR,DSN=ISP.SISPSENU
//SYSTSPRT DD SYSOUT=*
//*
//PRTLIST  EXEC PGM=IEBGENER,COND=(0,NE,ISPFRUN)
//SYSPRINT DD DUMMY
//SYSUT1   DD DISP=(OLD,DELETE),DSN=ISPFJOB.&SYSUID..SPF1.LIST
//ISPLOG   DD DISP=(OLD,DELETE),DSN=ISPFJOB.&SYSUID..SPFLOG1.LIST
//SYSUT2   DD SYSOUT=*
//SYSIN    DD DUMMY
//         PEND
//*********************************************************************
//IEFPROC  EXEC ISPBATCH
//BLDCLST.SYSUT1 DD *,DLM='++'
/* CLIST FOR ISPF BATCH SESSION */
/* PRINT VTOC LIST */    代わりにLEVEL(UAP1)とDS名レベルを指定してもよい
ISPEXEC LMDINIT LISTID(LID)  VOLUME(WRKVOL)
ISPEXEC LMDLIST LISTID(&LID) OPTION(SAVE) STATS(YES)
ISPEXEC LMDFREE LISTID(&LID)
END
//ISPFRUN.SYSTSIN DD *
  PROFILE PREFIX(ISPFJOB)           /* AVOID ISPF-LOG ENQ CONTENTION */
  ISPSTART CMD(%ISPFCMD)            /* ISPF EXECUTION COMMANDS CLIST */
//
//

ISPFのLMサービスによるVTOCリストの出力サンプルです。LMサービスでの出力であれば、PDFの3.4ユーティリティーに近い形のリスト出力を得ることができます。
PDSのメンバーリストであれば次のようなCLISTをBLDCLST.SYSUT1 DD文に記述すればで出力できます。

//BLDCLST.SYSUT1 DD *,DLM='++'
/* PRINT PDS MEMBER LIST */
ISPEXEC LMINIT  DATAID(DDVAR) DATASET('USR1.LINKLIB') ENQ(SHR)
ISPEXEC LMPRINT DATAID(&DDVAR) INDEX
END

ISPFバッチはこちらにものサンプルがあります。

Posted in キーワードから(何が知りたいですか) • • Top Of Page