DEFV (VSAM ステートメントの定義)
- 目的
- この機能は、DD FMNDEFV に定義された出力データ・セットに対する 1 つ以上の VSAM データ・セットの IDCAMS 定義ステートメントを作成します。
ここで、
- DSNLIST
- コンマ区切りのデータ・セット名のリストです。完全修飾データ・セット名または総称データ・セット名を指定できます。指定されたデータ・セット名と一致する VSAM クラスターのみが、作成される DEFINE ステートメントに組み込まれます。
総称名では、パーセント (%) 記号を使用して 1 つの修飾子内の 1 文字を表し、アスタリスク (*) で任意の数の文字を表します。2 つのアスタリスク (**) は任意の数の修飾子内の任意の数の文字を表します。
- 例 1バッチ・ジョブ
-
//FMBAT EXEC PGM=FMNMAIN //FMNDEFV DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSIN DD * $$FILEM DEFV , $$FILEM DSNLIST=(FMN.FMDATA.K*, $$FILEM FMN.FMDATA.ESDS, $$FILEM userid.FMDATA.**)
- 例 2.ISPF 3.4 での使用のための REXX exec
-
/* REXX - VSAM define statements for data set */ ARG DSN CALL FMNELIBD DEF /* Remove if not using LIBDEFS */ ADDRESS TSO "ALLOC FI(FMNPRINT) DA(*) REUSE" "ALLOC FI(FMNDEFV) NEW SP(1,5) TRACKS" ADDRESS ISPEXEC "SELECT CMD(FILEMGR $DEFV DSNLIST=("DSN")" "LMINIT DATAID(DEFID) DDNAME(FMNDEFV) ENQ(SHR)" IF RC = 0 THEN DO; "VIEW DATAID("DEFID")" IF RC > 8 THEN "SETMSG MSG("ZERRMSG")" "LMFREE DATAID("DEFID")" END; ADDRESS TSO "FREE FI(FMNPRINT)" "FREE FI(FMNDEFV)" CALL FMNELIBD DROP /* Remove if not using LIBDEFS */ EXIT 0;