DSG (データ・セット生成)
- 目的
- DSG 機能は、VSAM データ・セット、順次データ・セット、PDS メンバー、HFS ファイル、MQ キュー、または CICS® リソース中にデータ値を作成して初期設定するために使用します。
作成するレコード数およびそれらのレコードの初期化の方法については、ユーザーが指定します。充てん文字およびパターンを使用してデータを初期化することができます。コピーブックまたはテンプレートを使用している場合は、フィールド・レベルでレコードを初期化することができます。個々のフィールドのフィールド作成属性は、コピーブックまたはテンプレートを編集することによって変更できます。
- オプション
- 充てん文字や充てんパターン、シーケンス・フィールド、およびブロック・サイズも指定できます。
- 戻りコード
- DSG 機能からのデフォルトの戻りコードには、変更された以下の意味があります。
- 4
- レコードが指定されなかったため、レコードは生成されませんでした。
- 16
- メンバーに DISP=MOD が指定されたため、レコードは生成されませんでした。
- 16
- キーがデータ内に完全には収まらなかったため、レコードは生成されませんでした。
- 16
- メンバー名が必要ですが、指定されませんでした。
- 16
- プログラム・オブジェクトが指定されていました。これはサポートされていません。
- 16
- データ・セットが使用中です。
- 16
- データ・セットまたはメンバーが使用中です。
- 16
- データ・セットまたはメンバーのオープン・エラー。
- 16
- その他の入出力エラーが発生しました。
- 16
- ストレージ不足です。
- 16
- DSG が異常終了しました。
- 16
- 処理を停止するその他の重大なエラーが発生しました。
注: インストール時に、戻りコードをカスタマイズすることができます。上に示したもの以外の戻りコードを受け取った場合には、ご使用のサイトでこの機能用に戻りコードをカスタマイズしている可能性があります。バッチの戻りコードが ABENDCC 値以上であると、File Manager が 999 異常終了を発行する場合もあります。詳しくは、File Manager システム管理者にお問い合わせください。 - 関連機能
- BT
- テスト・データをテープ・ファイルに書き込みます。
- INT
- テープを初期化します。
- OUTPUT=ddname
- 出力データ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは
DDOUT
です。 - DSNOUT=dsname
- 出力データ・セットの名前または出力 HFS ファイルへの絶対パスを定義します。DD ステートメントが指定されている場合は、使用されません。名前に、小括弧で囲んだメンバー名を含めることができます。ここでメンバーを指定する場合は、関連する Member パラメーターを空にする必要があります。
HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。
このデータ・セットは、以下のようにさらに詳細に記述できます。- (member)
- DSNOUT=dsname に PDS を指定したときに、このデータ・セット内の特定のメンバーへ出力を送りたい場合は、 出力メンバー名を定義します。
- VOLSEROUT=volser
- 新規または非カタログ・データ・セットのボリューム通し番号。
- MQ:manager:queuename
- データ・セット名の代わりに MQ キューを指定できます。パラメーターの意味は、以下のとおりです。
- manager
- 使用される MQ マネージャー。総称名を指定した場合、File Manager は一致するマネージャーのリストを表示し、このリストから選択できます。
- queuename
- 使用されるキュー。総称名を指定した場合、File Manager は一致するキューのリストを表示し、このリストから選択できます。
- rt:applid:rname
- データ・セット名の代わりに CICS® リソースを指定できます。パラメーターの意味は、以下のとおりです。
- rt
- リソース・タイプ。有効な値は、以下のとおりです。
- FI
- CICS® ファイル。
- TD
- 一時データ・キュー用。
- TS
- 一時ストレージ・キュー用。
- applid
- VTAM® システムの CICS® applid。
- rname
- リソースの名前。
- USEIOXOUT
- 出力データ・セットを処理するために、ユーザー I/O 出口を呼び出すかどうかを指定します。
- NO
- デフォルトです。ユーザー I/O 出口を呼び出しません。
- YES
- 出力データ・セットを処理するために、ユーザー I/O 出口を呼び出します。このオプションは、File Manager 用にサイトのカスタマイズを行ったユーザーが、そのサイト・ベースでユーザー I/O 出口を許可した場合にのみ使用できます。
- IOXOUT
- 出力データ・セットに使用するユーザー I/O 出口の名前を指定します。出口を記述するために使用できるプログラミング言語に制限はありません。STEPLIB/ISPLLIB 連結またはその拡張機能 (LINKLIST、LPA など) で、File Manager に出口を指定する必要があります。
- sysexit
- デフォルトです。USEIOXOUT=YES を指定し、ユーザー I/O 出口名を指定しない場合、File Manager はインストール時のカスタマイズ・オプションで提供される出口の名前を使用します。USEIOXOUT が YES に設定され、インストール・デフォルトが指定されていない場合は、IOXOUT=ioxname を指定する必要があります。注: オンライン・パネルでバッチ処理を選択した場合、生成される JCL ステートメントは「Set System Processing Options (システム処理オプションの設定)」パネルで提供されているデフォルト名を使用します。
- ioxname
- STEPLIB 連結で File Manager に提供されたデータ・セットの PDS(E) メンバーの名前。
- BINRECOUT=binrecout-len
- HFS ファイルを処理するためのレコード長を指定します。有効範囲: 1 から 32760。
ファイルはバイナリー・モードで処理されます (ファイルから導出された固定長レコードで、区切り文字は区別されません)。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます (可変長レコードで、境界は区切り文字により判別されます)。
- REUSE
- 出力データ・セットの既存のレコードを置換する場合は「YES」を指定します (出力データ・セットがカタログ上 REUSE パラメーターで定義されている場合)。古いレコードを削除せずに、新規レコードを追加する場合は「NO」を指定します。デフォルトは、NO です。
- DISP
- 出力データ・セットの後処理。「OLD」または「MOD」を指定します。
- OLD
- 入力レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
- MOD
- デフォルトです。入力レコードを既存の出力データ・セットの最後に付加します。注: 順次データ・セットに追加している場合、既存データ・セットに ISPF パック・データ形式のデータが含まれていないことを確認してください。パック・データ・セットにレコードを追加すると、データ・エラーが発生します。
注: SMS がシステムの新規データ・セットの割り振りを変更する可能性があります。詳しくは、SMS 管理者にお問い合わせください。 - RECSIZE=recsize
- 1-9999999。出力ファイルの特性に依存します。
固定レコード・フォーマットの場合は、レコード長はそのレコード長に設定され、ユーザー入力は無視されます。
未定義レコード・フォーマットの場合は、レコード長はそのブロック長に設定され、ユーザー入力は無視されます。
可変レコード・フォーマットの場合は、指定されたレコード長が最大レコード・サイズより小さければ、それが使用されます。それ以外の場合は、最大レコード・サイズが使用され、ユーザー入力は無視されます。
データ作成機能をテンプレートで使用するときには、書き込まれるレコードの長さは、レコードが固定長か可変長かと、テンプレート中のレコード記述のレコードの長さに依存します (テンプレート中のレコードの長さは常にデータ・セットのレコード長以下でなければならないことに注意してください)。recsize に指定された値は、テンプレートの使用時には無視されます。
テンプレートを使用して作成された固定長レコードの場合は、すべてのレコードの長さが、データ・セットに指定された長さになります。テンプレート中のレコード長がデータ・セットのレコード長より小さい場合は、そのレコードは充てん文字によって埋め込まれます。
テンプレートを使用して作成された可変長レコードの場合は、各レコードの長さが、テンプレートのフィールド属性を使用して作成されるレコードの長さになります。テンプレートのレコード記述に、1 つ以上の可変長配列が含まれている場合、レコードの長さは、OCCURS DEPENDING ON 文節のオブジェクトに割り当てる値 (または複数の) に応じて異なります。
- NLRECS=nlrecs
- 書き込む論理レコード数。最大は 999 999 999 です。
- FILLCHAR=fillchar
- それぞれのレコードの各バイトをデータで埋めるために、次のいずれかを指定します。
- char
- 0 などの文字を各バイトに書き込みます。('a' などの小文字を指定するには、C'a' または X'81' のいずれかを使用します。)
- X'cc'
- 各バイトに書き込まれる X'04' などの 2 進文字。
- AN
- 英数字 (A から Z および 0 から 9) を書き込みます。
- BIN
- 2 進文字 (X'00' から x'FF') を書き込む場合。
- RAND
- ランダムな 2 進文字 (X'00' から x'FF') を書き込む場合。
AN または BIN を指定した場合には、 文字は「波状」パターンで書き込まれます。例えば、AN を指定すると、最初の 3 レコードは次のように見えます。
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789A BCDEFGHIJKLMNOPQRSTUVWXYZ0123456789AB CDEFGHIJKLMNOPQRSTUVWXYZ0123456789ABC
デフォルトは、ブランクです。
- KEYLOC=keyloc
- 出力レコード内のシーケンス・フィールド (1 から数えた) の位置。省略した場合には、シーケンス・フィールドは存在しません。注: KEYLOC は、VSAM KSDS キー位置と同じではありません。KEYLOC は、すべてのレコードで作成された「仮想」キー・フィールド (シーケンス番号) を参照して、ファイル内の特定のレコードを識別します。
- KEYLEN=keylen
- シーケンス・フィールドの長さで、1 から 9 までです。デフォルトは 8です。注: KEYLEN は、VSAM KSDS キー長と同じではありません。KEYLEN は、すべてのレコードで作成された「仮想」キー・フィールド (シーケンス番号) を参照して、ファイル内の特定レコードを識別します。
- INCR=incr
- シーケンス・フィールドの増分値。デフォルトは 10です。
- LIKE=likedsname
- 出力割り振りでモデルとして使用されるデータ・セットの名前。
File Manager は、引用符で囲まれていないすべての名前の高位修飾子として使用される TSO 接頭部 (ユーザー ID に定義されている) を使用します。
データ・セットをコピーする場合、
=
は現行の入力データ・セットを示します。モデル・データ・セットは、DASD ボリュームにあり、カタログされていなければならず、SMS がアクティブでなければなりません。
- PACK
- File Manager が ISPF パック形式で出力データを書き込むかどうかを判別します。このキーワードは VSAM データ・セットの処理では無視されます。入力データ・セットまたは出力データ・セット (あるいは、その両方) に対して I/O 出口が指定 されている場合、PACK=NONE オプションだけが有効となります。
- PACK
- 出力を ISPF パック形式で書き込むよう File Manager に指示します。
- なし
- 出力を ISPF パック形式で書き込まないよう File Manager に指示します。
注: DISP=MOD と PACK=PACK オプションとを同時に使用しないでください。パック・データをパックまたはパックされていない順次データ・セットに付加するとデータ・エラーが発生します。パックされていないデータをパックされたデータ・セットに付加してもデータ・エラーが発生します。 - テンプレート処理
- テンプレート処理パラメーターでは、新規レコードの構造を記述するために使用するテンプレートを定義し、File Manager がそのテンプレートをどのように処理するかを定義します。
- TOUTPUT=ddname
- 出力データのレコード構造が記述されているコピーブックまたはテンプレートが入ったデータ・セットの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、TDDOUT です。
連結 DD を指定した場合は、メンバー名 (member) を指定する必要があります。
- TOUTMEM=member
- コピーブックまたはテンプレート・メンバーが DD ステートメントで指定されていない場合に、TOUTPUT パラメーターによって識別されるデータ・セットのコピーブックまたはテンプレート・メンバーの名前。TCOUT パラメーターが指定されている場合、このパラメーターを指定することはできません。
- TCOUT=tcout(member)
- 出力データのレコード構造が記述されているコピーブックまたはテンプレートの PDS およびメンバーの名前。
- OFFSETOUT
- テンプレートの 01 フィールドの長さ、およびフィールドの開始位置 (01 フィールドはその中で、指定された値に応じて調整される)。
- 値
- 対応するフィールド ID に適用されるオフセット値 (-32760 から 32760 の範囲でなければなりません)。フィールド ID が指定されず、ALL が指定されていない場合は、値が「宛先」テンプレートの最初のレベル 01 フィールドに適用されます。
- ALL
- テンプレートに複数のレコード構造がある場合は、このキーワードによって、対応する value が「宛先」テンプレート内の すべてのレベル 01 フィールドに適用されます。注: ALL の値を指定した後で、個々のレイアウトについてこの値を指定変更することもできます。 それには、後から value と fieldname の組み合わせを指定します。
- fieldname
- value が適用されるレベル 01 フィールドの名前。デフォルトは、「宛先」テンプレート内の最初のレベル 01 フィールドです。
- Copybook 処理
- COBOL オプション
- 次のオプションは、COBOL コピーブックをテンプレートにコンパイルするために使用します。
- DBCS=YES
- DBCS コンパイラー・オプションを使用します。
- DBCS=NO
- NODBCS コンパイラー・オプションを使用します。
DBCS および NODBCS コンパイラー・オプションの効果の詳細については、IBM COBOL Programming Guide for OS/390 & VM を参照してください。
- CDPC=NO
- COBOL SPECIAL-NAMES パラグラフ「Decimal-point is comma (小数点はコンマ)」を使用しません。
- CDPC = YES
- COBOL SPECIAL-NAMES パラグラフ「Decimal-point is comma (小数点はコンマ)」を使用します。
- CAE=NO
- COBOL コンパイル・オプション ARITH(EXTEND) を使用しません。
- CAE = YES
- COBOL コンパイル・オプション ARITH(EXTEND) を使用します。
- MIXED = NO
- フィールド名は大文字でテンプレートに保管されます。
- MIXED = YES
- フィールド名は COBOL コピーブックでコーディングされているとおりに、元の大/小文字でテンプレートに保管されます。
- RFROM1 RTO1 … RFROM5 RTO5
-
COBOL REPLACE コンパイラー指示ステートメントの「From (検索)」および「To (置換)」疑似テキスト文字ストリングの最大 5 つの対。
COBOL コピーブックをテンプレートにコンパイルする前に、COBOL コピーブックに除去する文字または他の文字と置き換えたい文字が含まれている場合には、この置換オプションを使用します。
例えば、コピーブックに、コンパイル前に除去したいコロン文字 (:) が含まれている場合は、「
'==:=='
」を operand1 として、さらに「'====='
」を operand2 として指定してください。COBOL REPLACE の「From (検索)」および「To (置換)」のストリングの指定について詳しくは、IBM COBOL Language Reference を参照してください。
- CBLMAXRC
- コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。注: COMPMAXRC パラメーターは引き続きサポートされますが、代わりに CBLMAXRC パラメーターを使用することが推奨されています。COMPMAXRC パラメーターを指定すると、それが言語の MAXRC よりも優先されます。
- CBLLIBS
- SYSLIB 連結リスト内で指定されるデータ・セット名 (10 個まで) のリストを指定できます。これらのデータ・セットは、コンパイル用に COPY または INCLUDE メンバーに指定された順序で検索されます。
- dsname
- 処理されるデータ・セット名の名前。総称名マスクは使用できません。
- CBLADDOP
- COBOL コピーブックのコンパイル時に CBL ステートメントに組み込まれる追加の COBOL コンパイラー・オプション。
- PL/I オプション
- 以下のオプションを使用して、PL/I コピーブックをテンプレートにコンパイルします。
- BIN63=YES
- LIMITS(FIXEDBIN(63)) コンパイラー・オプションを使用します。
- BIN63=NO
- LIMITS(FIXEDBIN(31)) コンパイラー・オプションを使用します。
- DEC31=YES
- LIMITS(FIXEDDEC(31)) コンパイラー・オプションを使用します。
- DEC31=NO
- LIMITS(FIXEDDEC(15)) コンパイラー・オプションを使用します。
- GRAPHIC=YES
- GRAPHIC コンパイラー・オプションを使用します。
- GRAPHIC=NO
- NOGRAPHIC コンパイラー・オプションを使用します。
- UNALIGNED=YES
- DEFAULT RANGE (*) UNALIGNED 言語ステートメントを使用して、デフォルトの位置合わせを変更します。
- UNALIGNED=NO
- PL/I のデフォルトを使用します。
- PLIMAXRC
- コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。注: COMPMAXRC パラメーターは引き続きサポートされますが、代わりに PLIMAXRC パラメーターを使用することが推奨されています。COMPMAXRC パラメーターを指定すると、それが言語の MAXRC よりも優先されます。
- PLILIBS
- SYSLIB 連結リスト内で指定されるデータ・セット名 (10 個まで) のリストを指定できます。これらのデータ・セットは、コンパイル用に COPY または INCLUDE メンバーに指定された順序で検索されます。
- dsname
- 処理されるデータ・セット名の名前。総称名マスクは使用できません。
- PLIADDOP
- PL/I コピーブックのコンパイル時に *PROCESS ステートメントに組み込まれる追加の PL/I コンパイラー・オプション。
これらのコンパイラー・オプションの効果について詳しくは、IBM VisualAge PL/I for OS/390 Programming Guide を参照してください。
- HLASM オプション
- 次のオプションは、HLASM コピーブックをテンプレートにコンパイルするために使用します。
- DBCS=YES
- DBCS コンパイラー・オプションを使用します。
- DBCS=NO
- NODBCS コンパイラー・オプションを使用します。
- NOALIGN=YES
- NOALIGN コンパイラー・オプションを使用します。
- NOALIGN=NO
- ALIGN コンパイラー・オプションを使用します。
- ASMMAXRC
- コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。注: COMPMAXRC パラメーターは引き続きサポートされますが、代わりに ASMMAXRC パラメーターを使用することが推奨されています。COMPMAXRC パラメーターを指定すると、それが言語の MAXRC よりも優先されます。
- ASMLIBS
- SYSLIB 連結リスト内で指定されるデータ・セット名 (10 個まで) のリストを指定できます。これらのデータ・セットは、コンパイル用に COPY または INCLUDE メンバーに指定された順序で検索されます。
- dsname
- 処理されるデータ・セット名の名前。総称名マスクは使用できません。
- ASMADDOP
- COPY メンバーおよび MACRO メンバーのコンパイル時に *PROCESS ステートメントに組み込まれる追加の HLASM コンパイラー・オプション。
//DSG JOB (acct),'name' Create VSAM Data
//*
//FMBAT PROC
//FMBAT EXEC PGM=FILEMGR
//STEPLIB DD DSN=FMN.SFMNMOD1,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
// PEND
//*
//IDCPROC PROC
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
// PEND
//*
//* EXAMPLE DSG JOB
//* 17 RECORDS ARE WRITTEN TO A NONINDEXED
//* VSAM FILE. THE OUTPUT FILE CONTAINS
//* ALPHANUMERIC CHARACTERS.
//*
//DMBBV02 EXEC IDCPROC,REGION=6M
//SYSIN DD *
DELETE FMNUSER.VSAM.DSG25 CLUSTER PURGE ERASE
DEFINE CLUSTER ( -
NAME( FMNUSER.VSAM.DSG25 ) -
CISZ(4096) -
FREESPACE(30 30) -
NONINDEXED -
KEYS(12 0) -
RECORDS(1000 100) -
RECORDSIZE(234 234) -
REUSE) -
DATA( NAME(FMNUSER.VSAM.DSG25.DATA) )
/*
//*
//STP1005 EXEC FMBAT
//DDOUT DD DISP=SHR,DSN=FMNUSER.VSAM.DSG25
//SYSIN DD *
$$FILEM VER
$$FILEM DSG OUTPUT=DDOUT,REUSE=NO,NLRECS=17,
$$FILEM RECSIZE=234,FILLCHAR=AN
$$FILEM EOJ
/*
この例は、「モデル」データ・セット (VSAM データ・セットおよび非 VSAM データ・セットをサポート) を使用して設定された新規データ・セットを定義し、いくつかのデータで埋める方法を示しています。
新規データ・セットが、LIKE パラメーターにより記述されているように「モデル」データ・セットに基づいて割り振られることに注意してください。
//STP1006 EXEC FMBAT
$$FILEM DSG DSNOUT=TEST.BASE.NEW,
$$FILEM LIKE='FMN.TEST.BASE.RFM0041.SEGMENT.PS',
$$FILEM DISP=MOD,
$$FILEM PACK=NONE,
$$FILEM NLRECS=100
/*