STCとバッチJOBでJCLを共用する方法

By 神居 - Posted: 2008/10/26 Last updated: 2010/06/21 - Leave a Comment
印刷用ページの表示 印刷用ページの表示

同じJCLをある時はJOBとして、またある時はSTCタスクとして起動方法を使い分けることもできます(ESA V5以降のMVSでサポートされます)。

従来STCタスクを起動する場合は、その起動用プロシージャをシステム・プロシージャ・ライブラリーに登録しました。プロシージャ自身はSTARTコマンドで直接STCタスクとして実行するか、他のジョブJCLから呼び出して実行する必要がありました。しかし現在では、マスタースケジューラーの起動プロシージャであるMSTJCLnn(SYS1.PARMLIBに入っている)にIEFJOBS DD文を定義することで、そこで指定された区分データセット内のジョブ用JCLメンバーをSTARTコマンドで直接実行することができます。またそのメンバーをSTARTコマンドでなくJES2にサブミットすればJOBとして実行することもできます。STARTコマンドでSTCタスクとして実行した時のジョブ名もJCLのJOB文に指定されている名前になります。IEFJOBSに登録する場合JCLはJOB文を使用してあくまでも通常のJOB用に作ります。PROC文で始めてはなりません。

JES2が起動された後、同じ名前のメンバーがIEFJOBSとJES2のPROC00の両方にあればIEFJOBS側が使用されます。この方法だとSTCタスクであってもストリーム内データ(DD *)が利用できます。STCタスクで動かすがSYSINデータをDD *で直接指定できればなぁって思ったことはありませんか?

詳細はz/OS MVS JCL解説書の「開始済みタスクのソースJCL の決定」に載っています。

Posted in 知っておくと便利なテクニックなど • • Top Of Page