VSAM データ・セットを定義する例

次の例では、カタログを作成し、データ・セット (新規に作成されたカタログ内でカタログ化されているもの) を定義し、データ付きのデータ・セットをロードし、データ・セットのカタログ項目をリストし、データ・セットを印刷するためのコマンドの典型的なシーケンスを示しています。
   //DEFINE   JOB ...
   //STEP1    EXEC PGM=IDCAMS
   //SYSPRINT DD SYSOUT=*
   //SYSIN    DD *
 
              DEFINE USERCATALOG (NAME (USERCATX) ICFCATALOG CYLINDERS(15 5) -
                     VOLUMES(VSER05)) DATA (CYLINDERS(3 1))
 
              IF LASTCC = 0 THEN -
                   DEFINE CLUSTER(NAME (EXAMPL1.KSDS) VOLUMES(VSER05)) -
                     DATA              (KILOBYTES (50 5))
   /*
   //STEP2    EXEC PGM=IDCAMS
   //SYSPRINT DD SYSOUT=*
   //SYSABEND DD SYSOUT=*
   //AMSDUMP  DD SYSOUT=*
   //INDSET4  DD DSNAME=SOURCE.DATA,DISP=OLD,
   //       VOL=SER=VSER02,UNIT=3380
   //SYSIN    DD *
 
        REPRO INFILE(INDSET4) OUTDATASET(EXAMPL1.KSDS)
 
        IF LASTCC = 0 THEN -
            LISTCAT ENTRIES(EXAMPL1.KSDS)
 
       IF LASTCC = 0 THEN -
            PRINT INDATASET(EXAMPL1.KSDS)
   /*
次のアクセス方式サービス・プログラム・コマンドがこの例で使用されています。
コマンド 目的
DEFINE USERCATALOG カタログを作成する
DEFINE CLUSTER データ・セットを定義する
REPRO データ・セットをロードする
LISTCAT カタログ項目をリストする
PRINT データ・セットを印刷する

JCL を通じて VSAM データ・セットを作成する例は、VSAM 用のジョブ制御言語の使用を参照してください。 上記のコマンドおよび他のアクセス方式サービス・プログラム・コマンドの詳細および例については、 「z/OS DFSMS Access Method Services Commands」を参照してください。

最初の DEFINE コマンドは、USERCATX という名前が付いたユーザー・カタログを定義しています。USERCATALOG は、ユーザー・カタログが定義されることを指定します。コマンドのパラメーターを次に示します。
パラメーター 目的
NAME NAME が必要であり、定義されるカタログの名前を付けます。
ICFCATALOG カタログ・フォーマットを指定します。
CYLINDERS ボリュームの使用可能なスペースから割り振られるスペースの量を指定します。これが、 システム管理カタログ用に指定されている場合は、DATACLAS スペース使用を指定変更します。 スペース・パラメーターが必要です。
VOLUMES カタログを入れるボリュームを指定します。

カタログがシステムにより管理されている場合は、システムはそのボリュームを選出します。 SMS は、VOLUMES パラメーターで指定された値を無視します。

ただし、カタログが保証スペースを伴うストレージ・クラスに属している場合は、 SMS は、VOLUMES パラメーターで指定したボリュームを選択します。ストレージ・クラスを選択するために VOLUMES パラメーターで指定したボリュームを使用する ACS ルーチンを書き込むこともできます。

DATA クラスターのデータ・コンポーネントについて属性が明示的に指定されるときは、DATA が必要です。
CYLINDERS データ・コンポーネント用に割り振られるスペースの量を指定します。 スペース・パラメーターが必要です。
2 番目の DEFINE コマンドは、EXAMPL1.KSDS という名前付きのキー順データ・セットを定義します。 コマンドのパラメーターは次の通りです。
パラメーター 目的
CLUSTER CLUSTER キーワードが必要であり、クラスターが定義されることを指定します。 CLUSTER キーワードの後に、全クラスター用に指定されたパラメーター、 およびオプションによって、データと索引コンポーネント用に個別に指定されたパラメーターが続きます。
NAME NAME が必要であり、定義されるクラスターを指定します。
VOLUMES クラスターのコンポーネントが割り振られたスペースであることを指定します。 システム管理クラスターではクラスター当たり最大 59 ボリュームを 指定することができます。
DATA DATA は、クラスターのデータ・コンポーネントに対してパラメーターが明示的に指定されているときは、必要です。
KILOBYTES データ・コンポーネント用に割り振られるスペースの量を指定します。
REPRO コマンドは、ここでは、SOURCE.DATA と呼ばれる既存のデータ・セットから EXAMPL1.KSDS という名前付きの VSAM キー順データ・セットをロードします (INDSET4 DD ステートメントによって説明されます)。コマンドのパラメーターは次の通りです。
パラメーター 目的
INFILE ソース・データを含むデータ・セットを識別します。 このデータ・セット用の DD ステートメントの ddname は、このパラメーターで指定された名前に一致する必要があります。
OUTDATASET ロードされるデータ・セットの名前を識別します。 アクセス方式サービス・プログラムは、データ・セットを動的に割り振ります。 データ・セットはマスター・カタログ内にカタログ化されます。

クラスター・コンポーネントはパスワード保護されていないので、パスワードは必要ありません。

REPRO 操作が成功する場合、データ・セットのカタログ項目がリストされ、 ロードされたばかりのデータ・セットの内容が印刷されます。
コマンド 目的
LISTCAT カタログ項目をリストします。 ENTRIES パラメーターは、リストされる項目の名前を識別します。
PRINT データ・セットの内容を印刷します。 INDATASET パラメーターが必要であり、印刷されるデータ・セットの名前を識別します。 アクセス方式サービス・プログラムは、データ・セットを動的に割り振ります。 データ・セットはマスター・カタログ内にカタログ化されます。 クラスター・コンポーネントはパスワード保護されていないので、パスワードは必要ありません。