BTU (バッチによるテンプレートの更新)

目的
このユーティリティーを使用して以下を行います。
  • 1 つ以上のテンプレートの更新。
  • 既存のテンプレートを基にして新規テンプレートを作成します。
使用上の注意
  • コピーブックのメンバー名またはメンバー・マスクを指定して処理するために選択されたテンプレートをフィルターに掛けることにより、そのようなコピーブックを参照するテンプレートのみ更新されるようにすることができます。
関連機能
BTB
バッチによるテンプレートの作成
1. Syntax
(1)
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! MIXED=NO
1 MIXED=YES
1! MIXED=NO
1 MIXED=YES
1 +  RFROMn=operand1 RTOn=operand21
1! COMPMAXRC=4
1 COMPMAXRC=num
注:
  • 1 n= 1 から 5。
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! COMPMAXRC=4
1 COMPMAXRC=num
HLASM options

1! DBCS=NO
1 DBCS=YES
1! NOALIGN=NO
1 NOALIGN=YES
1! COMPMAXRC=4
1 COMPMAXRC=num
INPUT=ddname
これは、有効なテンプレート・データ・セットとなる関連データ・セットを 1 つ以上保持した入力 DD 名を示します。INPUT または DSN パラメーターを指定しない場合は、DD DDIN が入力データ・セットのデフォルト DD 名として使用されます。連結データ・セットの指定が可能です。出力データ・セットが指定されない場合、テンプレートは、生成元のデータ・セット内で更新されます。
DSNIN=dsname
テンプレートがあるデータ・セット名。
MEMBER=member_in
PDS 内の単一メンバーの名前、または PDS 内で処理される 1 つ以上のメンバーを示すメンバー名のパターン。

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

*
任意の数の文字を表します。必要な数のアスタリスクを、メンバー名パターンの任意の場所に使用することができます。例えば、*d* というメンバー名パターンを入力すると、PDS の中で、名前に「d」が含まれているすべてのメンバーが処理されます。
%
単一文字を表すプレースホルダー文字。パーセント記号は、メンバー名パターンの任意の場所に必要な数だけ指定できます。例えば、メンバー名パターンとして %%%% を入力すれば、名前の長さが 4 文字である、PDS 内のすべてのメンバーが処理されます。

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

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

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

COPYBOOK
パターンと一致するコピーブック、またはコピーブックを参照するテンプレートのみが処理のために選択されるように、フィルターに掛けるメンバーの名前またはパターンのリストを指定できます。
member_n
処理されるメンバーの名前。総称名マスクは使用できません。
LIBLIST
選択されたテンプレート内でコピーブック・ライブラリー・リストの置き換えに使用されるデータ・セット名 (12 個まで) のリストを指定できます。
dsn_n
処理されるデータ・セット名の名前。総称名マスクは使用できません。
MEMLIST
メンバー名のリストと、オプションで、関連付けられる出力テンプレート名を指定できます。関連テンプレート名を指定しない場合、File Manager はコピーブック名を使用するか、または MEMOUT マスク (memmask) で識別された名前を使用します。
member_n
処理されるメンバーの名前。総称名マスクは使用できます。
template_n
出力データ・セットにコピーされた後のテンプレート名。指定されない場合、出力テンプレートは名前変更されません。
OUTPUT=ddname
テンプレートが保管または置換されるテンプレート・データ・セットを示した DD カードを指定します。このカードには、PDS、PDSE、または順次データ・セットを指定する必要があります。連結データ・セットはサポートされていません。
DSNOUT=dsname
テンプレートが作成されるデータ・セット名を定義します。このデータ・セットは、PDS、PDSE、または順次データ・セットでなければなりません。このデータ・セットは、以下のようにさらに詳細に記述できます。
(member-out)
DSNOUT=dsname に PDS を指定したときに、このデータ・セット内の特定のメンバーへ出力を送りたい場合は、 出力メンバー名を定義します。
MEMOUT=memmask
入力メンバーの数を指定している場合、出力テンプレートにメンバー名パターンを指定することができます。これによって、テンプレートが作成されたときに、その名前を変更できます。メンバー名パターンは、メンバー名に有効な任意の文字と、アスタリスク (*) およびパーセント記号 (%) の 2 つの特殊パターン文字で構成することができます。
アスタリスク (*)
アスタリスクは、変更がない複数の文字を表すプレースホルダー文字です。マスクに指定するアスタリスクは、1 つのみにしてください。2 つ目以降のアスタリスク文字は、パーセント記号として扱われます。例えば、次のように入力するとします。
ABC*

名前変更後のメンバーはすべて ABC で始まり、その後に、古いメンバー名の残りが続きます。

パーセント記号 (%)
パーセント記号は、変更がない単一文字を表すプレースホルダー文字です。パーセント記号は、メンバー名の任意の場所に必要な数だけ指定できます。例えば、次のように入力するとします。
%%%A*
名前変更後のメンバーの最初の 3 文字は変わらず、4 文字目が文字「A」に置き換えられ、古いメンバー名の残りは変更されません。
REPLACE
出力区分データ・セット内の同名テンプレートを File Manager が置き換えるかどうかを指定します。
NO
出力区分データ・セット内の同名テンプレートを置き換えません。
YES
出力区分データ・セット内の同名テンプレートを置き換えます。
NOUPDATE
File Manager が更新をデータ・セットに書き戻すかどうかを指定します。
NO
更新をデータ・セットに書き戻します。
YES
更新をデータ・セットに書き戻しません。
OVERRIDE
File Manager がパラメーター・リスト内で指定されたコンパイラー・オプションを使用してテンプレート内で検索されたコンパイル・オプションをオーバーライドするかどうかを指定します。
NO
パラメーター・リスト内で指定されたコンパイラー・オプションを使用してテンプレート内で検索されたコンパイル・オプションを上書きしません。
YES
パラメーター・リスト内で指定されたコンパイラー・オプションを使用してテンプレート内で検索されたコンパイル・オプションを上書きします。
PRESERVE
File Manager が、現行バージョンのコピーブックを使用するかどうかを指定します。
NO
File Manager は、最初のバージョンのコピーブックを検索します。
YES
File Manager は、現行バージョンのコピーブックが、以前に検出されたライブラリーにまだ存在し、更新処理が使用しているリストにそのライブラリーがある場合は、そのコピーブックを使用します。

File Manager は、以下のいずれかの条件が当てはまる場合、ライブラリーがリストされる順序で最初のバージョンのコピーブックを検索します。

  • このオプションに NO が指定された
  • コピーブックが、前に検出されたライブラリーにもう存在しない
  • 更新処理が使用しているリストに、そのライブラリーがない
Compiler options (コンパイラー・オプション)
OVERRIDE=YES を指定した場合、ここで示す指定されたコンパイル・オプションによって、テンプレートにあるオプションがオーバーライドされます。
LANG
File Manager が、コピーブックの言語を自動的に検出するか、言語を COBOL、PL/I、または HLASM として解釈するかを決定します。
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 = 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 を参照してください。

COMPMAXRC
コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。
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 のデフォルトを使用します。
COMPMAXRC
コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。

これらのコンパイラー・オプションの効果について詳しくは、IBM VisualAge PL/I for OS/390 Programming Guide を参照してください。

HLASM オプション
次のオプションは、HLASM コピーブックをテンプレートにコンパイルするために使用します。
DBCS=YES
DBCS コンパイラー・オプションを使用します。
DBCS=NO
NODBCS コンパイラー・オプションを使用します。
NOALIGN=YES
NOALIGN コンパイラー・オプションを使用します。
NOALIGN=NO
ALIGN コンパイラー・オプションを使用します。
COMPMAXRC
コピーブックをコンパイルするために、許容できる最大の戻りコードを設定します。指定したレベルを超える戻りコードによって機能は停止します。デフォルトは、4 です。

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

//DDIN   DD DSN=FMNUSER.TEMPLAT1,DISP=SHR
//       DD DSN=FMNUSER.TEMPLAT2,DISP=SHR
//SYSIN DD *
$$FILEM BTU INPUT=DDIN,
$$FILEM MEMLIST=(COPYTST,
$$FILEM          COPY01,
$$FILEM          COPY0102)

報告書 1 データ・セット・リスト (複数の入力データ・セット用のみに作成されます)。

Data set name                                  Lib
---------------------------------------------------
FMNUSER.TEMPLAT1                                 1
FMNUSER.TEMPLAT2                                 2

更新報告書

          Template Update Report

Template  Lib New name              Status
-----------------------------------------------------------------------------
COPYTST     1                       Updated
COPY01      1                       Not replaced
COPY0102    2                       Updated

3 members read 2 Updated 0 Not changed 1 Not replaced  0 Errors
1. バッチの更新状況とアクション
状況 説明 アクション
更新済み テンプレートは正常に更新されました。 None
Not Replaced テンプレートが出力データ・セットに存在し、replace オプションが NO です。 必要に応じて、置換を指定して再実行してください。
置換済み テンプレートが出力データ・セットに存在し、replace オプションが YES で正常に更新されました。 なし。
Compile Error テンプレートに関連付けられたコピーブックをコンパイルできません。 オプション 7.4 を使用して、失敗したテンプレートについてフォアグラウンドで再実行し、生成されるコンパイル・リストを確認してください。
Corrupt Template テンプレートの内部フォーマットが破壊されています。これは、テンプレートが File Manager の外部で変更されたために発生した可能性があります。 これは内部エラーです。テンプレートが変更されていない場合は、そのコピーを取り、IBM® 担当員に連絡してください。
SYSLIB not found syslib テンプレートで参照された syslib が見つかりませんでした。 オプション 7.1 を使用してフォアグラウンドで更新を再実行してください。これにより、変更可能な SYSLIB がリストされます。あるいは、LIBLIST=(dsn1,dsn2...) パラメーターを指定して、コピーブックの現行の場所を示してください。
SYSLIB invalid attrs syslib テンプレートで参照された syslib に、このテンプレートの言語タイプに関する無効な属性があります。 オプション 7.1 または LIBLIST パラメーターを使用して、syslib 参照を変更してください。
Copybook not found name コピーブック名が現行ライブラリーに見つかりません。 7.1 または LIBLIST パラメーターを使用して、参照されるコピーブックを含むデータ・セットを指定してください。
Storage exhausted File Manager が処理中にストレージ不足になりました。 領域サイズを増やしてください。
No copybooks in libraries テンプレートまたはオーバーライドから提供されたライブラリー・リストに、コピーブックがありません。 オプション 7.1 を使用してフォアグラウンドで更新を再実行してください。これにより、変更可能な SYSLIB がリストされます。あるいは、LIBLIST=(dsn1,dsn2...) パラメーターを指定して、コピーブックの現行の場所を示してください。
Not a valid template テンプレートのタイプが、更新処理には無効です。 これは、発生するべきでない内部エラーです。IBM® サポート・センターに連絡してください。
Duplicate name (重複名) 出力テンプレート名は、更新中に他のテンプレートによって既に参照されています。 保管される重複名がないように、パラメーターを訂正してください。
見つかりません 参照されたテンプレート・メンバーが、入力データ・セットに見つかりません。 正しいデータ・セットまたはメンバー名を指すように入力パラメーターを訂正してください。
Save error 更新されたテンプレートを保管できませんでした 通常、スペースの問題です。出力データ・セット (出力データ・セットが提供されなかった場合は入力データ・セット) を確認し、サイズを増やしてください。
Update check successful NOUPDATE=YES および更新の実行が行われます。 なし。
Updating of criteria failed 基準で前に参照されたフィールドが現行バージョンのコピーブックに見つからなかったため、更新は実行されませんでした。 オプション 7.1 および U コマンドを使用して、フォアグラウンドで更新を再実行してください。これにより、コピーブック変更の結果として無効にされた式を訂正できるようになります。