アフィリエイト広告を利用しています

広告

posted by fanblog


登録サイト50万突破のA8.net


ここのスクールは成果かがちゃんとでているところがよいです!


ロリポップのドメインは選べる全85種類!!


懸賞で海外旅行!業界最高還元率のポイント☆スター


シティ スチューデントカード


チャーター便で行く海外!最寄の空港から海外へ



5,000円キャッシュバック付! おうちでダンスエクササイズ☆ターボジャム

楽天で探す
楽天市場

プロフィール

kaharamate
リンク集

広告

posted by fanblog
2010年09月20日
JCLメモ
メモ書き変わりにブログに勉強したことを記載しています。
内容が間違っていたらごめんなさい。(ほとんど人の記述の引用ですが)

JCLの読み方
JCL例

@全体の構造
・頭にJOB文があって、複数のEXEC文(+DD文)が繋がっている。
このEXEC文(+DD文)のかたまりをSTEPという。
このSTEPが一つのプログラムを動かす単位である。
JCLを実行すると、 順番にSTEP(つまりプログラム)が実行されていく。
このときに各プログラムを実行するための、環境資源を定義したものがDD文である。

A「EXEC」
・「EXEC」の記述には2種類あり
「EXEC」のすぐ後ろにPGM=のあとにかかれているものが、 プログラム名。
で、「EXEC」のすぐ後ろにかかれているもはプロシージャ名。

・PGM=でプログラム名が書かれているものは、そのSTEP内に
そのプログラムを動かす、全ての環境資源を定義しなければいけない。
一方、プロシージャ名を指定してあるものは、
どこかにその雛型があり、それを修飾して使うものと考る。
そのJCLの内部にあるものをインストリームプロシージャ、
システムが参照するライブラリに登録されているものを、
カタログドプロシージャと呼ぶ。

プロシージャの修飾は、あくまでも必要であれば行うものである。
(例2
//S11P EXEC MACCP,CTL=MACCPA4,OUT=3,CHARS=,FCB=,FLASH=
//PIN1 DD DSN=&&TSUFL2,DISP=(OLD,DELETE),UNIT=DISK
//POUT1 DD SYSOUT=3,OUTPUT=*.OUT2,
// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//*
となっているが、これはMACCPというカタログドプロシージャに書かれている、
(若しくは必要なのに元々書かれていない)
「PIN1」と「POUT1」というDDについて、
実行時に指定しています。

BプログラムとDDの関係
プログラムが入力や出力として使用するデータセットを、
DD文で指定する。
プログラムがそのSTEP内に記述されているどのデータセットを、
どのように使用するかの関連付けには、2つのパターンがある。
プログラム内にDD名を記述してあるものと、実行時に指定(SYSINなどから)するものです。
一般的なプログラムは前者で、メーカーのユーティリティなどに後者のようなものがある。
プログラム内にDD名を記述しているとはどういうことかというと
//STEP1  EXEC PGM=A
//IN01   DD DSN=NNN,DISP=SHR
//OUT01   DD DSN=ZZZ,DISPSHR
Aというプログラムを起動すると、IN01という固定のDD名のデータセットを入力に、
OUT01という固定のDD名のデータセットを出力に使うといった動きになるケースでは、
プログラムA内の記述として「IN01」という固定の名前そのものと、
INPUTとして使用(オープン)するという情報と、「OUT01」という固定の名前そのものと、
OUTPUTとして使用(オープン)するという情報が書かれていると言うこと。
つまりプログラムAを動かすと、「IN01」「OUT01」の2つのデータセットを
オープンにいくという結果になる。
このようなケースでOUTPUTの結果をデータセットに残さなくても結構、
と言うときにDD DUMMYを使う。
結果がいらないからといって、OUT01を無くしたりすると、オープンエラーに
なってしまうことが多いので、単純に消してしまってはいけない。
(更新中)

DD DUMMYとは?
 ⇒出力は亡き者にするということ。

参考にした記事
http://pc.2ch.net/tech/kako/994/994912940.html

この記事のURL

×

この広告は30日以上新しい記事の更新がないブログに表示されております。