BTB (バッチによるテンプレートの作成)
- 目的
- PDS のコピーブックから複数のテンプレートをバッチで作成します。
- 使用上の注意
- メンバー名の選択基準でテンプレートを作成するコピーブックを選択できます。
- 関連機能
- BTU
- バッチによるテンプレートの更新
- INPUT=ddname
- これは、有効なコピーブック・データ・セットとなる関連データ・セットを 1 つ以上保持した入力 DD 名を示します。Panvalet または Carma データ・セットが参照される場合は、それらすべてが Panvalet または CARMA データ・セットでなければなりません。混合することはできません。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 進ストリングとして指定することもできます。
- 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 で始まり、その後に、古いメンバー名の残りが続きます。
- パーセント記号 (%)
- パーセント記号は、変更がない単一文字を表すプレースホルダー文字です。パーセント記号は、メンバー名の任意の場所に必要な数だけ指定できます。例えば、次のように入力するとします。
名前変更後のメンバーの最初の 3 文字は変わらず、4 文字目が文字「A」に置き換えられ、古いメンバー名の残りは変更されません。%%%A*
- REPLACE
- 出力区分データ・セット内の同名テンプレートを File Manager が置き換えるかどうかを指定します。
- NO
- 出力区分データ・セット内の同名テンプレートを置き換えません。
- YES
- 出力区分データ・セット内の同名テンプレートを置き換えます。
- 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 = 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 を参照してください。
//DDIN DD DSN=FMNUSER.COBOL2,DISP=SHR
// DD DSN=FMNUSER.COBOL,DISP=SHR
//SYSIN DD *
$$FILEM BTB INPUT=DDIN,
$$FILEM MEMLIST=(DITTST1,
$$FILEM DITTST3,
$$FILEM DITTST7,
$$FILEM XYZTST1),
$$FILEM LANG=COBOL,
$$FILEM COMPMAXRC=08,
$$FILEM RFROM1===:==,
$$FILEM RTO1=====,
$$FILEM REPLACE=YES,
$$FILEM DSNOUT=FMNUSER.TEMPLATE.NEW
以下の出力を生成します (複数の入力データ・セットがある場合)。
Report 1 Data set list
Data set name Lib
---------------------------------------------------
FMNUSER.COBOL2 1
FMNUSER.COBOL 2
Build report
Template Build Report
Copybook Lib Template Status
DITTST1 1 DITTST1 Replaced
DITTST3 1 DITTST3 Replaced
DITTST7 1 DITTST7 Compile error
XYZTST1 2 XYZTST1 Created
4 members read : Template : 1 Created 2 Replaced 1 Errors
「Lib」欄は、複数の入力データ・セットが見つかった場合のみ表示されます。