フィールド変数に対する変数更新アクション

変数更新アクションを使用したフィールド変数の更新は、 セッション・ウィンドウ内の 3270 または 5250 フィールド の内容を読み取り、フィールドの内容をストリングとして変数に 格納するために便利な方法です。

フィールド変数は、ストリング変数の一種です。フィールド変数は、 ストリング変数と同様にストリングを格納し、ストリング変数が有効である すべてのコンテキストでフィールド変数を使用できます。ただし、フィールド変数にストリングが格納される方法について、 フィールド変数とストリング変数は異なっています。フィールド変数に格納されるストリングは常に、マクロ・ランタイム が現行セッション・ウィンドウ内の 3270 または 5250 フィールドから 読み取ったストリングです。

変数更新アクションを使用してストリング変数を更新する際には、 「変数更新 (Variable update)」ウィンドウに次の情報を指定します。
  • フィールド変数の名前 (例: $fldTmp$)
  • 位置ストリング (例: '5,11') (位置ストリングは、セッション・ウィンドウの行と列の位置を 示す、コンマで区切られた 2 つの整数からなるストリングです)
マクロ・ランタイムが変数更新アクションを実行すると、 マクロ・ランタイムは次の処理を行います。
  1. 変数がフィールド変数であることを認識する。
  2. フィールド変数の更新に使用する位置ストリングを検索する。
  3. 現行セッション・ウィンドウ内で、位置ストリングに指定された行と列の 位置を検索する。
  4. 現行セッション・ウィンドウ内で、その行と列の位置にある 3270 または 5250 フィールド を検索する。
  5. 先行ブランクと末尾ブランクを含む、3270 または 5250 フィールドの 内容全体を読み取る。
  6. フィールドの内容全体をストリングとしてフィールド変数に格納する。
その後、ストリングが有効であるすべてのコンテキストでフィールド変数を 使用できます。例えば、次のようにフィールド変数を別のストリングと 連結できます。
'The field\'s contents are'+ $fldPrintOption$
例として、次の特性を持つ 3270 または 5250 フィールド がセッション・ウィンドウに含まれているとします。
  • 行 5、列 8 から始まる。
  • 行 5、列 32 で終わる。
  • ストリング 'Print VTOC information' を含む。
次の値を指定して変数更新アクションをセットアップします。
  • 「変数更新」ウィンドウの「名前」フィールドに、作成したばかりのフィールド変数の名前 $fldData$ を入力する。
  • 「値」フィールドに位置ストリング '5,11' を入力する。指定する必要がある行と列の位置は 1 つだけであることと、 その位置はフィールド内にあるどの行と列の位置でもよいことに注意してください。
マクロ・ランタイムがこの変数更新アクションを実行すると、 マクロ・ランタイムはフィールドの内容全体を読み取り、内容を ストリングとして $fldData$ に格納します。これで、フィールド変数 $fldData$ にはストリング 'Print VTOC information' が格納されます。