IEHPROGM

By 神居 - Posted: 2010/04/28 Last updated: 2010/04/28 - 2 Comments

IEHPROGM:順次データセット、区分データセット・メンバーのオペレーション・ユーティリティー

IEHPROGMは(z/OS)における、順次データセット、区分データセット・メンバーのリネームと削除などを行うユーティリティー・プログラムの名前です。MSPではJSGPROGM、VOS3ではJSFCTLGとして提供されています。プログラム名は異なるものの、JCLもSYSIN制御ステートメントも含め、基本的に互換ユーティリティーです。

IEHPROGMではデータセットやメンバーの名前を変えたり、削除を行う際に、カタログの変更までは行われません。カタログも併せて変更するには同時にそのデータセットのアンカタログ、再カタログを制御ステートメントで指定しなければなりません。カタログ・エントリーはリネームやスクラッチの際に自動的には更新されません。このユーティリティーが提供された頃のOSではカタログを使うことは今ほど一般的ではありませんでした。言い換えれば業務処理で使うデータセットはカタログを使わなくても、十分管理できる程度の規模(数)で運用されていたからでもあります。今でもユーティリティーの機能は互換ですから、カタログ・エントリーの変更や削除が自動的にされない点も変わっていません。

SMS管理データセットなど、カタログが前提の今日のシステム運用では、IEHPROGMを使う機会はめっきり少なくなりました。特にSMS管理データセットのカタログやアンカタログはIEHPROGMでは行うことができません。データセットやメンバーのリネームと削除は、非VSAMデータセットであってもAMSユーティリティーで行うことができますし(AMSならカタログも同時に変更される)、削除だけならJCLのDD文(DISPパラメーター)で簡単に行えます。また、ISPFなどの対話型ユーティリティーなら操作も簡単です。

その他にパスワード・データセットの保守機能がありますが、こちらはRACFによるセキュリティー管理が必須となった現在では新たに覚える必要もないでしょう。

昔から運用されてきたバッチ処理の中で、IEHPROGMユーティリティーがそのまま使われていることもあります。そのようなJCLを解析するような際の知識として知っておけば十分ではないかと考えます。

//DSOPERAT EXEC PGM=IEHPROGM
//SYSPRINT DD SYSOUT=*
//DASD     DD DISP=OLD,UNIT=SYSDA,VOL=SER=ZDAT02
//SYSIN    DD *
 RENAME DSNAME=TEST.DATA1,NEWNAME=TEST.DATA2,VOL=SYSDA=ZDAT02
 SCRATCH DSNAME=TEST.DATA3,VOL=SYSDA=ZDAT02
//

カタログ・エントリーも同時に変更するには次のように指定する。
//DSOPERAT EXEC PGM=IEHPROGM
//SYSPRINT DD SYSOUT=*
//DASD     DD DISP=OLD,UNIT=SYSDA,VOL=SER=ZDAT02
//SYSIN    DD *
 RENAME DSNAME=TEST.DATA1,NEWNAME=TEST.DATA2,VOL=SYSDA=ZDAT02
 UNCATLG DSNAME=TEST.DATA1
 CATLG DSNAME=TEST.DATA2,VOL=3390=ZDAT02
 SCRATCH DSNAME=TEST.DATA3,VOL=SYSDA=ZDAT02
 UNCATLG DSNAME=TEST.DATA3
//

同じ事をするAMSのJCL。
//DSOPERAT EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN    DD *
 ALTER TEST.DATA1 NEWNAME(TEST.DATA2)
 DELETE TEST.DATA3
//

区分データセットのメンバーのリネームと削除についてのサンプルは、「区分データセットのメンバー名変更と削除(IEHPROGM)」および「非VSAMデータセット(PS,PDS)の操作いろいろ(IDCAMS):区分データセットのメンバーを改名(リネーム)する、削除する」のページを参照して下さい。

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

2 Responses to “IEHPROGM”

Comment from 野良猫
Time 2010年4月28日 at 12:31

満了日付のデータセットは当ユーティリティーでないと削除できなかったと把握しているのですが、最近のOSではちがうのですかネ。

Comment from kamii
Time 2010年4月28日 at 13:08

DD文のDISP=(OLD,DELETE)ではだめだったと理解してますが(書き込みの場合はコンソールにリプライが上がりUを応答すればOKだったので、削除も同じかも知れません)、AMSではPURGEオプションを付けたDELETEコマンドで削除できます。IEHPROGMでもそこは同じでしょう。満了日以前の削除ではSCRATCH制御文にPURGEオプションが必要だったかと。SMSデータセットではPARMLIBのSMS初期設定パラメーターの設定で決まったように記憶してます。