DSM (データ・セット比較)

目的
DSM 機能を使用して以下を行います。
  • 任意の区分データ・セット、順次データ・セット、VSAM データ・セット、HFS ファイル、MQ キュー、または CICS® リソースのデータと任意の他の区分データ・セット、順次データ・セット、VSAM データ・セット、HFS ファイル、MQ キュー、または CICS® リソースのデータを比較する。
  • フィールド・レベルの比較を実行する。「旧」コピーブックまたはテンプレートを「新規」コピーブックまたはテンプレートと一緒に 使用すると、選択したフィールドをフィールド内のデータのタイプを反映する比較結果と比較できます。
  • ロード・モジュールの比較を実行する。モジュールの「旧」バージョンと「新」バージョンの両方から、ロード・モジュール情報と CSECT 情報を抽出して比較します。比較基準を指定することにより、ロード・モジュール・サイズ、リンク日付、CSECT 名、使用コンパイラーなど、ロード・モジュールの特定のプロパティーに関する差異を参照できます。
  • 「新規」データ・セットで挿入、削除、または変更が行われた場所などの情報を示す比較報告書を作成します。この報告書の内容および構造は、使用された各種の比較オプションを反映します。
  • 挿入、削除、新または旧の変更、新または旧の一致レコードと識別されたレコードを含む 4 つの出力データ・セットを作成する。

    同じデータ・セットを定義して、挿入されたレコードと新しい変更が行われたレコードの両方を保存することができます。同様に、同じデータ・セットを定義して、削除されたレコードと古い変更が行われたレコードの両方を保存することもできます。

使用上の注意
  • 以下を使用して比較されるレコードを選択します。
    • 開始キー (VSAM のみ)
    • スキップ・フィールド
    • 比較カウント・フィールド
    • 「旧」テンプレートまたは「新規」テンプレートあるいはその両方に定義された条件式。
    • 「Number of differences to report (報告する差異の数)」オプション

    フィールド・レベル比較を実行するには、「旧」および「新規」のコピーブックまたはテンプレートを提供し、TYPE=FORMATTED 比較オプションを 使用しなければなりません。「新規」テンプレート (オンラインで作成した) に指定したフィールド・マッピングを 使用するか、テンプレートまたはコピーブックの内容から生成したデフォルトの マッピングを使用するか、または FIELDOLD および FIELDNEW キーワードを使用して、バッチ・ファイルにフィールド・マッピングを指定できます。

  • 以下を使用して、比較を行う方法を指定します。
    • 比較オプション
    • 同期オプション

    SYNCH=KEYED を使用する場合、16 個までのキー・セグメントを指定して単一の複合キーを作成できます。

  • 作成される出力のタイプおよび、以下を使用して、出力を表示する方法を指定します。
    • リスト・タイプ
    • リストのオプション
  • 小文字または大/小文字混合文字を含むフィールド名を指定するには、文字リテラル形式として、引用符で囲まれた名前の前に文字 C を付けて使用します。例えば、C'aBc' のように指定します。
パフォーマンス上のヒント
  • DSM は、テンプレートまたはコピーブックを使用してフィールド内のデータを比較することに重点を置いて設計されました。でテンプレートのパフォーマンス上のヒントを参照してください。
  • ISPF ユーティリティーの SuperC では File Manager の特殊機構が必要でないため、通常のテキスト・データ・セットを比較する場合はより効率良く実行されます。SuperC について詳しくは、z/OS ISPF User's Guide Vol II を参照してください。
戻りコード
DSM 機能からのデフォルトの戻りコードには、変更された以下の意味があります。
0
機能は正常に完了し、比較セットは一致します。
1
機能は正常に完了しましたが、比較セットは一致しません。
2
比較セットのいずれかが空であったため、比較は行われませんでした。
4
比較セットが両方とも空であったため、比較は行われませんでした。
4
ISPF パック・データ形式の入力データまたはメンバーの いずれかと、「PACK=SKIP」オプションが指定されているため、 比較が実行されませんでした。
4
非マップ・タイプのレコードが 1 つ以上見つかりました。
8
データ・エラーが発生しました。例えば、キーによる比較の使用時にキー・シーケンス・エラーが検出されました。戻りコードが 8 になる条件は、以下の通りです。
キーによる同期化の場合:
キー切り捨てエラー
キー切り捨てエラーは、キー・セグメントがレコード外になった場合に発生します。
キー・シーケンス・エラー
キー・シーケンス・エラーは、レコードのキーが直前のレコードのキー以下であることが検出されると発生します。
先読み同期の場合:
先読み再同期障害
先読み再同期は、一致するレコードが先読み限度内で検出できない場合に失敗します。
16
入出力が物理的に同じであったため、レコードは比較されませんでした。
16
テンプレート内のデータが無効です。
16
データ・セットまたはメンバーが使用中です。
16
データ・セットまたはメンバーのオープン・エラー。
16
データ・セットまたはメンバーが見つかりませんでした。
16
その他の入出力エラーが発生しました。
16
メンバー名が必要ですが、指定されませんでした。
16
ストレージ不足です。
16
DSM が異常終了しました。
16
入力データは ISPF パック形式のように見えますが、無効です。
16
処理を停止するその他の重大なエラーが発生しました。
16
重大エラーが発生し、File Manager の終了の原因になりました。
ヒント: ご使用の JCL で戻りコード 0、1、2、および 4 を処理する場合、それぞれのコードを別個に扱うことも、または戻りコード 0 と 4 を 1 つの結果 (比較セットの一致) として、そして 1 と 2 を別の結果 (比較セットの不一致) として扱うことを選択することができます。
注: インストール時に、戻りコードをカスタマイズすることができます。上に示したもの以外の戻りコードを受け取った場合には、ご使用のサイトでこの機能用に戻りコードをカスタマイズしている可能性があります。バッチの戻りコードが ABENDCC 値以上であると、File Manager が 999 異常終了を発行する場合もあります。詳しくは、File Manager システム管理者にお問い合わせください。
1. Syntax

1 DSM
1 DSCMP
2?  %Old data set
2?  %New data set
2?  %Comparison options
2?  %Template reporting options
Old data set

1! DDOLD=DDOLD
1 DDOLD=ddold
1 DSNOLD=
2.1  dsnold? VOLSEROLD=volserold
2.1 MQ:manager:queuename
2.1 rt:applid:rname
1 ?MEMSTART=startstring?MEMEND=endstring
1 MEMOLD=memold
3? XMEMBERS=(+ ,xmem_filter)
1! GENOLD=0
1 GENOLD=generation
1 ? CRESTART=crestart? CREEND=creend
1 CREATED=created
1 ? CHGSTART=chgstart? CHGEND=chgend
1 CHANGED=changed
1 ? UIDSTART=uidstart? UIDEND=uidend
1 USERID=userid
7? MEMLIST=(+ ,comp_mem)
1! USEIOXOLD=NO
1 USEIOXOLD=YES
2.1! IOXOLD=sysexit
2.1? IOXOLD=ioxname
8? BINRECOLD=binrecold-len
8? KEYOLD=keyold
1! SKIPOLD=0
1 SKIPOLD=skipold
1! CMPOLD=ALL
1 CMPOLD=cmpold
1 IGNLEN=NO
1! IGNLEN=YES
Old template processing

1! TOLD=TDOLD
1 TOLD=ddname?TOLDMEM=member
1 TCOLD=tcold(tcomem)
2? OFFSETOLD=(
3.1 value?,ALL
3.1 ?value,ALL,+ ,value,fieldname
2)
1? FIELDOLD=(+ , oldfield)
3?  %Copybook processing
New data set

1 
2.1! DDNEW=DDNEW
2.1 DDNEW=ddnew
2.1 DSNNEW=
2.2.1  dsnnew? MEMNEW=memnew? VOLSERNEW=volsernew
2.2.1 MQ:manager:queuename
2.2.1 rt:applid:rname
1! GENNEW=0
1 GENNEW=generation
1! USEIOXNEW=NO
1 USEIOXNEW=YES
2.1! IOXNEW=sysexit
2.1? IOXNEW=ioxname
4? BINRECNEW=binrecnew-len
4? KEYNEW=keynew
1! SKIPNEW=0
1 SKIPNEW=skipnew
1! CMPNEW=ALL
1 CMPNEW=cmpnew
6? %New template processing
New template processing

1! TNEW=TDNEW
1 TNEW=ddname?TNEWMEM=member
1 TCNEW=tcnew(tcnmem)
2? OFFSETNEW=(
3.1 value?,ALL
3.1 ?value,ALL,+ value,fieldname
2)
1 FIELDNEW=(+  newfield)
3?  %Copybook processing
Copybook processing

1! LANG=AUTO
1 LANG=
2.1 COBOL
2.1 PLI
2.1 HLASM
1  %COBOL options
1  %PL/I options
1  %HLASM options
COBOL options

1! DBCS=NO
1 DBCS=YES
1! CDPC=NO
1 CDPC=YES
1! CAE=NO
1 CAE=YES
1 +  RFROMn=operand1 RTOn=operand2
1! CBLMAXRC=4
1 CBLMAXRC=num
1 CBLLIBS=(+  dsname)
7? CBLADDOP=options
PL/I options

1! BIN63=NO
1 BIN63=YES
1! DEC31=NO
1 DEC31=YES
1! GRAPHIC=NO
1 GRAPHIC=YES
1! UNALIGNED=NO
1 UNALIGNED=YES
1! PLIMAXRC=4
1 PLIMAXRC=num
1 PLILIBS=(+  dsname)
7? PLIADDOP=options
HLASM options

1! DBCS=NO
1 DBCS=YES
1! NOALIGN=NO
1 NOALIGN=YES
1! ASMMAXRC=4
1 ASMMAXRC=num
1 ASMLIBS=(+  dsname)
5? ASMADDOP=options
Comparison options

1! TYPE=RECORD
1?  %Formatted type options
1! CORRESP=NO
1 CORRESP=YES
1! 
2.1 SYNCH=ONETOONE
2.1 SYNCH=121
1 
2.1 SYNCH=READAHEAD
2.1 SYNCH=RA
2.1! LIMIT=100
2.1 LIMIT=ralim
2.1! LENGTH=1
2.1 LENGTH=ralen
1  %Keyed synchronization options
1  %Read-ahead Keyed synchronization options
1  %Load module compare options
1! LIST=SUMMARY
1 LIST=DELTA
1 LIST=MATCHING
1 LIST=LONG
1 LIST=NONE
1 EXCLUDE=(+ , exclude_type)
1! NUMDIFF=ALL
1 NUMDIFF=numdiff
7? RCDIFF=(numdiff,return_code)
1! WIDE=NO
1 WIDE=YES
1! HEX=NO
1 HEX=YES
1! HILIGHT=NO
1 HILIGHT=YES
1! SHOWATTR=NO
1 SHOWATTR=YES
1! CHNGDFLD=NO
1 CHNGDFLD=YES
2.1! SLCTDFLD=NO
2.1 SLCTDFLD=YES
2.1! SUPIDFLD=NO
2.1 SUPIDFLD=YES
1! PACK=UNPACK
1 PACK=
2.1 NONE
2.1 SKIP
1! SORT=NO
1 SORT=YES
1! JUST=NO
1 JUST=YES
1! INCLUDEMD=NO
1 INCLUDEMD=YES
16  %Comparison output data sets
Comparison output data sets

1! IOUTPUT=FMINSOUT
1 IOUTPUT=ddname?IOUTMEM=member
1 IOUTDSN=ioutdsn(member)
2? IBINREC=binrec_len
1! IDISP=MOD
1 IDISP=OLD
1! DOUTPUT=FMDELOUT
1 DOUTPUT=ddname?DCOUTMEM=member
1 DOUTDSN=doutdsn(member)
4? DBINREC=binrec_len
1! DDISP=MOD
1 DDISP=OLD
1! NCOUTPUT=FMNCHOUT
1 NCOUTPUT=ddname?NCOUTMEM=member
1 NCOUTDSN=coutdsn(member)
6? NCBINREC=binrec_len
1! NCDISP=MOD
1 NCDISP=OLD
1! OCOUTPUT=FMOCHOUT
1 OCOUTPUT=ddname?OCOUTMEM=member
1 OCOUTDSN=ocoutdsn(member)
8? OCBINREC=binrec_len
1! OCDISP=MOD
1 OCDISP=OLD
1! NMOUTPUT=FMNMTOUT
1 NMOUTPUT=ddname?NMOUTMEM=member
1 NMOUTDSN=nmoutdsn(member)
10? NMBINREC=binrec_len
1! NMDISP=OLD
1 NMDISP=MOD
1! OMOUTPUT=FMOMTOUT
1 OMOUTPUT=ddname?OMOUTMEM=member
1 OMOUTDSN=omoutdsn(member)
12? OMBINREC=binrec_len
1! OMDISP=OLD
1 OMDISP=OMOD
Formatted type options

1 TYPE=FORMATTED
1! IGNORELB=NO
1 IGNORELB=YES
1! IGNORETB=NO
1 IGNORETB=YES
1! MATCHREF=NO
1 MATCHREF=YES
1! IGNORECASE=NO
1 IGNORECASE=YES
Keyed synchronization options

1 SYNCH=KEYED(1)
1 KEYTCOLD=
2.1! YES
2.1 NO
1 KEYTCNEW=
2.1! YES
2.1 NO
1 KEYFLDOLD=(+ , okeyfld)
1 KEYFLDNEW=(+ , nkeyfld)
1 KEYLOCOLD=(+ , okeyloc)
1 KEYLOCNEW=(+ , nkeyloc)
1 KEYLEN=(+ , keylen)
1 KEYTYPE=(+ ,
2.1! CHAR
2.1 BINARY
2.1 PACKED
2.1 FLOAT
2.1 ZONED)
1 KEYLENNEW=(+ , keylen)
1 KEYTYPNEW=(+ ,
2.1! CHAR
2.1 BINARY
2.1 PACKED
2.1 FLOAT
2.1 ZONED)
1! KEYORD=(+ , A)
1 KEYORD=(+ , D)
1! KEYMATCH=NO
1 KEYMATCH=Yes
1! KEYDUPOK=NO
1 KEYDUPOK=Yes
注:
  • 1 次のキーワードはすべて、構文ではオプションとして示されていますが、実際の要件は、構文図の下の SYNCH=KEYED 定義で説明されているように、多くの要因に依存します。
Read-ahead Keyed synchronization options

1 SYNCH=RAKEY
1! LIMIT=100
1 LIMIT=ralim
1! LENGTH=1
1 LENGTH=ralen
1 KEYTCOLD=
2.1! YES
2.1 NO
1 KEYTCNEW=
2.1! YES
2.1 NO
1 KEYFLDOLD=(+ , okeyfld)
1 KEYFLDNEW=(+ , nkeyfld)
1 KEYLOCOLD=(+ , okeyloc)
1 KEYLOCNEW=(+ , nkeyloc)
1 KEYLEN=(+ , keylen)
1 KEYTYPE=(+ ,
2.1! CHAR
2.1 BINARY
2.1 PACKED
2.1 FLOAT
2.1 ZONED)
1 KEYLENNEW=(+ , keylen)
1 KEYTYPNEW=(+ ,
2.1! CHAR
2.1 BINARY
2.1 PACKED
2.1 FLOAT
2.1 ZONED)
1! KEYMATCH=NO
1 KEYMATCH=Yes
1! KEYDUPOK=NO
1 KEYDUPOK=Yes
Template reporting options

1! PBK=NONE
1 PBK=LAYOUTS
1 PBK=CRITERIA
1 PBK=ALL
1! MAP=NONE
1 MAP=MAPPED
1 MAP=UNMAPPED
1 MAP=ALL
1! ARRAY=NO
1 ARRAY=YES
1! FSTATS=NO
1 FSTATS=YES
1! HEXLOC=NO
1 HEXLOC=YES
1! HEXLEN=NO
1 HEXLEN=YES
Load module compare options

1 SYNCH=LMOD
1! CMPLVL=LMOD
1 CMPLVL=CSECT
1! DATEFORM=YYYYDDD
1 DATEFORM=YYMMDD(1)
注:
  • 1 開きブラケットを使用する場合は、閉じブラケットを使用します。
「旧データ・セット」の指定
「旧」データ・セットは、以下のように指定できます。
DDOLD=ddold
「旧」のデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、DDOLD です。
DSNOLD=dsnold
「旧」データ・セットの名前、または HFS ファイルの絶対パスを定義します。DD ステートメントが指定されている場合は、使用されません。名前に、小括弧で囲んだメンバー名を含めることができます。ここでメンバーを指定する場合は、関連する MEMOLD パラメーターを空にする必要があります。HFS ファイルへの絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。データ・セットについてさらに記述する場合には、以下のものを使用します。
VOLSEROLD=volserold
非カタログ「旧」データ・セットのボリューム通し番号。
MEMOLD=memold
PDS 内の単一メンバーの名前、または PDS ライブラリー内の 1 つ以上のメンバーを表すメンバー名のパターン。ddname の DD ステートメントにこのパラメーターまたはメンバー名を指定するか、MEMLIST パラメーターにメンバーを指定するか、MEMSTART キーワードまたは MEMEND キーワードを使用してメンバー名の範囲を指定することができます。

メンバー名パターンは、メンバー名に有効な任意の文字と 2 つの特殊パターン文字 (アスタリスク (*) およびパーセント記号 (%)) から構成することができます。

* は、任意の数の文字を表します。必要な数のアスタリスクを、メンバー名パターンの任意の場所に使用することができます。例えば、メンバー名パターンとして *d* を入力すれば、名前に「d」が含まれる、PDS 内のすべてのメンバーが処理されます。

% は、単一の文字を表すプレースホルダー文字です。パーセント記号は、メンバー名パターンの任意の場所に必要な数だけ指定できます。例えば、%%%% というメンバー名パターンを入力すると、PDS の中で、名前が 4 文字の長さの全メンバーが処理されます。

データ・セットが PDS でない場合、MEMOLD は無視されます。

MEMSTART=startstring
比較に含めるメンバー名の範囲の始まりを指定するのに使用されます。MEMSTART が指定されたが MEMEND は省略された場合、PDS(E) 内の startstring 値以降の全メンバーが組み込まれます。startstring では、MEMOLD キーワードの memold パラメーターに関して、ワイルドカードを含め、同じ値を持つことができます。
MEMEND=endstring
比較に含めるメンバー名の範囲の終わりを指定するのに使用されます。MEMEND が指定されたが MEMSTART は省略された場合、PDS(E) 内の endstring 値までの全メンバーが組み込まれます。endstring では、MEMOLD キーワードの memold パラメーターに関して、ワイルドカードを含め、同じ値を持つことができます。
XMEMBERS
MEMSTART、MEMEND、および MEMBER オプションを使用して、処理するライブラリー・メンバーから除外し、それ以外が選択される方法を提供します。
xmem_filter
処理から除外する 1 つ以上のメンバーを識別するメンバー名フィルター。フィルターには、複数のメンバーを表すメンバー名パターンを指定できます。

小文字を含むメンバー名フィルターを指定するには、c'string' 形式で文字ストリングを使用します。フィルター値は、x'hex-digits' 形式で 16 進ストリングとして指定することもできます。

MQ:manager:queuename
データ・セット名の代わりに MQ キューを指定できます。パラメーターの意味は、以下のとおりです。
managerold
使用される “古い” MQ マネージャー。総称名を指定した場合、File Manager は一致するマネージャーのリストを表示し、このリストから選択できます。
queuenameold
使用される “古い” キュー。総称名を指定した場合、File Manager は一致するキューのリストを表示し、このリストから選択できます。
rt:applid:rname
データ・セット名の代わりに CICS® リソースを指定できます。パラメーターの意味は、以下のとおりです。
rt
リソース・タイプ。有効な値は、以下のとおりです。
FI
CICS® ファイル。
TD
一時データ・キュー用。
TS
一時ストレージ・キュー用。
applid
VTAM® システムの CICS® applid。
rname
リソースの名前。
GENOLD=generation
比較する古いメンバーの世代を指定します。値 0 は、現在のメンバーを指します。負の値は、相対世代番号を指します。正の値は、絶対世代番号を指します。
ヒント: GENOLD および GENNEW キーワードを使用して、同一データ・セット内の同一メンバーの異なる世代を比較できます。

入力データ・セットがメンバー世代をサポートする PDSE でない場合、GENOLD キーワードは無視されます。

CREATED=created
メンバーが作成された日付 (YYYY/MM/DD 形式)。

「旧」データ・セットが PDS(E) の場合は、このパラメーターを指定するか、CRESTART キーワードおよび CREEND キーワードを使用して作成日の範囲を指定することができます。

日付の範囲を示すために最終文字としてアスタリスク (*) を指定したり、日付の選択を示すために単一文字の代わりに % 記号を指定することができます。

データ・セットが PDS でない場合、created は無視されます。

CRESTART=crestart
比較に含める作成日の範囲の始まり (YYYY/MM/DD 形式)。

CRESTART は指定されているが CREEND が省略されている場合、crestart 値から先の PDS(E) のすべてのメンバーが含まれます。

省略するか、完全な日付を入力しないか、最後の文字としてアスタリスク (*) を指定すると、crestart の指定されていない部分はデフォルトで右側に寄せられて次のようになります。
DD
= 01
MM
= 01
YYYY
= 0000
その他のワイルドカードの指定は許可されません。
CREEND=creend
比較に含める作成日の範囲の終わり (YYYY/MM/DD 形式)。
省略するか、完全な日付を入力しないか、最後の文字としてアスタリスク (*) を指定すると、creend の指定されていない部分はデフォルトで右側に寄せられて次のようになります。
DD
= 31
MM
= 12
YYYY
= 9999
その他のワイルドカードの指定は許可されません。
CHANGED=changed
メンバーが最後に変更された日付 (YYYY/MM/DD 形式)。

「旧」データ・セットが PDS(E) の場合、このパラメーターを指定するか、CHGSTART キーワードおよび CHGEND キーワードを使用して変更日の範囲を指定できます。

日付の範囲を示すために最終文字としてアスタリスク (*) を指定したり、日付の選択を示すために単一文字の代わりに % 記号を指定することができます。

データ・セットが PDS でない場合、changed は無視されます。

CHGSTART=chgstart
比較に含める変更日の範囲の始まり (YYYY/MM/DD 形式)。

CHGSTART は指定されているが CHGEND が省略 されている場合、chgstart 値から先の PDS(E) のすべてのメンバーが含まれます。

省略するか、完全な日付を入力しないか、最後の文字としてアスタリスク (*) を指定すると、chgstart の指定されていない部分はデフォルトで右側に寄せられて次のようになります。
DD
= 01
MM
= 01
YYYY
= 0000
その他のワイルドカードの指定は許可されません。
CHGEND=chgend
比較に含める変更日の範囲の終わり (YYYY/MM/DD 形式)。
省略するか、完全な日付を入力しないか、最後の文字としてアスタリスク (*) を指定すると、chgend の指定されていない部分はデフォルトで右側に寄せられて次のようになります。
DD
= 31
MM
= 12
YYYY
= 9999
その他のワイルドカードの指定は許可されません。
USERID=userid
メンバーを最後に更新した TSO ユーザー ID。

「旧」データ・セットが PDS(E) の場合は、このパラメーターを指定するか、UIDSTART キーワードおよび UIDEND キーワードを使用してユーザー ID の範囲を指定することができます。

アスタリスクおよび % 記号を使用して総称ユーザー ID を入力できます。

データ・セットが PDS でない場合、userid は無視されます。

UIDSTART=uidstart
比較に含めるユーザー ID の範囲の始まり。

UIDSTART は指定されているが UIDEND が省略されている場合、uidstart 値から先の PDS(E) のすべてのメンバーが含まれます。

省略するか、完全な 7 文字のユーザー ID を入力しないか、最後の文字としてアスタリスク (*) を指定すると、File Manager はアスタリスクを置き換えて、uidstart の指定されていない部分を右側に寄せて低い値 (X'00') を埋め込みます。

UIDEND=uidend
比較に含めるユーザー ID の範囲の終わり。

このフィールドを省略すると、デフォルトで高い値 (X'FF') になります。

7 文字未満を指定すると (最後の文字としてアスタリスクを指定せずに)、File Manageruidstart を右側に寄せて低い値 (X'00') を埋め込みます。最後の文字としてアスタリスク (*) を指定すると、File Manager はアスタリスクを置き換えて、uidend の指定されていない部分に高い値 (X'FF') を埋め込みます。

MEMLIST
総称名パターンもメンバー名の範囲も指定されていない PDS からメンバーを選択する手段を提供します。MEMLIST キーワードを指定すると、MEMLIST 引数に含まれているメンバーのみが出力データ・セットの対応するメンバーと比較されます。MEMLIST 引数に含まれていない、MEMBER=memold により選択されたメンバーは、比較されません。
comp_mem
比較されるメンバーの名前。総称名マスクは使用できません。
USEIOXOLD
「旧」データ・セットを処理するために、ユーザー I/O 出口を呼び出すかどうかを指定します。
NO
デフォルトです。ユーザー I/O 出口を呼び出しません。
YES
「旧」データ・セットを処理するために、ユーザー I/O 出口を呼び出します。このオプションは、File Manager 用にサイトのカスタマイズを行ったユーザーが、そのサイト・ベースでユーザー I/O 出口を許可した場合にのみ使用できます。
IOXOLD
「旧」データ・セットに使用するユーザー I/O 出口の名前を指定します。出口を記述するために使用できるプログラミング言語に制限はありません。STEPLIB/ISPLLIB 連結またはその拡張機能 (LINKLIST、LPA など) で、File Manager に出口を指定する必要があります。
sysexit
デフォルトです。USEIOXOLD=YES を指定し、ユーザー I/O 出口名を指定しない場合、File Manager はインストール時のカスタマイズ・オプションで提供される出口の名前を使用します。USEIOXOLD が YES に設定され、インストール・デフォルトが指定されていない場合は、IOXOLD=ioxname を指定する必要があります。
注: オンライン・パネルでバッチ処理を選択した場合、生成される JCL ステートメントは「Set System Processing Options (システム処理オプションの設定)」パネルで提供されているデフォルト名を使用します。
ioxname
STEPLIB 連結で File Manager に提供されたデータ・セットの PDS(E) メンバーの名前。
BINRECOLD=binrecold-len
HFS ファイルの処理に使用されるレコード長を指定します。有効範囲: 1 から 32760。

ファイルはバイナリー・モードで処理されます (ファイルから導出された固定長レコードで、区切り文字は区別されません)。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます (可変長レコードで、境界は区切り文字により判別されます)。

KEYOLD=keyold
「旧」データ・セットの場合に、KSDS レコードのキー、または RRDS レコードのスロット番号。キーの最大長は 30 文字です。key 以上のキー値またはスロット値を持つ最初のレコードが最初に比較されるレコードになります。keyold および skipold 値を省略すると、比較はデータ・セットの最初のレコードから開始されます。

キーに小文字、ブランク、またはコンマが入っている場合には、キーを引用符で囲みます。キーは、16 進形式でも指定可能です (例えば X'C1C2C3')。

SKIPOLD=skipold
「旧」データ・セットの始めから数えたスキップされる論理レコードの数。デフォルトは 0です。
CMPOLD=cmpold
「旧」データ・セット内の比較されるレコードの数。最大数は 999 999 999 です。ALL を指定するか、このパラメーターを省略すると、残りのすべてのレコードが比較されます。
IGNLEN
処理するレコードの選択時に、File Manager が長さの不一致を無視するかどうかを指定します。
NO
長さの不一致を無視しません。テンプレート中の突き合わせ構造の長さより短いレコードは、処理に選択されません。
YES
長さの不一致を無視するには、このオプションを使用します。
旧テンプレート処理
以下のオプションを使用して、「旧」データ・セットのレコード構造が記述されている「旧」コピーブックまたはテンプレートを指定します。
TOLD=ddname
「旧」データ・セットのレコード構造が記述されているコピーブックまたはテンプレートが入ったデータ・セットの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、TDOLD です。

連結 DD を指定した場合は、メンバー名 (member) を指定する必要があります。

TOLDMEM=member
コピーブックまたはテンプレート・メンバーが DD ステートメントで指定されていない場合に、TOLD パラメーターによって識別されるデータ・セットのコピーブックまたはテンプレート・メンバーの名前。TCOLD パラメーターが指定されている場合、このパラメーターを指定することはできません。
TCOLD=tcold(tcomem)
「旧」データ・セットのレコード構造が記述されている「旧」コピーブックまたはテンプレートの PDS およびメンバー名。
OFFSETOLD
「旧」テンプレートの 01 フィールドの長さ、およびフィールドの開始位置 (01 フィールドはその中で、指定された値に応じて調整される)。
対応するフィールド ID に適用されるオフセット値 (-32760 から 32760 の範囲でなければなりません)。フィールド ID が指定されず、ALL が指定されていない場合は、値が「旧」テンプレートの最初のレベル 01 フィールドに適用されます。
ALL
テンプレートに複数のレコード構造がある場合は、このキーワードによって、対応する value が「旧」テンプレート内の すべてのレベル 01 フィールドに適用されます。
注: ALL の値を指定した後で、個々のレイアウトについてこの値を指定変更することもできます。 それには、後から valuefieldname の組み合わせを指定します。
fieldname
value が適用されるレベル 01 フィールドの名前。デフォルトは、「旧」テンプレート内の最初のレベル 01 フィールドです。
FIELDOLD=(oldfield1,oldfield2,...)
「旧」テンプレートにあるフィールド名 (複数可) で、定様式比較のマッピングを作成するために 使用されます。このキーワードは、FIELDNEW キーワードと連携して使用され、バッチ・ファイル内のマッピングを定義します。括弧は、フィールドを 1 つだけ指定する場合にはオプションで、複数のフィールドを指定する場合には必須です。名前は、所定の順序でマップされ (すなわち、oldfield1newfield1 にマップされるなど)、 デフォルトまたは既存のマッピングは指定変更されます。

FIELDOLD および FIELDNEW は、以下のように、テンプレートにある既存のマッピングと一緒にまたはそれなしで、また CORRESP キーワード設定と一緒にまたはそれなしで使用できます。

1. バッチ・マッピングの動作

この表には 4 つの列があります。見出しでは、最初の見出し「指定」の幅が 3 列にわたっています。その下に副見出し「「新」テンプレートにマッピングは含まれているか?」、「CORRESP=?」、および「FIELDxxx は指定されているか?」があります。4 番目の見出しは「動作」です。表の本体では、最初の列で「いいえ」の幅が 4 行にわたり、「はい」の幅が 4 行にわたっています。2 番目の列では、「NO」の幅が 2 行に、「YES」の幅が 2 行に、「NO」の幅が 2 行に、「YES」の幅が 2 行にわたっています。残りの 2 つの列では、各セルが 1 つの行および 1 つの列を使用しています。

指定 振る舞い
「新」テンプレートにマッピングは含まれているか? CORRESP=? FIELDxxx は指定されているか?
いいえ NO いいえ 対応するフィールドをマップする
はい 指定したフィールドをマップする
YES いいえ 対応するフィールドをマップする
はい 対応するフィールドをマップして、次に指定したフィールドを再マップする
はい NO いいえ TCNEW テンプレートのマッピングを使用する
はい TCNEW テンプレートのマッピングを使用して、次に指定したフィールドを再マップする
YES いいえ 対応するフィールドをマップする
はい 対応するフィールドをマップして、次に指定したフィールドを再マップする
注: 「指定したフィールド」は、FIELDOLD および FIELDNEW 引数に指定したフィールドを指します。

複数の 01 と重複フィールド名の処理

FIELDOLD と FIELDNEW キーワードによって作成されるフィールド・マッピングの指定は、最初に一致したほうが適用されます。例えば、「旧」テンプレートが以下を含んでいるコピーブックからのものである場合、
       01 OLD-TYPE01.
          03 BINARY-X              PIC 999999999 USAGE BINARY.
       01 OLD-TYPE02.
          03 BINARY-1              PIC 999999999 USAGE BINARY.
       01 OLD-TYPE03.
          03 BINARY-1              PIC 999999999 USAGE BINARY.
「新」テンプレートが以下を含んでいるコピーブックからのものである場合、
       01 NEW-TYPE01.
          03 BINARY-2              PIC 999999999 USAGE BINARY.
       01 NEW-TYPE02.
          03 BINARY-2              PIC 999999999 USAGE BINARY.
          05 DUP-FIELD.
          07 BINARY-2              PIC 999999999 USAGE BINARY.
       01 NEW-TYPE03.
          03 BINARY-2              PIC 999999999 USAGE BINARY.
次のマッピングの指定では、
$$FILEM FIELDOLD=BINARY-1,
$$FILEM FIELDNEW=BINARY-2,
03 BINARY-2NEW-TYPE02 フィールドを BINARY-1OLD-TYPE02 フィールドにマップします。これは、03 BINARY-2NEW-TYPE02 フィールドが BINARY-2 という名前で検出される最初の「新」テンプレート・フィールドであるためです。この場合、対応する 01 レベル、OLD-TYPE02 には BINARY-1 という名前のフィールドが含まれています。03 BINARY-2NEW-TYPE01 フィールドは、対応する 01 レベル、OLD-TYPE0103 BINARY-1 フィールドが含まれていないため、マップされません。
ドット修飾を使用することによって、このデフォルトの動作をオーバーライドして、異なるフィールド・マッピングを指定できます。例えば、次のようになります。
$$FILEM FIELDOLD=BINARY-1,
$$FILEM FIELDNEW=DUPFIELD.BINARY-2,
07 BINARY-2NEW-TYPE02 フィールドを BINARY-1OLD-TYPE02 フィールドにマップします。
$$FILEM FIELDOLD=BINARY-1,
$$FILEM FIELDNEW=NEW-TYPE03.BINARY-2,
03 BINARY-2NEW-TYPE03 フィールドを BINARY-1OLD-TYPE03 フィールドにマップします。
注:
  1. これはマッピングだけに影響します。通常のレコード識別プロシージャーをよく理解して、正しい 01 が各レコード比較ごとに有効になるようにこのプロシージャーを使用する必要があります。
  2. 修飾子は、左から右に解決され、フィールドを固有に識別するのに十分な情報のみが与えられる必要があるために、その修飾に存在しないレベルを無視します。
「新規データ・セット」の指定
「新規」データ・セットは、以下のように指定できます。
DDNEW=ddnew
「新規」のデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、DDNEW です。
DSNNEW=dsnnew
「新規」データ・セットの名前、または 新規 HFS ファイルへの絶対パスを定義します。DD ステートメントが指定されている場合は、使用されません。名前に、小括弧で囲んだメンバー名を含めることができます。ここでメンバーを指定する場合は、関連する MEMNEW パラメーターを空にする必要があります。HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。データ・セットについてさらに記述する場合には、以下のものを使用します。
VOLSERNEW=volsernew
非カタログ「新規」データ・セットのボリューム通し番号。
MEMNEW=memnew
PDS ライブラリー内の単一メンバーの名前、またはライブラリー内の 1 つ以上のメンバーを表すメンバー名のパターン。ddname の DD ステートメントにこのパラメーターまたはメンバー名を指定できます。

メンバー名パターンは、メンバー名に有効な任意の文字と 2 つの特殊パターン文字 (アスタリスク (*) およびパーセント記号 (%)) から構成することができます。

* は、任意の数の文字を表します。必要な数のアスタリスクを、メンバー名パターンの任意の場所に使用することができます。例えば、*d* というメンバー名パターンを入力すると、ライブラリー内で、名前に「d」が含まれているすべてのメンバーが処理されます。

% は、単一の文字を意味するプレースホルダー文字です。パーセント記号は、メンバー名パターンの任意の場所に必要な数だけ指定できます。例えば、%%%% というメンバー名パターンを入力すると、ライブラリー内で、名前が 4 文字の長さの全メンバーが処理されます。

MEMNEW (または DSNNEW 内のメンバー) の指定は、MEMOLD (または DSNOLD で使用されているメンバー) に使用されているパラメーターに依存します。MEMOLD (DSNOLD 内のメンバー) で 1 つのメンバーを指定している場合は、MEMNEW (DSNNEW 内のメンバー) でも、1 つのメンバーを指す必要があります。MEMOLD (DSNOLD 内のメンバー) がメンバー名パターンを含んでいる場合は、MEMNEW (DSNNEW 内のメンバー) の指定で同じパターンを使用するか「*」を使用する必要があります。

データ・セットが PDS でない場合、MEMNEW は無視されます。

MQ:manager:queuename
データ・セット名の代わりに MQ キューを指定できます。パラメーターの意味は、以下のとおりです。
managernew
使用される “新しい” MQ マネージャー。総称名を指定した場合、File Manager は一致するマネージャーのリストを表示し、このリストから選択できます。
queuenamenew
使用される “新しい” キュー。総称名を指定した場合、File Manager は一致するキューのリストを表示し、このリストから選択できます。
rt:applid:rname
データ・セット名の代わりに CICS® リソースを指定できます。パラメーターの意味は、以下のとおりです。
rt
リソース・タイプ。有効な値は、以下のとおりです。
FI
CICS® ファイル。
TD
一時データ・キュー用。
TS
一時ストレージ・キュー用。
applid
VTAM® システムの CICS® applid。
rname
リソースの名前。
GENNEW=generation
比較する新しいメンバーの世代を指定します。値 0 は、現在のメンバーを指します。負の値は、相対世代番号を指します。正の値は、絶対世代番号を指します。
ヒント: GENOLD および GENNEW キーワードを使用して、同一データ・セット内の同一メンバーの異なる世代を比較できます。

入力データ・セットがメンバー世代をサポートする PDSE でない場合、GENNEW キーワードは無視されます。

USEIOXNEW
「新規」データ・セットを処理するために、ユーザー I/O 出口を呼び出すかどうかを指定します。
NO
デフォルトです。ユーザー I/O 出口を呼び出しません。
YES
「新規」データ・セットを処理するために、ユーザー I/O 出口を呼び出します。このオプションは、File Manager 用にサイトのカスタマイズを行ったユーザーが、そのサイト・ベースでユーザー I/O 出口を許可した場合にのみ使用できます。
IOXNEW
「新規」データ・セットに使用するユーザー I/O 出口の名前を指定します。出口を記述するために使用できるプログラミング言語に制限はありません。STEPLIB/ISPLLIB 連結またはその拡張機能 (LINKLIST、LPA など) で、File Manager に出口を指定する必要があります。
sysexit
デフォルトです。USEIOXNEW=YES を指定し、ユーザー I/O 出口名を指定しない場合、File Manager はインストール時のカスタマイズ・オプションで提供される出口の名前を使用します。USEIOXNEW が YES に設定され、インストール・デフォルトが指定されていない場合は、IOXNEW=ioxname を指定する必要があります。
注: オンライン・パネルでバッチ処理を選択した場合、生成される JCL ステートメントは「Set System Processing Options (システム処理オプションの設定)」パネルで提供されているデフォルト名を使用します。
ioxname
STEPLIB 連結で File Manager に提供されたデータ・セットの PDS(E) メンバーの名前。
BINRECNEW=binrecnew-len
新規 HFS ファイルの処理に使用されるレコード長を指定します。有効範囲: 1 から 32760。

ファイルはバイナリー・モードで処理されます (ファイルから導出された固定長レコードで、区切り文字は区別されません)。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます (可変長レコードで、境界は区切り文字により判別されます)。

KEYNEW=keynew
「新規」データ・セットの場合に、KSDS レコードのキー、または RRDS レコードのスロット番号。キーの最大長は 30 文字です。key 以上のキー値またはスロット値を持つ最初のレコードが最初に比較されるレコードになります。keynew および skipnew 値を省略すると、比較はデータ・セットの最初のレコードから開始されます。

キーに小文字、ブランク、またはコンマが入っている場合には、キーを引用符で囲みます。キーは、16 進形式でも指定可能です (例えば X'C1C2C3')。

SKIPNEW=skipnew
「新規」データ・セットの始めから数えたスキップされる論理レコードの数。デフォルトは 0です。
CMPNEW=cmpnew
「新規」データ・セットの比較されるレコードの数。最大数は 999 999 999 です。ALL を指定するか、このパラメーターを省略すると、残りのすべてのレコードが比較されます。
新規テンプレート処理
以下のオプションを使用して、「新規」データ・セットのレコード構造が記述されている「新規」コピーブックまたはテンプレートを指定します。
TNEW=ddname
「新規」データ・セットのレコード構造が記述されているコピーブックまたはテンプレート・メンバーが入ったデータ・セットの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは、TDNEW です。

連結 DD を指定した場合は、メンバー名 (member) を指定する必要があります。

TNEWMEM=member
コピーブックまたはテンプレート・メンバーが DD ステートメントで指定されていない場合に、TNEW パラメーターによって識別されるデータ・セットのコピーブックまたはテンプレート・メンバーの名前。TCNEW パラメーターが指定されている場合、このパラメーターを指定することはできません。
TCNEW=tcnew(tcnmem)
「新規」データ・セットのレコード構造が記述されている「新規」コピーブックまたはテンプレートの PDS およびメンバー名。
OFFSETNEW
「新規」テンプレートの 01 フィールドの長さ、およびフィールドの開始位置 (01 フィールドはその中で、指定された値に応じて調整される)。
対応するフィールド ID に適用されるオフセット値 (-32760 から 32760 の範囲でなければなりません)。フィールド ID が指定されず、ALL が指定されていない場合は、値が「新規」テンプレートの最初のレベル 01 フィールドに適用されます。
ALL
テンプレートに複数のレコード構造がある場合は、このキーワードによって、対応する value が「新規」テンプレート内の すべてのレベル 01 フィールドに適用されます。
注: ALL の値を指定した後で、個々のレイアウトについてこの値を指定変更することもできます。 それには、後から valuefieldname の組み合わせを指定します。
fieldname
value が適用されるレベル 01 フィールドの名前。デフォルトは、「新規」テンプレート内の最初のレベル 01 フィールドです。
FIELDNEW=(newfield1,newfield2,...)
「新規」テンプレートにあるフィールド名 (複数可) で、定様式比較のマッピングを作成するために 使用されます。このキーワードは、FIELDOLD キーワードと連携して使用され、バッチ・ファイル内のマッピングを定義します。括弧は、フィールドを 1 つだけ指定する場合にはオプションで、複数のフィールドを指定する場合には必須です。名前は、所定の順序でマップされ (すなわち、oldfield1newfield1 にマップされるなど)、 デフォルトまたは既存のマッピングは指定変更されます。
FIELDOLD および FIELDNEW は、テンプレートにある既存のマッピングと一緒にまたはそれなしで、また CORRESP キーワード設定と一緒にまたはそれなしで使用できます。詳しくは、バッチ・マッピングの動作を参照してください。
Copybook 処理
TCOLD または TCNEW のいずれかにコピーブックを (既存のテンプレートの代わりに) 指定すると、File Manager はこれらの処理オプションを使用してコピーブックをテンプレートにコンパイルします。
LANG
File Manager が、コピーブックの言語を自動的に検出するか、言語を COBOL、PL/I、または HLASM として解釈するかを決定します。
注: FMN0POPT の COMPLANG 設定は、バッチ関数の LANG パラメーターと同等です。
  • COMPLANG が設定されている場合、オンライン・コンパイルおよびバッチ・コンパイルのインストール・デフォルト言語が決まります。
  • COMPLANG が指定されていない場合、COBOL がオンライン・コンパイルのインストール・デフォルトとなり、AUTO がバッチ・コンパイルのデフォルトとなります。
  • COBOL、HLASM、PL/1、AUTO の値が指定されている場合 (Compiler Language Selection パネルまたはバッチ・ジョブの LANG パラメーターで)、デフォルトの言語よりも優先されます。
AUTO
コピーブックの言語が COBOL であるか、PL/I であるかを自動検出し、該当のコンパイラーを起動します。コンパイルの戻りコードが 4 を超えた場合は、もう一方の言語のコンパイラーを起動します。2 番目のコンパイルでも戻りコードが 4 を超えた場合は、最初のコンパイラーを再試行し、コンパイル・エラーを報告します。File Manager が (コンパイル・エラーがあっても) 正常にテンプレートを作成する場合は、そのテンプレートで処理を続行します。
COBOL
COBOL コンパイラーを起動して、コピーブックからテンプレートを作成します。(COBOL のコンパイルでエラーが発生しても、PL/I コンパイラーは起動しません)。
PLI
PL/I コンパイラーを起動して、コピーブックからテンプレートを作成します。(PL/I のコンパイルでエラーが発生しても、COBOL コンパイラーは起動しません)。
HLASM
HLASM コンパイラーを起動して、コピーブックからテンプレートを作成します。
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 コンパイラー・オプション。

これらのコンパイラー・オプションの効果について詳しくは、HLASM V1R6 Programmer's Guide を参照してください。

注: 「旧」および「新規」コピーブックをコンパイルするのに、異なるオプションは指定できません。同じコピーブック・オプションを両方に使用してください。
比較オプション
TYPE=RECORD
レコード比較。
CORRESP=NO
使用したいフィールド・マッピングが、TCNEW メンバーの中にある場合に、このオプションを使用します。TCNEW メンバーがコピーブックであるか、あるいはフィールド・マッピングが提供されていない場合には、File Manager は、CORRESP=YES を指定していたかのように、このオプションを無視し、比較を実行します。
CORRESP=YES
このオプションは、出力フィールドを、対応する名前を付けて入力フィールドにマップするよう、File Manager に指示します。

「新規」テンプレートに既存のマッピングを使用したい場合には、CORRESP=NO を指定します。

SYNCH=ONETOONE
1 対 1 同期
SYNCH=READAHEAD
先読み同期。指定する場合には、以下のオプションを指定できます。
LIMIT=ralim
先読み同期の制限。
LENGTH=ralen
発生する同期の先読み処理中に一致しなければならないレコードの数。
LIST=SUMMARY
要約リスト。
LIST=DELTA
デルタ・リスト。
LIST=MATCHING
突き合わせリスト。
LIST=LONG
長いリスト。
LIST=NONE
リストなし。
リストのオプション
LIST=LONG パラメーターが指定されている場合は、以下のオプションが有効です。
EXCLUDE=exclude_type
指定した比較結果タイプは報告されません。
exclude_type には次の値を指定できます。
INSERTED
挿入レコードを報告書から除外します。
DELETED
削除レコードを報告書から除外します。
CHANGED
変更レコードを報告書から除外します。
MATCHED
一致レコードを報告書から除外します。
LIST キーワードが指定されていない (すなわちデフォルトの SUMMARY となる) 場合、あるいは NONE 以外のものに設定されている場合には、以下のオプションが有効となります。
NUMDIFF=numdiff
「Compare Utility (比較ユーティリティー)」がデータ・セットの処理を停止する前の差異の数。 numdiff の値がゼロの場合は、すべての差異が報告されます。
RCDIFF=(numdiff,return_code)
変更のしきい値が一致したときに、バッチ戻りコードを設定します。パラメーターの意味は、以下のとおりです。
numdiff
戻りコードをトリガーする差異の最小数。 numdiff の値がゼロの場合は必ず、戻りコードがトリガーされます。
return_code
差異の数が検出されたときに設定されるバッチ戻りコードの値。
WIDE=NO
狭いリスト。
WIDE=YES
ワイド・リスト。ワイド・リストは、約 32K バイトの (レコード) データの幅に制限されます。32K より長いレコードを処理する場合、SYSPRINT 出力レコード制限のために、レコード・データおよびオプションの強調表示の変更は 32K バイトのデータを超えると切り捨てられます。全体のレコード長が比較に使用されるため、レコードは長さに関係なく正確に「変更済み」としてマークされます。
HEX=NO
16 進形式なし。
HEX=YES
16 進形式を表示。
注: 印刷処理オプション DUMP は無視され、16 進数の印刷出力が上下形式で行われます。
HILIGHT=NO
変更されたフィールドの強調表示なし。
HILIGHT=YES
変更されたフィールドを強調表示。
注: SYNCH=READAHEAD の場合、このオプションは無効です。これは、先読み同期では、一致レコードと挿入/削除レコードのみ生成できるためです。定義により、変更レコードは生成できません。
SHOWATTR=NO
見出しで属性情報を抑制 (定様式比較の場合にのみ該当)。
SHOWATTR=YES
見出しに属性情報を表示 (定様式比較の場合にのみ該当)。
CHNGDFLD=NO
定様式比較報告書にすべてのフィールドを表示します。
CHNGDFLD=YES
定様式比較報告書に変更フィールドのみを表示します。「Wide listing (ワイド・リスト)」(WIDE=YES) オプションが選択されている場合、レコード・タイプの比較の場合、または SYNCH=READAHEAD の場合、このオプションは無効です。
SLCTDFLD=NO
テンプレート内で選択されたフィールドは、変更フィールドとともに非表示になります。このオプションは、CHNGDFLD=YES も指定されている場合のみ有効です。
SLCTDFLD=YES
テンプレート内で選択されたフィールドが常に表示されます。このオプションは、CHNGDFLD=YES も指定されている場合のみ有効です。
SUPIDFLD=NO
挿入されたレコードおよび削除されたレコードのフィールドが印刷されます。このオプションは、CHNGDFLD=YES も指定されている場合のみ有効です。
SUPIDFLD=YES
挿入されたレコードおよび削除されたレコードのフィールドが抑制されます。このオプションは、CHNGDFLD=YES も指定されている場合のみ有効です。
PACK=UNPACK
ISPF パック・データの検出を可能にします。レコードがパックされている場合は、処理ルーチンまたは印刷に渡す前にそれらをアンパックします。
JUST=NO
「Formatted (定様式)」の「Compare Type (比較タイプ)」オプションが選択されている場合に、数値フィールドの左寄せを行いません。
JUST=YES
「Formatted (定様式)」の「Compare Type (比較タイプ)」オプションが選択されている場合に、数値フィールドの左寄せを行います。
SORT=NO
レコードを比較する前に、古いデータ・セットと新規データ・セットをソートしません。
SORT=YES
レコードを比較する前に、古いデータ・セットと新規データ・セットのレコードをソートします。このオプションは、SYNCH=KEYED または SYNCH=RAKEY オプションが使用されている場合にのみ有効です。レコードは、古いまたは新規のキー・フィールドまたはキーの位置、キーによる同期オプションで指定された長さおよびタイプの値に基づいてソートされます。
旧データ・セットまたは新規データ・セットに以下の特性がある場合、ソート要求は無視されます。
  • RECFM=U
  • VSAMリニアファイル
  • 最大レコード長が32Kを超えるVSAMファイル
  • レコード長が32Kを超えるQSAMスパンファイル
  • テンプレートは、ファイルにセグメント化レコードがあることを示しています
  • PDS または PDSE ファイル
次のいずれかの条件が満たされた場合にも、ソート要求は無視されます。
  • データセットの処理にはI/O出口が使われる
  • 比較には MQ キューが含まれます。
  • 比較にはリモート・ファイルが含まれます。
  • 比較には HSF ファイルが含まれます。
注: データ・セットが DDOLD および DDNEW DSM パラメーターを使用して指定された DD 名に割り振られている場合は、PDS または PDSE ファイルを SORT=YES で使用できます。
INCLUDEMD
このパラメーターは、WebSphere MQ メッセージの記述子に対する処理を決定します。
YES
データが比較されるときに、記述子が接頭部として付加されます。
NO
単にメッセージ・データが比較されます。これは、デフォルトです。

このパラメーターは、入力が MQ キューを記述するときにのみ、適用されます。

PACK=SKIP
ISPF パック・データの有無を検査し、パックされている場合はそのデータ・セットまたはメンバーの処理をスキップします。
比較出力データ・セット
IOUTPUT=ddname
「挿入」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。
IOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、COUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
IOUTDSN=ioutdsn(member)
「挿入」レコードが書き込まれる、出力データ・セットの名前、または出力 HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

IBINREC=binrec_len
挿入される HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
IDISP=MOD
挿入レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
IDISP=OLD
挿入レコードを既存の出力データ・セットに付加します。
DOUTPUT=ddname
「削除」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。
DOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、COUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
DOUTDSN=doutdsn(member)
「削除」レコードが書き込まれる、出力データ・セットの名前、または出力 HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

DBINREC=binrec_len
削除される HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
DDISP=MOD
削除レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
DDISP=OLD
削除レコードを既存の出力データ・セットに付加します。
NCOUTPUT=ddname
新規の「変更」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは FMNCHOUT です。
NCOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、NCOUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
NCOUTDSN=ncoutdsn(member)
新規の「変更」レコードが書き込まれる、出力データ・セットの名前、または出力 HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

NCBINREC=binrec_len
新規変更 HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
NCDISP=MOD
新規の変更レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
NCDISP=OLD
新規の変更レコードを既存の出力データ・セットに付加します。
OCOUTPUT=ddname
新規の「変更」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは FMOCHOUT です。
OCOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、OCOUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
OCOUTDSN=ocoutdsn(member)
古い「変更」レコードが書き込まれる、出力データ・セットの名前、または出力 HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

OCBINREC=binrec_len
新規変更 HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
OCDISP=MOD
古い変更レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
OCDISP=OLD
古い変更レコードを既存の出力データ・セットに付加します。
NMOUTPUT=ddname
新規の「一致」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは FMNMTOUT です。
NMOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、COUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
NMOUTDSN=nmoutdsn(member)
新規の「一致」レコードが書き込まれる、出力データ・セットの名前、または一致した HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

NMBINREC=binrec_len
新たに一致した HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
NMDISP=MOD
新規の一致レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
NMDISP=OLD
新規の一致レコードを既存の出力データ・セットに付加します。
OMOUTPUT=ddname
古い「一致」レコードが書き込まれるデータ・セットまたは HFS ファイルの DD または TSO ALLOC ステートメントに対する参照を定義します。デフォルトは FMOMTOUT です。
OMOUTMEM=member
メンバーが DD ステートメントで指定されていない場合に、COUTPUT パラメーターによって識別されるデータ・セットのメンバーの名前。
OMOUTDSN=omoutdsn(member)
古い「一致」レコードが書き込まれる、出力データ・セットの名前、または一致した HFS ファイルへの絶対パス。名前には、小括弧で囲んだメンバー名を含めることができます。

HFS ファイル (ディレクトリー) への絶対パスは、アポストロフィで囲む必要があります。1 行に収まらない場合は、複数行にわたって分割することができます。

OMBINREC=binrec_len
以前一致した HFS 出力データ・セットの処理に使用するレコード長を指定します。有効な範囲は 1-32760 です。このファイルはバイナリー・モードで処理されます。このパラメーターを指定しないと、ファイルはテキスト・モードで処理されます。
OMDISP=MOD
古い一致レコードを既存の出力データ・セットへ書き込みます。レコードはデータ・セットの先頭から書き込まれます。
OMDISP=OLD
古い一致レコードを既存の出力データ・セットに付加します。
定様式タイプ・オプション
定様式比較で TYPE=FORMATTED を指定する場合には、以下のオプションを使用できます。
IGNORELB=NO
英数字フィールドを比較するときに先行ブランクを考慮します。
IGNORELB=YES
英数字フィールドを比較するときに先行ブランクを無視します。
IGNORETB=NO
英数字フィールドを比較するときに末尾ブランクを考慮します。
IGNORETB=YES
英数字フィールドを比較するときに末尾ブランクを無視します。
MATCHREF=NO
英数字フィールドを比較するときに、先行ブランク (IGNORELB=NO も指定されている場合を除く)、末尾ブランク (IGNORETB=YES も指定されている場合を除く)、および埋め込みブランクを無視します。
MATCHREF=YES
英数字フィールドを比較するときに、先行ブランク、末尾ブランク、および埋め込まれたブランクを考慮します。
注: 同時に「MATCHREF=YES」が指定されている場合には、IGNORELB または IGNORETB の設定は無視されます。
IGNORECASE=NO
英数字フィールドを比較するときに大/小文字の区別を考慮します。
IGNORECASE=YES
英数字フィールドを比較するときに大/小文字の区別を無視します。
キーによる同期オプション
SYNCH=KEYED を指定する場合は、キーによる同期を要求します。

指定する場合には、16 個のキー・セグメントを連結して単一のキーになるように定義できます。キー・セグメントは、「旧」と「新規」のデータ・セットのキーの位置、およびキーの長さとデータ・タイプから構成されています。これらの値は、以下のソースのいずれかまたはこれらのエレメントの組み合わせを使用して作成されます。

  • 組み込みデータ・セット・キー (データ・セットがキー順 (例えば、VSAM KSDS) である場合)。

    データ・セットの 1 つだけがキー順である場合、最初のセグメントの位置と長さの値が使用可能なデータ・セット・キー情報で初期化され、初期化された値に対応するキーワードは必要ではありません。ただし、位置値、およびオプショナルで、キー順でないデータ・セットのデータ・タイプ<を指定する必要があります。データ・タイプを指定しない場合、デフォルトのタイプとして AN が使用されます。

    両方のデータ・セットがキー順である場合、どのキーワードの指定も必要でなく、位置値はデータ・セット・キーで初期化されます。長さの値は、2 つのキーの短いほうの値になります。

    複数セグメントで使用される場合には、これによって最初のセグメントが定義されます。他のセグメント・ソースが組み込みキーをオーバーライド できないようにするため、KEYxxx キー・フィールドの最初の引数をボイド (例えば、KEYLOCOLD=(,keylocold) とする) のままにします。

  • ご使用のテンプレートに保管されているキー・セグメント・シーケンス情報。
  • KEYFLDOLD および KEYFLDNEW キー・フィールド (テンプレートが指定されている場合)。
  • KEYLOCOLDKEYLOCNEWKEYLEN、および (オプショナルに) KEYTYPE キー・フィールド。

ほとんどの場合、これらのソースの 1 つだけを使用してキー・セグメントを定義しますが、それらすべてを混合してキー・セグメントを定義できるため、両方が同じセグメントのデータを指定した場合、KEYLOCOLDKEYLOCNEWKEYLENKEYTYPEKEYLENNEWKEYTYPNEW、および KEYORDKEYFLDOLDKEYFLDNEW をオーバーライドすることに注意が必要です。

16 個までの値をそれぞれのキーワードごとに指定できますが、1 つの値だけを指定する場合には括弧を省略できます。同じ数のキー・セグメントを両方のデータ・セットに定義する必要がありますが、対応するデータ・タイプと長さは一致しなければなりません。その場合、対応する値の各セットがキー・セグメントを定義します。

注:
  1. KEYFLDOLD および KEYFLDNEW を指定できるのは、対応するデータ・セットに テンプレートを指定する場合のみです。
  2. キーワードによって存在が分かるセグメントは完全に指定されなければ なりませんが、下記の KEYTYPE に説明する通り、そのセグメントのデータ・タイプがデフォルトとなる場合を除きます。
KEYTCOLD
「旧」テンプレートに保管されているキー・セグメント情報を使用するかどうかを決めます。

指定されていない場合、デフォルトの動作は、「旧」テンプレートに保管されているキー・セグメント情報が 使用されるのは、以下のすべての条件が満たされた場合のみです。

  • TCOLD=tcold が指定されている。
  • 「旧」テンプレートにキー・セグメント情報が含まれている。
  • 「旧」または 「新規」のデータ・セットのどちらにも他のキーによる同期オプションが 指定されていない。

これらの条件のいずれかが満たされない場合、「旧」テンプレートのキー・セグメント情報は 無視されます。

指定した場合、指定した設定はデフォルトの動作をオーバーライドします。

YES
「旧」テンプレートのキー・セグメント情報は、他の KEY... キーワードが指定されているかどうかに関係なく、ロードされます。指定がある場合、その他の KEY... キーワードは、テンプレートの指定へのオーバーライドとして機能します。
NO
「旧」テンプレートのキー・セグメント情報は、他の KEY... キーワードが指定されているかどうかに関係なく無視されます。
KEYTCNEW
「新規」テンプレートに保管されているキー・セグメント情報を使用するかどうかを決めます。

指定されていない場合、デフォルトの動作は、「新規」テンプレートに保管されているキー・セグメント情報が 使用されるのは、以下のすべての条件が満たされた場合のみです。

  • TCNEW=tcnew が指定されている。
  • 「新規」テンプレートにキー・セグメント情報が含まれている。
  • 「旧」または 「新規」のデータ・セットのどちらにも他のキーによる同期オプションが 指定されていない。

これらの条件のいずれかが満たされない場合、「新規」テンプレートのキー・セグメント情報は 無視されます。

指定した場合、指定した設定はデフォルトの動作をオーバーライドします。

YES
「新規」テンプレートのキー・セグメント情報は、他の KEY... キーワードが指定されているかどうかに関係なく、ロードされます。指定がある場合、その他の KEY... キーワードは、テンプレートの指定へのオーバーライドとして機能します。
NO
「新規」テンプレートのキー・セグメント情報は、他の KEY... キーワードが指定されているかどうかに関係なく無視されます。
KEYFLDOLD=(keyfieldold,...)
キー・セグメントとして使用される「旧」テンプレートのフィールド (または複数の) を指定します。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keyfieldold 値 (または複数の) を示す必要があります。
KEYFLDNEW=(keyfieldnew,...)
キー・セグメントとして使用される「新規」テンプレートのフィールド (または複数の) を指定します。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keyfieldnew 値 (または複数の) を示す必要があります。
KEYLOCOLD=(keylocold,...)
キーによる同期のための「旧」データ・セット内のキー位置。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keylocold 値 (または複数の) を示す必要があります。
KEYLOCNEW=(keylocnew)
キーによる同期のための「新規」データ・セット内のキー位置。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keylocnew 値 (または複数の) を示す必要があります。
KEYLEN=keylen
キーによる同期のためのキー長。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keylen 値を示す必要があります。
KEYTYPE
キー・セグメントのデータ・タイプを定義します。既存のテンプレート・フィールドのデータ・タイプをオーバーライドするために使用できます。他のキー・セグメント・ソースと組み合わせて使用される場合、空の引数を組み込んで、 連結したキーでの keytype 値を示す必要があります。

KEYTYPE はオプショナルです - 対応する KEYTYPE キーワードを 持っていない、KEYLOCxxx/KEYLEN によって定義されるキー・セグメントにはタイプ CHAR が与えられます。

KEYFLDOLD および KEYFLDNEW を使用して定義されるキー・セグメントは、それらが基になっているテンプレート・フィールドのタイプを継承し、予期されるレコード・シーケンスはそれに従うことが想定されています。実際には、符号付き 2 進数およびパック 10 進数フィールド (内部浮動小数点もサポートされている) の場合のみ意味を持つことになります。例えば、2 バイト・フィールドに位置と長さごとのキーを定義した場合には、値 '001C'x は値 '001D'x よりも小さくなります。しかし、パック 10 進数テンプレート・フィールドを使用してそのキーを定義した場合には、'001D'x (-1) は '001C'x (+1) よりも小さくなります。KEYLOCxxxKEYLEN を指定した KEYTYPE を使用することによって、等価の結果を得ることができます。

CHAR
これは、内部 C/AN データ・タイプと等価です。CHAR データ・タイプ・セグメントは、通常の EBCDIC 照合シーケンスを使用して同期化されます。
2 進数
これは、内部 B/BI データ・タイプと等価です。BINARY データ・タイプ・セグメントは、符号付き 2 進整数として同期化されます。これらのセグメントの長さは、2、4 または 8 でなければなりません。
PACKED
これは、内部 P/PD データ・タイプと等価です。PACKED データ・タイプ・セグメントは、符号付きパック 10 進整数として同期化されます。これらのセグメントの長さは、16 以下でなければなりません。
浮動
これは、内部 FP データ・タイプと等価です。FLOAT データ・タイプ・セグメントは、符号付浮動小数点整数として同期化されます。これらのセグメントの長さは、4 または 8 でなければなりません。
ZONED
これは、内部 ZD データ・タイプと等価です。ZONED データ・タイプ・セグメントは、数値フィールドとして同期化されます。これらの長さは、32 以下でなければなりません。
注: キー・セグメントとして選択されるが上記のいずれのデータ・タイプも持たないテンプレート・フィールドは、CHAR として扱われます。特に、これはさまざまなフィールドの実際のデータ長が無視されることを意味します。
KEYLENNEW=keylen
キーによる同期のための 新規 データ・セットのキー長。
これは、長さが KEYLEN キーワードで指定された長さと異なる場合にのみ必要です。このオプションを他のキー・セグメント・ソースと組み合わせて使用する場合、空の引数を組み込んで、連結したキーでの keylennew 値の位置を示す必要があります。
注: 新規キーの長さが旧キーの長さと異なる場合、埋め込みオプションがオンの場合は比較が実行される前に、短いほうのキーは英数字フィールドに 16 進数のゼロまたは埋め込み文字 (通常はブランク) が埋め込まれます。
KEYTYPNEW
キー・セグメントの 新規 データ・セットのデータ・タイプを定義します。

これは、タイプが KEYTYPE キーワードで指定されたタイプと異なる場合にのみ必要です。このオプションを使用して、既存のテンプレート・フィールドのデータ・タイプをオーバーライドできます。このオプションを他のキー・セグメント・ソースと組み合わせて使用する場合、空の引数を組み込んで、連結したキーでの keytypnew 値の位置を示す必要があります。

KEYORD
キー・セグメントの順序を定義します。昇順の場合は「A」を指定します。降順の場合は「D」を指定します。このオプションを他のキー・セグメント・ソースと組み合わせて使用する場合、空の引数を組み込んで、連結したキーでの keyord 値の位置を示す必要があります。デフォルト値は「A」(昇順) です。
KEYMATCH
すべてのキー・フィールドが一致する場合にレコードを突き合わせるには YES を指定します。
KEYDUPOK
キー値の重複に関する一連のエラー・メッセージを非表示にするには、YES を指定します。デフォルトは、NO です。
先読みのキーによる同期オプション
SYNCH=RAKEY を指定する場合、キーによる先読み同期を要求します。このオプションは、レコードの同期化時にレコードのマッチングの代わりにキー・フィールド・マッチングが実行されることを除いて SYNCH=READAHEAD に類似しています。結果として、キー・フィールド・データは一致するがレコード比較では異なるレコードに対する変更を検出できます。したがって、SYNCH=READAHEAD および SYNCH=KEYED の両方のサブオプションが、KEYORD を例外として適用されます。
ロード・モジュール比較オプション
SYNCH=LMOD を指定すると、ロード・モジュール比較を要求することになります。

ロード・モジュール比較には、以下の固有オプションがあります。

CMPLVL
ロード・モジュール比較のレベルを決めます。
LMOD
ロード・モジュール・レベルの情報のみが抽出および比較されます。CSECT 情報 (および CSECT レベルでの差異) は無視されます。この結果、比較の詳細度は低くなります。
CSECT
ロード・モジュールと CSECT の両方のレベルが抽出および比較されます。この結果、詳細な比較が実行されます。
DATEFORM=YYYYDDD
報告する日付 (リンク日付およびコンパイル日付) を YYYY.DDD 形式で表示します。
DATEFORM=YYMMDD
報告する日付 (リンク日付およびコンパイル日付) を YY/MM/DD 形式で表示します。
LMODC
ロード・モジュール・レベルで比較に含める情報を決定します。この基準は、ロード・モジュールのプロパティーと同じです。指定した基準のみが比較および表示されます。以下の各オプションを括弧で囲み、任意の順序で指定できます。
SIZE
ロード・モジュール・サイズが比較されます。
住所
ロード・モジュールのエントリー・ポイント・アドレスが比較されます。
LINKER | BINDER
ロード・モジュールの作成に使用されたリンケージ・エディターまたはバインダーのバージョンが比較されます。LINKER と BINDER を同時には使用できません。
DATE | TIME
ロード・モジュールのリンク (バインド) 日時が比較されます。DATE と TIME は相互に排他的です。
モード
ロード・モジュールの AMODE および RMODE が比較されます。
AC | AUTH
ロード・モジュール許可コードが比較されます。AC と AUTH は相互に排他的です。
ATTR
ロード・モジュールのリンク (バインド) 属性が比較されます。
CSECTC
CSECT レベルで比較に含める情報を決定します。この基準は、CSECT のプロパティーと同じです。指定した基準のみが比較および表示されます。以下の各オプションを括弧で囲み、任意の順序で指定できます。CMPLVL=LMOD を指定すると、これらのパラメーターは無視されます。
SIZE
CSECT のサイズが比較されます。
住所
CSECT のアドレスが比較されます。
COMPILER
CSECT のコンパイルに使用された言語コンパイラーのバージョンが比較されます。
DATE
CSECT のコンパイル日付が比較されます。
モード
CSECT の AMODE および RMODE が比較されます。
IDRZAP | ZAP
AMSPZAP IDR データが比較されます。IDR ZAP データは、CSECT 情報の延長ですが、個別のレコードとしてフォーマット設定されています。ISRZAP と ZAP は相互に排他的です。
テキスト (TEXT)
CSECT の内容が比較されます。CSECT の内容は、CSECT 情報の延長ですが、個別の 32 バイトのレコードとしてフォーマット設定されており、「メモリー・ダンプ」フォーマット (16 進および文字) で表示されます。
注: TEXT を指定すると、リスト・オプションはダンプ・フォーマットの比較に対応するために WIDE=YES に設定されます。
COPT
各 CSECT のコンパイラー・オプションが判別できる場合、これらが比較されます。
テンプレート報告オプション
PBK=NONE
テンプレート・レイアウトおよび基準情報は報告されません。
PBK=LAYOUTS
デフォルトは旧キーの長さです。TYPE=FORMATTED も指定される場合は、テンプレート・レイアウト情報が報告されます。
PBK=CRITERIA
テンプレート基準情報が報告されます。この場合、基準式で参照されたフィールドのみが入った簡潔なレイアウト報告書も生成されます。
PBK=ALL
テンプレート・レイアウトおよび基準情報が報告されます。TYPE=RECORD が指定される場合、基準式で参照されたフィールドのみが入った簡潔なレイアウト報告書が生成されます。TYPE=FORMATTED が指定される場合、完全なレイアウト報告書が生成されます。
MAP=NONE
テンプレート・マッピング情報は報告されません。
MAP=MAPPED
TYPE=FORMATTED も指定される場合は、マップされたテンプレート・フィールドが報告されます。
MAP=UNMAPPED
TYPE=FORMATTED も指定される場合は、非マップ・テンプレート・フィールドが報告されます。
MAP=ALL
TYPE=FORMATTED も指定される場合は、マップされたテンプレート・フィールドと非マップ・テンプレート・フィールドの両方が報告されます。
ARRAY=YES
フィールド情報が報告される場合、すべての配列エレメントのすべてのオカレンスが報告されます。

COBOL OCCURS DEPENDING ON テーブルでは、最大数のオカレンスが報告されます。

PL/1 REFER 配列の場合は、最小数のオカレンスが報告されます。

ARRAY=NO
配列エレメントのオカレンスは報告されません。
FSTATS=NO
フィールド統計報告書は生成されません。
FSTATS=YES
フィールド統計報告書が生成されます。
HEXLOC=YES
フィールド情報が報告される場合、すべてのフィールドの開始位置と終了位置が 16 進オフセットとして報告されます。
HEXLOC=NO
フィールドの開始位置と終了位置は 16 進オフセットとして報告されません。
HEXLEN=YES
フィールド情報が報告される場合、すべてのフィールド長が 16 進数で報告されます。
HEXLEN=NO
フィールド長は 16 進数で報告されません。
//DSM JOB (ACCT),'NAME'
//* COMPARE DATA SETS
//*
//FMBAT    PROC
//FMBAT    EXEC PGM=FILEMGR
//STEPLIB  DD DSN=FMN.SFMNMOD1,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//         PEND
//*
//STPSSEX     EXEC FMBAT
//SYSIN    DD *
$$FILEM VER
$$FILEM DSM TYPE=RECORD,
$$FILEM     SYNCH=ONETOONE,
$$FILEM     LIST=LONG,
$$FILEM     WIDE=YES,
$$FILEM     HILIGHT=YES,
$$FILEM     DSNOLD=FMN.SFMNSAM1(FMNCDATA),
$$FILEM     SKIPOLD=0,
$$FILEM     CMPOLD=20,
$$FILEM     DSNNEW=FMN.SFMNSAM1(FMNCDATA),
$$FILEM     SKIPNEW=20,
$$FILEM     CMPNEW=20
$$FILEM     EOJ
/*
$$FILEM DSCMP TYPE=RECORD,
$$FILEM SYNCH=KEYED,
$$FILEM LIST=LONG,
$$FILEM WIDE=YES,
$$FILEM HILIGHT=YES,
$$FILEM HEX=YES,
$$FILEM DSNOLD=USERID.COMPARE.KSDS1,1
$$FILEM KEYLOCOLD=(,11),2
$$FILEM DSNNEW=USERID.COMPARE.FLAT2,3
$$FILEM TCNEW=USERID.TEMPLATE(FLAT2),4
$$FILEM KEYTCNEW=YES,5
$$FILEM KEYFLDNEW=(,FIELD-3),6
$$FILEM KEYLEN=(,1),7
$$FILEM KEYTYPE=(,CHAR)8
$$FILEM     EOJ

結果のキー・セグメントを次の表に示します。

セグメント番号 「旧」キー位置 「新」キー位置 キー長 キー・タイプ
1 11 12 103 AN4
2 115 126 17 AN8

キー情報のソース

  1. DSNOLD カタログ項目
  2. テンプレート・フィールド FIELD-1
  3. DSNOLD カタログ項目およびテンプレート・フィールド FIELD-1 (整合性がなければならない)
  4. テンプレート・フィールド FIELD-1 (キー・タイプのデフォルトの AN と整合性のある)
  5. KEYLOCOLD
  6. テンプレート・フィールド FIELD-3 (KEYFLDNEW による)
  7. KEYLEN
  8. KEYTYPE
1 DSNOLD には、キー位置 1 および長さ 10 を使用した固有のキーが付いています。
2 KEYLOCOLD には、“Old (旧)” キーの 2 番目のセグメントの位置があります。
3 DSNNEW には固有のキーが付いていません。
4 TCNEW は新規テンプレートを指定します。このテンプレートはキー・セグメント 1 として FIELD-1 (位置 1、長さ 10、タイプ AN) を指定します。
5 KEYTCNEW は、TCNEW キー・セグメント情報のロードを強制します。他の KEY... キーワードが存在するにもかかわらず、テンプレートからの情報と競合するときはいつでもオーバーライドとして機能します。
6 KEYFLDNEW は、“New (新規)” キーの 2 番目のセグメントとして FIELD-3 (位置 12、長さ 2、タイプ BI) を指定します。
7 KEYLEN は、2 番目のキー・セグメントの長さをオーバーライドします。
8 KEYTYPE は、2 番目のキー・セグメントのタイプをオーバーライドします。