AMS(アクセス方式サービスプログラム)は、VSAMデータセットとカタログ操作用のユーティリティ・プログラムです。しかし、その応用範囲は広く、VSAMだけでなくPSやPDSなどの非VSAMデータセットに関してもさまざまな操作を行うことができる、データセット操作の統合ユーティリティでもあります。ここではVSAMデータセットとカタログ・データセットに関するいくつかのサンプルを紹介します(足りないものはマニュアルを見てください)。
AMSを使用した非VSAMデータセットの操作サンプルに関しては、別の記事「非VSAMデータセットの操作いろいろ」をご覧下さい。
JCLの基本形
1 2 3 4 5 6 7 8 9 10 |
// JOB Statement //********************************************************************* //* Sample JCL - IDCAMS //* =================== //********************************************************************* //IDCAMS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * AMS制御ステートメント // |
プログラム名は、MSPではKQCAMS、VOS3ではJSCVSUTですが、どちらのOSでもIDCAMSの別名が付いているので、そのままIDCAMSと指定しても利用できます。このユーティリティーは、使いたい機能に応じたAMS制御ステートメントをSYSINに記述することで処理を行います。ただし、制御ステートメントには一部非互換もあるので、必要に応じてマニュアルを参照してください。
VSAMデータセットの作成
1 2 3 4 5 6 7 8 |
//SYSIN DD * DEFINE CLUSTER - (NAME(TEST.VSAMFILE) - VOLUMES(WRKVOL) - RECORDS(100 10) - RECORDSIZE(80 80) - NONINDEXED) // |
VSAMデータセットの作成には、DEFINE CLUSTERコマンドを使います。この例では、新しいエントリー順データセット(ESDS)、TEST.VSAMFILEを、ボリュームWRKVOLに作成します。レコード長は80バイト、レコード数は初期値100レコード分(増分10レコード分)で作成します。TEST.VSAMFILEはクラスター名で、JCLのDSNパラメーター等に指定する名前となりますが、DASD上の実際のデータセット名は「TEST.VSAMFILE.DATA」となります。その他の詳細は、AMSユーティリティのマニュアルを参照して下さい。
VSAMデータセットの改名と削除
1 2 3 4 5 |
//SYSIN DD * ALTER TEST.VSAMFILE NEWNAME(TEST.VSAMFILE.BACKUP) ALTER TEST.VSAMFILE.DATA NEWNAME(TEST.VSAMFILE.BACKUP.DATA) DELETE TEST.VSAMFILE.BACKUP // |
VSAMデータセットもリネームできます。最初の例は、クラスター名の変更です。データ・コンポーネントやインデックス・コンポーネントの名前は変更されません。コンポーネント(DASD上の実体データセット)の名前を変える場合は、コンポーネント名で指定します。それが2番目の例です。最後のDELETEは、VSAMデータセットの削除を行います。VSAMデータセットは、BR14の実行JCLでDISP=(OLD,DELETE)としても消せません。エラーにならずにノーマルエンドしますが、実際は消えていません。(※現在のz/OSでは、JCLのDISPパラメーターの指定でも削除することができます)
VSAMデータセットの印刷
1 2 3 4 |
//SYSIN DD * PRINT IDS(TEST.VSAMFILE) CHAR PRINT IDS(TEST.VSAMFILE) FKEY(0345673412) COUNT(100) // |
VSAMデータセットの内容を出力(プリント)するには、PRINTコマンドを使います。
この例では、VSAMデータセットTEST.VSAMFILEのレコード内容を、そのまま出力します。FKEYパラメーターは、印刷を開始するレコード(キーで指定)を指定し、COUNTは印刷を開始するレコードから何レコード分出力するのかを指定するオプションです。COUNTではなく、TOKEYパラメーターで、印刷を終了するレコード(キーで指定)を指定することもできます。オプション・パラメーターの詳細は、AMSユーティリティのマニュアルを参照して下さい。
VSAMデータセットのアンロード
1 2 3 4 5 6 7 |
//SYSUT1 DD DISP=SHR,DSN=TEST.VSAMFILE //SYSUT2 DD DISP=(,CATLG),DSN=TEST.VSAMFILE.UNLOAD, // UNIT=SYSDA,VOL=SER=WRKVOL,SPACE=(TRK,(10,10)), // DCB=(RECFM=FB,BLKSIZE=0,LRECL=80) //SYSIN DD * REPRO INFILE(SYSUT1) OFILE(SYSUT2) // |
VSAMデータセットの内容は、順次編成データセットにアンロードできます。これは、VSAMデータセットのバックアップにもなります。IN側をPSデータセット、OUT側をVSAMにすれば、VSAMデータセットへのデータのローディングです。