抽出アクション
抽出アクションは、ホスト端末からデータを抽出し、オプションでそのデータを変数に格納します。このアクションは非常に有用で、アプリケーション・データの読み取り用にマクロ・オブジェクトが提供する基本的な方法です (ツールキットのプログラミング API の使用に代わるものです)。
- 名前
- 抽出名を指定します。
同じ名前の抽出が既に存在する場合は、警告メッセージが表示され、続行すると既存の抽出の設定がオーバーライドされることが通知されます。
「領域」セクションを使用して抽出するホスト画面の領域を指定します。
- 開始行、開始列、終了行、終了列
- 抽出するホスト画面の領域の行座標と列座標を指定します。マウスを使用してホスト画面の領域をマークすると、これらのフィールドに値が塗りつぶされます。
「抽出形式」セクションを使用して、抽出データの形式を指定します。テキスト平面から抽出されたデータは、選択された抽出形式に基づいて単一ストリングまたはストリングのリストに格納されて返されます。他 (テキスト以外) の平面からの抽出データは、 選択された抽出形式をベースに文字配列の形式で 戻されます。
- この領域を 1 つのストリングとして抽出
- テキスト平面から抽出する場合、 抽出したテキストを文字が横に並んだ単一のストリングとして 保存することを指定します。このオプションは、統合オブジェクト、マクロ・ハンドラー、グローバル変数、およびマクロ変数でサポートされます。
他 (テキスト以外) の平面からの抽出の場合、抽出したデータを 2 次元の文字配列形式で 単一オブジェクトとしてグローバル変数に保存することを 指定します。このオプションは、グローバル変数でのみサポートされます。
- この領域をストリングのリストとして抽出
- テキスト平面から抽出する場合、抽出したテキストを ストリングの縦方向のリストとして保存することを指定します。このオプションは、マクロ・ハンドラー、グローバル変数、およびマクロ変数でサポートされます。統合オブジェクトでは、ストリングのリストは 1 つの連続するストリングとして扱われます。
他 (テキスト以外) の平面からの抽出の場合、 2 次元の文字配列として抽出したデータを 個別の 1 次元の配列に分解 (それぞれの配列が抽出された 単一行を表す) し、それぞれの行がグローバル変数内の インデックスに格納されることを指定します。このオプションは、グローバル変数でのみサポートされます。
- この領域をテーブルとして抽出
- テキスト平面から抽出する場合、抽出したテキストを行および列を持つ、横方向および縦方向のストリングのテーブルとして保存することを指定します。このオプションは、統合オブジェクト、 マクロ・ハンドラー、およびマクロ変数でサポートされます。グローバル変数の場合、テーブルとして抽出された文字列は、1 つの連続した文字列になります。 注: 他 (テキスト以外) の平面からの 抽出の場合、このテキスト以外のデータはユーザーへの直接表示向けではないため、 このオプションは使用不可です。代わりに、このオプションは、特定のホスト画面の表示方法または 処理方法を識別するのに特別なデータが必要な開発者向けです。
「定義」をクリックして、テーブルを定義します。
- テーブル抽出の構成
- このページを使用してテーブルの列の形式を設定します。
- Column name (列名)
このフィールドを使用して、選択した列の見出しを変更します。
- 列の展開
列の展開では、列間で複数の文字を移動します。ある列を強調表示した状態にします。「左方」ボタンにより、その列の各行の最後の文字が強調表示した列の左側に移動し、強調表示した列の各行の最初の文字になります。「右方」ボタンにより、その列の各行の最初の文字が強調表示した列の右側に移動し、強調表示した列の各行の最後の文字になります。
- 列の削減
列の削減では、列間で複数の文字を移動します。ある列を強調表示した状態にします。「 左方」ボタンにより、強調表示した列の各行の最初の文字が移動して、強調表示した列の左隣の列の各行の最後の文字になります。「右方」ボタンにより、強調表示した列の各行の最後の文字が移動して、強調表示した列の右隣の列の各行の最初の文字になります。
- マージ
このボタンは、2 つの強調表示した列を単一の列にマージするために使用します。強調表示した列の文字列は 1 つの列内で結合されます。
- 分割
このボタンは、強調表示した 1 つの列を 2 つの別々の列に分割するために使用します。強調表示された列の文字は、2 つの新規列間で均等に分割されます。文字数が偶数でない場合は、左側の列が右側の列より 1 文字多く含みます。
注:「分割」をクリックすると、選択された列が HCL ZIETrans によって分割されます。列に 2 バイト文字 (DBCS) が含まれている場合は、その文字は 2 つの列にまたがって分割されてしまう可能性があります。この場合、分割された文字はどちらの列にも表示されません。抽出アクションの編集中にこのことが発生していると気付いた場合は、「右方」および「左方」ボタンを使用して、列を調整してください。分割された文字が 1 つの列に入ると再度表示されます。
- Column name (列名)
- ハンドラーを表示
- HCL ZIETrans Web アプリケーションの場合、抽出された情報をユーザーに表示するための .jsp ファイルを選択できます。ZIETrans には、default.jsp という名前のデフォルトのマクロ・ハンドラーが組み込まれています。このハンドラーは、「ZIETrans プロジェクト」ビューで、プロジェクト名を展開し、「Web コンテンツ」>「マクロ・イベント・ハンドラー」を展開することにより、見つけることができます。独自のハンドラーを作成する場合は、必ず ZIETrans ランタイムに制御を戻してください。 注: 統合オブジェクトではこのオプションを使用しません。出力ページでは、代わりに、統合オブジェクトから抽出されたデータを取得して表示します。
- グローバル変数として保存
- グローバル変数の名前は「名前」フィールドに入力できます。または、ドロップダウン・メニューを使用して既存の変数を選択することもできます。「名前」フィールドで既存のグローバル変数を選択した場合は、「拡張」をクリックして、次のラジオ・ボタンのいずれかを選択することにより、既存の変数の取り扱い方法を指定します。
- この新しい値で既存の値を上書き。
- 特定の索引から開始して既存の値をこの新しい値で上書き。
- この新しい値を既存の値の末尾に追加。
- 特定の索引でこの新しい値を既存の値に挿入。
抽出データをグローバル変数として保存することを選択すると、「抽出する平面」設定の「テキスト」オプションが自動的に選択されます。
注: 値を抽出して、抽出によって設定されたグローバル変数に割り当て、その グローバル変数の値をプロンプトに使用するには、promptall 属性を false に設定する必要があります。promptall 属性が true に設定されていると、プロンプトの値が取り出されるまで抽出アクションは実行されません。このため、プロンプトで使用されるグローバル変数には値がありません。HCL ZIETrans で記録されるマクロは、デフォルトで promptall=true になっています。promptall 属性について詳しくは、promptall 属性を参照してください。統合オブジェクトではグローバル変数に直接抽出しません。代わりに、統合オブジェクトの出力ページでは、実行後の統合オブジェクトからデータを取得して、グローバル変数を設定します。統合オブジェクトからアクセスできるのは、共用グローバル変数のみです。
- マクロ変数として保存
- 抽出データを保存するマクロ変数を指定する場合、このボックスを選択します。このオプションはマクロ変数がマクロに使用可能になっている場合のみ、表示されます。
抽出データをマクロ変数として保存することを選択すると、「抽出する平面」設定の「テキスト」オプションが自動的に選択されます。マクロ変数に保存できるのは、 テキスト平面からのデータのみです。
- 変数
- 抽出データを保存する変数を選択します。ドロップダウン・メニューには、マクロで定義されているすべての変数が取り込まれています。
「拡張」セクションを使用して以下のオプションを設定します。
- 1 つの連続領域として抽出
- 長方形のテキスト・ブロックを取り込む場合は、このボックスをクリアします。詳しくは、『ホスト端末上の長方形領域のキャプチャー』を参照してください。行から行に折り返すテキストの連続シーケンスを取り込む場合は、このボックスを選択します。詳しくは、『ホスト端末からのテキスト・シーケンスのキャプチャー』を参照してください。
- アンラップ
- 指定した抽出領域内で始まる任意のフィールドの内容全体を取り込む場合は、このボックスを選択します。詳しくは、『unwrap 属性』を参照してください。
- 抽出する平面
- データを抽出する平面を選択します。オプションは、 以下にリストされています。デフォルトは、「テキスト」です。
- テキスト
- 色
- フィールド
- 拡張フィールド
- DBCS
- グリッド
いずれの平面から抽出したデータも、グローバル変数に 保存できます。1 回の「抽出」アクションにつき抽出できるのは、1 つの平面からのデータのみです。マクロ変数に保存できるか、統合オブジェクトで使用できるのは、 テキスト平面からのデータのみです。注:- ホスト・アクセス・クラス・ライブラリー (HACL) 表示スペース・モデル内のさまざまなデータ・プレーンの形式および内容について詳しくは、「ホスト・アクセス・クラス・ライブラリー・プレーン -- 形式および内容」(https://www.ibm.com/docs/en/SSS9FA_13.0.0/com.ibm.hod.doc/doc/hacl/DWYL0M88.HTML) を参照してください。
- 統合オブジェクトで非テキスト・プレーン・データを使用する方法の例については、「」を参照してください。
詳しくは、抽出アクション (<extract> エレメント)を参照してください。