セッション・ウィンドウからのテキスト・シーケンスのキャプチャー

「連続抽出 (Continuous Extract)」オプションが true の場合、 マクロ・ランタイムは、2 組の行と列の値を、テキストの連続シーケンスの 開始位置と終了位置 (これらの位置を範囲に含む) として扱います。 テキストは、開始位置から終了位置に至るまでに必要ならば行間で折り返します。テキストのシーケンスは、最小で 1 文字、最大でアプリケーション・ウィンドウ全体 にすることができます。

マクロ・ランタイムは、次の処理を行います。
  • 結果ストリングを空ストリングに初期化する。
  • テキストの長方形ブロックを最初から最後まで読み取り、 必要な場合は行の最後から次の行の最初まで折り返す。
  • 結果ストリングを指定された変数に格納する。
例えば、セッション・ウィンドウの行 21 と 22 に次のテキストが あるとします (各行は 80 文字)。
........Enter / on the data set list command field for the command prompt pop-up
or ISPF line command............................................................
さらに、マクロ・ランタイム が次の設定値を指定して抽出アクションを実行するとします。
  • 「連続抽出 (Continuous Extract)」は true。
  • 行と列の組は (21, 9) ('Enter' の 'E') と (22, 20) ('command' の 'd')。
  • 抽出名は 'Extract1'。
  • データ・プレーンは TEXT_PLANE。
  • ストリング変数 $strTmp$ が結果ストリングの格納先の変数。

「連続抽出 (Continuous Extract)」オプションが true なので、 マクロ・ランタイムは行と列の組をテキスト・シーケンスの 開始と終了のマーキングとして扱い、開始位置は (21, 9)、 終了位置は (22, 20) とします。

マクロ・ランタイムは、結果ストリングを空ストリングに初期化します。その後マクロ・ランタイムは、テキスト・シーケンスを 最初から最後まで読み取り、行 21 の最後の文字から行 22 の 最初の文字に折り返します。最後に、マクロ・ランタイムは結果ストリング全体を結果変数 $strTmp$ に 格納します。変数 $strTmp$ には、次に示す 92 文字のストリングが格納 されます (次に示すテキストは、本書のページに収めるために行末ハイフン 付けが行われていますが、実際にはハイフンなしの 1 つのストリングを 表します)。
'Enter / on the data set list command field for the com-
mand prompt pop-up or ISPF line command'

これに対し、この例で「連続抽出」オプションを false に設定した場合、$strTmp$ には 24 文字のストリング 'Enter / on tline command' が格納されます。