BUCHI'S HOME PAGE


JCLB

サンプル

サンプルは前回と同じものです。

//JCL001 JOB J001,'J/BUCHI',CLASS=J,MSGCLASS=J,MSGLEVEL(1,0)
//***********************************************************
//*      PGM      STEP01                                    *
//***********************************************************
//STEP01  EXEC PGM=STEP01
//STEPLIB   DD DSN=PGM.LINKLIB,DISP=SHR
//SYSOUT   DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSDBOUT DD  SYSOUT=*
//GAT002O  DD  DSN=GA.GAT002P,DISP=(,CATLG),
//             UNIT=SYSDA,SPACE=(TRK,(1500,450),RLSE),
//             DCB=(RECFM=FB,LRECL=120,BLKSIZE=0)
//GBT001I  DD  DSN=GA.GAT001P,DISP=SHR
/*
//

装置の指定

プログラムでDASDまたテープ上のデータセットを使用する場合、 使用するすべてのデータセットに対して必要な装置が割り振られていなければ ならない。

//GAT002O  DD  DSN=GA.GAT002P,DISP=(,CATLG),
//             UNIT=SYSDA,SPACE=(TRK,(1500,450),RLSE),
//             DCB=(RECFM=FB,LRECL=120,BLKSIZE=0)
@UNIT=装置アドレス(UNIT=00Fなど)
データセットに対して特定装置アドレスを使用して指定する。
※それぞれの装置には、装置が導入された際に決定された3桁の独自のアドレスを有する

AUNIT=装置タイプ(UNIT=3380など)
データセットに対して装置の種類を指定する。
DASD・・・3390,3380,3375など
TAPE・・・3490,3480など

BUNIT=グループ名(UNIT=SYSDAなど)
システム作成時に入出力装置をグループ化して定義してあるものを指定

スペースの割り振り

データセットを作成する場合、OSは指定されたボリューム上に十分なスペースを 見つけなければならない。そのため、どの程度のスペースが必要かあらかじめ指定しておく必要がある。

//GAT002O  DD  DSN=GA.GAT002P,DISP=(,CATLG),
//             UNIT=SYSDA,SPACE=(TRK,(1500,450),RLSE),
//             DCB=(RECFM=FB,LRECL=120,BLKSIZE=0)

SPACE=(割り振り単位,(1次数量,2次数量),RLSE)

@割り振り単位
・TRK・・・トラック単位で割り振る
・CYL・・・シリンダ単位で割り振る
・ブロック長・・・平均ブロック長で割り振る

A1次数量
・データセットを作成する際に最初に要求するスペース量を指定する。 データセットに対して2次数量を指定せず、1次数量で指定した容量を超えた場合 プログラムは異常終了する。(ABEND-CODE:D37)

B2次数量
・データセットに対する追加スペース。OSはそのデータセットに対するエクステントが 最高16回繰り返されるまで2次数量を確保できる。それでも容量が足りない場合は(ABEND-CODE:37) で異常終了する。

CRLSE
・データセットをクローズするときに未使用領域を解放する。

データセットの属性定義

DCBにはPGM中のコーディング、JCLのステートメントのコーディング、 データセットがすでに存在している場合はデータラベルの3つの情報源から収集した 情報が入り、データセットがOPENされるときにOSによって情報が埋められる。

//GAT002O  DD  DSN=GA.GAT002P,DISP=(,CATLG),
//             UNIT=SYSDA,SPACE=(TRK,(1500,450),RLSE),
//             DCB=(RECFM=FB,LRECL=120,BLKSIZE=0)

DCB=(RECFM=レコード形式,LRECL=レコードサイズ,BLKSIZE=ブロックサイズ)

レコード形式
@固定長(F,FB)・・・非ブロック化レコード(F)またはブロック化レコード(FB)でデータセットを構成するレコードの長さが一定のもの。
・F・・・LRECLとBLKSIZEは等しい
・FB・・・BLKSIZEはLRECLの倍数

A可変長(V,VB)・・・非ブロック化レコード(V)またはブロック化レコード(VB)でデータセットを構成する各論理レコードの長さが異なるもので、 各論理レコードの先頭に先頭にそのレコードの長さの情報を持っている。
・V・・・LRECLは最長のデータレコード長+4バイト。BLKSIZEはLRECLと同じ。
・VB・・・LRECLは最長のデータレコード長+4バイト。BLKSIZEはLRECLと同じかそれ以上。

B不定長(U)・・・データセットを構成する各論理レコードの長さが異なるもので、 レコードの長さの情報を持っていない。この形式ではレコードのブロック化はできない。

※FA、FBA、VA、VBA・・・末尾にAのつくものはレコードに、ISO/ANSI 制御文字が入っていることを示す。


前へ目次へ


SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送