ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ACOS-4コミュのJCLマクロについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加

JCL。(JobControlLanguage)

¥で始まるユーティリティー(¥CREATESEQ等)は全てJCLマクロです。

JCLマクロとは。

例えば、
\CREATESEQ
INFILE=(FILE1,PUBLIC,FILESTAT=TEMP),
OUTFILE=(FILE2,CATLGD);

と書くと、

\STEP STDCREATE FILE=(SYS.JCL.SLLIB) NOLIMIT;
\ASSIGN INF INFILE,FILE1,PUBLIC,FILESTAT=TEMP,SHARE=NO,NORMAL=DELETE);
\ASSIGN OUT OUTFILE,FILE2,CATLGD,SHARE=NO;
\ENDSTEP;

など(一部覚えてません)に変換される事は皆さんお解かりでしょうか?
これはJCLマクロになっています。
実はJCLには規定値で「SYS.JCL.MACLIB」というJCLマクロライブラリが
暗黙で参照することになっています。

ユーザーによっては自身で作成したJCLマクロを「SYS.JCL.MACLIB」に
登録して運用しているところもあり、当たり前のように\xxxxxという
マニュアルに載っていないユーティリティを使っている所もあります。

ユーザJCLマクロライブラリを別に管理したい場合は「\RETRIEVE」文を
使い、1番目の引数にユーザJCLマクロライブラリ名を、
2番目にSYS.JCL.MACLIBを登録する事でシステムマクロとユーザーマクロを
分けることが出来ます。

例(だったかな?マニュアル紛失)
\RETRIEVE MACLIB1=(USER.JCL.MACLIB,CATLGD),MACLIB2=(SYS.JCL.MACLIB,RESIDENT);


例えば、古い話ですが、XVP Ver1.0だったかな?

以降では磁気テープの\ASSIGN文にNOREWINDパラメータが追加になりました。
これはそのままの意で「巻き戻ししない」というパラメータですが、
セーブやロード時間の短縮に大いに役に立ちます。(CGMTでも有効)
但し、最後に使用したSTEPでもNOREWINDパラメータが必要でした。
(今は知りませんが)

そこで、MTがその位置で止まったままになり、UNLOADできないことがありました。
小生がサポートしていたユーザで同じメディア名のMTを複数使用する場面が
あり、折角セーブしたMTのデータを潰してしまったトラブルがありました。

このとき小生が作成したのが「\UNLOAD」マクロでした。
JCLの\JOBの後に\RETRIEVEにてユーザJCLマクロライブラリを指定して
\UNLOAD MEDIA=xxxxxx;
と書くとそのメディアをUNLOADするユーザマクロでした。
内容は、
\STEP UNLOAD FILE=(USER.LM,CATLGD);
\ASSIGN INF,%MEDIA,UNLOAD;
\ENDSTEP;
のようなマクロです。
UNLOADはただINPUTオープンしてCLOSEするだけのLMです。
MEDIAパラメータは%だったか今は覚えていません。
(どなたかフォローして下さい)
それにより、トラブルはなくなりました。

皆さんはSYS.JCL.MACLIBかユーザーJCLマクロライブラリ。
どちらを使って何が標準で何がユーザマクロか区別が付いていますか?

尚、SYS.JCL.MACLIBはカタログ化されていない筈なので中身は
ソースだった筈ですがNEDITでは直接見れません。
カタログ化すれば見れますが中身をいじると大変ですので止めましょう!
.

コメント(0)

mixiユーザー
ログインしてコメントしよう!

ACOS-4 更新情報

ACOS-4のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。