ストレージ・ツールキットでの置換変数の使用

このセクションでは、ストレージ・ツールキットでの置換変数の使用法を説明し、その例を記載します。

置換変数を使用して、ボリューム名、データ・セット名、あるいはその他の値との置換を必要とするストレージ・ツールキット・コマンドやバッチ・ジョブの部分を指示することができます。 ストレージ・ツールキットの制限およびヒント に、置換変数の使用に関する参考になる情報があります。

ツールキット・コマンドへの置換変数の設定

ストレージ・ツールキットが生成する多くのアクション要求に、置換変数を組み込むことができます。 以下の推奨手順全体の中の一環として、ステップ 6 で「コマンド」タブ内で、置換変数を定義することができます。
注: 「バッチ・ジョブ作成」ダイアログ・ボックスでは、「コマンド」タブが表示されません。 このダイアログ・ボックスでは、「オプション」タブで置換変数を設定します。
  1. ワークスペースのビューのうちの 1 つで行を右クリックして、ポップアップ・メニューにアクセスします。
  2. 起動するストレージ・ツールキットのコマンドを選択します。 「オプション」タブは、ダイアログ・ボックス内でデフォルトで選択されています。
    注: 「コマンド実行」ダイアログ・ボックスでは、「オプション」タブは表示されません。これは、このダイアログ・ボックスは、フリー・フォームの任意のコマンドおよびパラメーター・ストリングを作成する目的で使用するためです。 このダイアログ・ボックスを使用する場合は、ステップ 6 に進んでください。
  3. オプション」タブ内で、必要に応じて項目を選択し、値を入力します。
  4. コマンド」タブを選択します。 「コマンド」フィールドには、「オプション」タブで選択したオプションが、コマンド内のロー・テキストにどのように表示されるかが示されます。
  5. コマンド」タブで変更を行う前に、表示されるコマンド・パラメーターと構文を詳細に調べて、これらが期待どおりであることを確認してください。 必要であれば、以下のいずれかの方法を使用して、コマンドを変更してください。
    • コマンド」タブで変更を行う前に、「オプション」タブに戻って、選択した項目を変更します。
      注:コマンド」タブで変更を行うと、「オプション」タブが使用不可になり、ここで選択した項目を変更できなくなります。 「オプション」タブで再び作業ができるようにするために、ツールキットのダイアログ・ボックスのインスタンスを新しく開くことができます。 「キャンセル」をクリックして、そのダイアログ・ボックスの現在のインスタンスを閉じ、Tivoli® Enterprise Portalからこのダイアログ・ボックスに再度アクセスしてください。
    • コマンド構文に詳しいユーザーであれば、「コマンド」タブの「コマンド」フィールドに表示されるロー・テキストを編集します。 「コマンド」タブで変更を行った後は、「オプション」タブでさらに変更を加えることはできないことに注意してください。
  6. 置換変数を定義する場合は、「コマンド」タブにアクセスし、「置換変数とその実行時置換値」領域で置換変数を定義します。 多くの場合、置換変数とその実行時置換値の表には、ストレージ・ツールキットでユーザーが選択したアクションおよびリソースに基づいて定義された変数と値が提供されています。
    注: 「バッチ・ジョブ作成」ダイアログ・ボックスでは、「コマンド」タブが表示されません。 このダイアログ・ボックスでは、「オプション」タブで置換変数を設定します。
  7. データの表示」ボタンをクリックして、「データ・ビュー」ダイアログ・ボックスにアクセスし、正しいボリュームやデータ・セットが置換変数の対象となっていることを確認します。

ツールキット内の標準の置換変数

以下に、このツールキットが使用する置換変数に適用される一般的なガイドラインを示します。
  • OMEGAMON® for Storage on z/OS® は、% 記号を使用して SUBnn 名を囲むことにより (例: %SUB01%)、提供する置換変数を識別します。
  • JCL ファイルに記述する変数を作成する場合は、%MY_VAR% の例のような % 記号の規則を使用してください。 この規則により、ストレージ・ツールキットがこれらの変数を検出し、自動的に「バッチ・ジョブ作成」ダイアログ・ボックスにリストすることができます。 この規則に従っていない変数は、このダイアログ・ボックスに自動的にはリストされません。
  • ほかの変数のサブセットとなる可能性のある変数を作成しないでください。 例えば、変数 MY_VARNAME と別の変数 MY_VAR を指定することはできません。
  • ユーザーが作成するコマンド、JCL ファイル、または生成された JCL 内の、置換すべきでないデータと対応する可能性のある変数を作成しないでください。 例えば、次のシナリオでは、置換すべきでない値が置換されます。
    1. ADDR 変数を定義し、その変数に値 01AE を割り当てます。
    2. 次のコマンドで変数を使用します。
      ANALYZE UNITADDRESS(ADDR) SCAN
    3. ADDR 変数の自動置換により、以下のコマンドが生成されます。 生成されたコマンドでは、UNITADDRESS パラメーターが以下のように変更されています。これは意図しない結果となっています。
      ANALYZE UNIT01AEESS(01AE) SCAN
    推奨されない変数名のもう 1 つの例として、DISP があります。このストリングは、このストリングを置換すべきでない JCL DD ステートメント上に記述される可能性があるためです。
  • この製品には、*DSN*ROWNUMBER のような、総称的な属性名が用意されています。

オプション」タブで定義した置換変数のスコープを表示するには、「データの表示」ボタンをクリックしてください。

置換変数を定義したときのコマンドの実行方法

ダイアログ・ボックスの「置換変数とその実行時置換値」領域で、置換変数とそれぞれのマッピングを指定します。 これらの設定に応じて、アクション要求により、コマンドが以下に示すように 1 回以上発行されます。
ワークスペース内で選択した行の数 コマンド」タブで置換変数を
定義したかどうか
コマンドの実行状態
1 はい、またはいいえ 選択した項目に対して 1 回
複数 はい 複数回 (選択した項目ごとに 1 回ずつ)
1 つ以上のグループ はい。 グループ属性が指定されている。 選択された各グループ内のボリュームまたはデータ・セット・リソースごとに 1 回。

置換変数の例

次の表は、ストレージ・ツールキットで発行されるコマンドの一般的な置換変数の例を示しています。 このツールキットのダイアログ・ボックスには、これと同様の 2 列の表が表示されます。
コマンド変数1 属性またはストリング2
%dsname% ENTRYNAME
my-volser VOLUME
%job-name% "USER01A"
%sysout-class% "X"
%rownum% *ROWNUMBER
%user-account% *USERID
  1. 「バッチ・ジョブ作成」ダイアログ・ボックスでバッチ・ジョブ用の置換変数を定義するときには、この列の見出しは「変数」になります。 詳しくは、「コマンド変数」(または「変数」) 列についてを参照してください。
  2. 「属性またはストリング」列で項目を選択する場合は、ロー・テキストを入力するか、またはドロップダウン・メニューを使用できます。 詳しくは、「属性またはストリング」列についてを参照してください。

「コマンド変数」(または「変数」) 列について

置換変数の例に、「コマンド変数」(または「変数」) 列の置換変数の例を示しています。 これらの例では、ユーザー定義の JCL に記述される可能性のある置換変数の名前を示しています。 これらの例は、「コマンド変数」列内の項目についての、次のようなガイドラインと特性を表しています。
  • ストリングは、[a-zA-Z0-9_.%-] の文字集合のうちの最大 64 文字までの文字で構成できます。 メインフレーム・エージェントによってストリングが処理されるときに、ストリングには大/小文字の区別はありません。
  • 置換変数では、アンパーサンド文字 (&) はサポートされません。 そうでないと、JCL 内のほかのアンパーサンドの用途との区別がつかない可能性があります。
  • ほかの置換変数のサブストリングとなる変数名は指定できません。 例えば、my_dsnmy_dsname を置換変数として使用しないでください。
  • ユーザーが作成するコマンド、JCL ファイル、または生成された JCL 内の、置換すべきでないデータと対応する可能性のある変数を作成しないでください。 例えば、DISP は置換変数の名前として推奨されません。このストリングは、このストリングを置換すべきでない JCL DD ステートメント上に記述される可能性があるためです。

「属性またはストリング」列について

置換変数の例に、「属性またはストリング」列の置換変数の例を示しています。 多くの場合、置換変数の値は、ツールキットのアクション要求の発生元となったワークスペース内のデータ列から取得されます。 値を選択する場合は、「属性またはストリング」列のドロップダウン・リストを使用します。 この値は、対応する置換変数の値のソースとして使用されます。

ツールキットは、ストレージ・ツールキットのダイアログ・ボックスを呼び出す前に、ワークスペース内で選択した行で使用可能な項目を検出します。 置換変数の例は、「属性またはストリング」列内の項目についての、次のようなガイドラインと特性を表しています。
  • ENTRYNAME: この例では、ユーザーは変数の値として、リスト・ボックスから表属性 ENTRYNAME を選択しました。
  • USER01A: この例では、ユーザーは、%job-name% 変数に対応するリテラル名 (USER01A) を入力しました。
  • %job-name%、%sysout-class%: この列には、属性名の代わりに、リテラル・テキスト・ストリングを入力できます。 ロー・テキストでは、JCL 内の、基礎となる表に関連していない項目 (%job-name%、%sysout-class%, など) を参照することができます。 ツールキットは、入力された単一引用符または二重引用符で囲まれた値を、表の列の名前ではなく、リテラル・ストリングと見なします。 このストリングが、そのバッチ・ジョブまたはコマンド内で一度だけ使用されます。
  • *ROWNUMBER: この例では、ユーザーは、ドロップダウン・メニューから %rownum% 変数に対応する値 *ROWNUMBER を選択しました。 この設定により、JCL 内で使用する可変の行番号が生成されます。 ツールキットは、1 から、基礎となる表から渡されるデータ行の総数までの範囲の整数を生成します。 例えば、アクション要求を作成または再実行依頼するときに、ワークスペース・ビューから 3 つの行を選択したとします。 この場合、値 1、2、および 3 が生成されます。
  • *USERID: この例では、ユーザーは、ドロップダウン・メニューから %user-account% 変数に対応する値 *USERID を選択しました。 この値には、Tivoli Enterprise Portal で現在アクティブなユーザー・アカウントの名前が一度入力されます。
  • 「バッチ・ジョブ作成」ダイアログでバッチ・ジョブを設定するときには、以下の事柄が当てはまります。
    • ツールキットが、既に存在している区分データ・セットまたは順次データ・セットのメンバーをターゲットとするとき、ツールキットはそのファイルをスキャンして、%name% (name は置換変数の名前) という命名規則に合致するストリングを探します。 ツールキットは、%name% に一致する各変数をダイアログ・ボックスに取り込みます。
    • JCL 内の変数を値で置換する場合に、72 文字を超える行が生成されることがあります。 この場合、アクション要求のこの実行は失敗します。 「結果の要約」ワークスペースに、「無効な JCL」の状況が表示されます。
    • 変数置換を必要とするその他のデータ・セット内の変数を値で置換すると、80 文字より長い行が生成されることがあります。 この場合、アクション要求のこの実行は失敗します。 結果の要約ワークスペースに、状況「無効な JCL」が表示されます。
    • バッチ・ジョブの構成が完了したら、「バッチ・ジョブ作成」ダイアログ・ボックスで「OK」をクリックします。 この時点で、指定した JCL ファイル、およびその JCL 以外の置換変数が含まれている任意のファイルが、 一時ファイルにコピーされます。 これらの一時ファイルは、バッチ・ジョブ JCL を実行依頼するときに使用されます。 他のユーザーが同時に元のファイルを参照している可能性があるため、このツールキットは元のファイルを変更しません。