抽出アクション

抽出アクションは、ホスト端末からデータを抽出し、 オプションでそのデータを変数に格納します。このアクションは非常に有用で、アプリケーション・データの読み取り用にマクロ・オブジェクトが提供する基本的な方法です (ツールキットのプログラミング API の使用に代わるものです)。

名前
抽出名を指定します。

同じ名前の抽出が既に存在する場合は、警告メッセージが表示され、続行すると既存の抽出の設定がオーバーライドされることが通知されます。

領域」セクションを使用して抽出するホスト画面の領域を指定します。

開始行、開始列、終了行、終了列
抽出するホスト画面の領域の行座標と列座標を指定します。マウスを使用してホスト画面の領域をマークすると、これらのフィールドに値が塗りつぶされます。

「抽出形式」セクションを使用して、抽出データの形式を指定します。テキスト平面から抽出されたデータは、選択された抽出形式に基づいて単一ストリングまたはストリングのリストに格納されて返されます。他 (テキスト以外) の平面からの抽出データは、 選択された抽出形式をベースに文字配列の形式で 戻されます。

この領域を 1 つのストリングとして抽出
テキスト平面から抽出する場合、 抽出したテキストを文字が横に並んだ単一のストリングとして 保存することを指定します。このオプションは、統合オブジェクト、マクロ・ハンドラー、グローバル変数、およびマクロ変数でサポートされます。

他 (テキスト以外) の平面からの抽出の場合、抽出したデータを 2 次元の文字配列形式で 単一オブジェクトとしてグローバル変数に保存することを 指定します。このオプションは、グローバル変数でのみサポートされます。

この領域をストリングのリストとして抽出
テキスト平面から抽出する場合、抽出したテキストを ストリングの縦方向のリストとして保存することを指定します。このオプションは、マクロ・ハンドラー、グローバル変数、およびマクロ変数でサポートされます。統合オブジェクトでは、ストリングのリストは 1 つの連続するストリングとして扱われます。

他 (テキスト以外) の平面からの抽出の場合、 2 次元の文字配列として抽出したデータを 個別の 1 次元の配列に分解 (それぞれの配列が抽出された 単一行を表す) し、それぞれの行がグローバル変数内の インデックスに格納されることを指定します。このオプションは、グローバル変数でのみサポートされます。

この領域をテーブルとして抽出
テキスト プレーンから抽出する場合、抽出されたテキストを行と列を含む水平方向と垂直方向の文字列のテーブルとして保存する必要があることを指定します。このオプションは、統合オブジェクト、 マクロ・ハンドラー、およびマクロ変数で サポートされます。グローバル変数の場合、テーブルとして抽出された文字列は、1 つの連続した文字列になります。
注: 他の (非テキスト) プレーンから抽出する場合、この非テキスト データはユーザーに直接表示することを意図していないため、このオプションは無効になります。代わりに、このオプションは、特定のホスト画面の表示方法または 処理方法を識別するのに特別なデータが必要な開発者向けです。

[定義]をクリックしてテーブルを定義します。

テーブル抽出の構成
このページを使用してテーブルの列の形式を設定します。
  • 列名

    このフィールドを使用して、選択した列の見出しを変更します。

  • 列を展開

    列の展開では、列間で複数の文字を移動します。ある列を強調表示した状態にします。「 左方」ボタンにより、その列の各行の最後の文字が強調表示した列の左側に移動し、強調表示した列の各行の最初の文字になります。ボタンは、列の各行の最初の文字を強調表示された列の右側に移動し、強調表示された列の各行の最後の文字になります。

  • 列の削減

    列の削減では、列間で複数の文字を移動します。ある列を強調表示した状態にします。「 左方」ボタンにより、強調表示した列の各行の最初の文字が移動して、強調表示した列の左隣の列の各行の最後の文字になります。「右方」ボタンにより、強調表示した列の各行の最後の文字が移動して、強調表示した列の右隣の列の各行の最初の文字になります。

  • 併合

    このボタンは、2 つの強調表示した列を単一の列にマージするために使用します。強調表示した列の文字列は 1 つの列内で結合されます。

  • 除算

    このボタンは、強調表示した 1 つの列を 2 つの別々の列に分割するために使用します。強調表示された列の文字は、2 つの新規列間で均等に分割されます。文字数が偶数でない場合は、左側の列が右側の列より 1 文字多く含みます。

    注:

    分割」をクリックすると、選択された列が HCL ZIETrans によって分割されます。列に 2 バイト文字 (DBCS) が含まれている場合は、その文字は 2 つの列にまたがって分割されてしまう可能性があります。この場合、分割された文字はどちらの列にも表示されません。抽出アクションの編集中にこのことが発生していると気付いた場合は、「右方」および「左方」ボタンを使用して、列を調整してください。分割された文字が 1 つの列に入ると再度表示されます。

ハンドラー」セクションを使用して、 テキスト平面から抽出されたテキストの処理方法を指定します。
注: 他の (非テキスト) プレーンから抽出する場合、この非テキスト データはユーザーに直接表示することを意図していないため、このオプションは無効になります。代わりに、このオプションは、特定のホスト画面の表示方法または 処理方法を識別するのに特別なデータが必要な開発者向けです。
ハンドラーを表示
HCL ZIETrans Web アプリケーションの場合、抽出された情報をユーザーに表示するための .jsp ファイルを選択できます。デフォルトのマクロ ハンドラが付属しています。ZIETransであり、default.jsp という名前が付けられています。これは、ZIETrans プロジェクトプロジェクト名を展開し、 Web Content > Macro Event Handlersを展開します。独自のハンドラーを作成する場合は、必ず制御をZIETransランタイム。
注: 統合オブジェクトは、このオプションを使用しません。出力ページでは、代わりに、統合オブジェクトから抽出されたデータを取得して表示します。
グローバル変数として保存
グローバル変数の名前は「名前」フィールドに入力できます。または、ドロップダウン・メニューを使用して既存の変数を選択することもできます。[名前]フィールドで既存のグローバル変数を選択した場合は、[詳細設定] をクリックし、次のラジオ ボタンのいずれかを選択して、既存の変数の処理方法を指定します。
  • この新しい値で既存の値を上書き。
  • 特定の索引から開始して既存の値をこの新しい値で上書き。
  • この新しい値を既存の値の末尾に追加。
  • 特定の索引でこの新しい値を既存の値に挿入。
[共有]チェック ボックスを選択して、この変数を共有するかどうかを指定することもできます。

抽出データをグローバル変数として保存することを選択すると、「抽出する平面」設定の「テキスト」オプションが自動的に選択されます

注: 値を抽出し、抽出によって設定されたグローバル変数に割り当て、そのグローバル変数値をプロンプトに使用する予定の場合は、prompall 属性をfalseに設定する必要があります。promptall 属性が true に設定されていると、プロンプトの値が取り出されるまで 抽出アクションは実行されません。このため、プロンプトで使用されるグローバル変数には値がありません。HCL ZIETrans で記録されるマクロは、デフォルトで promptall=true になっています。promptall 属性の詳細については、次を参照してください。promptall 属性 .

統合オブジェクトではグローバル変数に直接抽出しません。代わりに、統合オブジェクトの出力ページでは、実行後の統合オブジェクトからデータを取得して、グローバル変数を設定します。統合オブジェクトからアクセスできるのは、共用グローバル変数のみです。

マクロ変数として保存
抽出データを保存するマクロ変数を指定する場合、このボックスを選択します。このオプションはマクロ変数がマクロに使用可能になっている場合のみ、表示されます。

抽出データをマクロ変数として保存することを選択した場合、[抽出する平面] 設定の [テキスト] オプションが自動的に選択されますマクロ変数に保存できるのは、 テキスト平面からのデータのみです。

変数
抽出データを保存する変数を選択します。ドロップダウン・メニューには、マクロで定義されているすべての変数が取り込まれています。

詳細セクションを使用して、次のオプションを設定します。

1 つの連続領域として抽出
長方形のテキスト・ブロックを取り込む場合は、このボックスをクリアします。詳細については、ホスト端末上の長方形領域のキャプチャーを参照してください 。行から行に折り返すテキストの連続シーケンスを取り込む場合は、このボックスを選択します。詳細については、ホスト端末からのテキスト・シーケンスのキャプチャーを参照してください 。
アンラップ
指定した抽出領域内で始まる任意のフィールドの内容全体を取り込む場合は、このボックスを選択します。詳細については、unwrap 属性を参照してください 。
抽出する平面
データを抽出する平面を選択します。オプションは、 以下にリストされています。デフォルトは、テキストです。
  • テキスト
  • カラー
  • フィールド
  • 拡張フィールド
  • DBCS
  • グリッド
いずれの平面から抽出したデータも、グローバル変数に 保存できます。1 回の「抽出」アクションにつき抽出できるのは、1 つの平面からのデータのみです。マクロ変数に保存できるか、統合オブジェクトで使用できるのは、 テキスト平面からのデータのみです。
注:
  1. ホスト・アクセス・クラス・ライブラリー (HACL) 表示スペース・モデルのさまざまなデータ・プレーンのフォーマットと内容については、次の Web サイトの「ホスト・アクセス・クラス・ライブラリー・プレーン -- フォーマットとコンテンツ」を参照してください。https://www.ibm.com/docs/en/SSS9FA_13.0.0/com.ibm.hod.doc/doc/hacl/DWYL0M88.HTML .
  2. 統合オブジェクトで非テキスト プレーン データを使用する方法の例については、次を参照してください。 .

詳細については、抽出アクション (<extract> エレメント)を参照してください 。

詳細オプション
  • トリム

    トリム 抽出されたテキストから先頭と末尾のスペースを削除します。間隔が不規則なテキストにはトリムを使用します。

  • カスタム・マクロ

    カスタム マクロ オプションがチェックされている場合、抽出変数はカスタム変数と見なされます。これにより、画面抽出が無視され、カスタム アクションを通じてカスタム Java クラスから値が取得されます。

    通常、グローバル変数を使用すると、ユーザーはマクロの再生中にカスタム データを設定できます。ただし、ZIETrans グローバル変数はセッション変数であり、ZIETrans Web 画面からのみアクセスでき、統合オブジェクトや REST API などの拡張機能からはアクセスできないため、このカスタム変数オプションは、任意のカスタム値を出力変数として設定するのに役立ちます。カスタム変数は、統合オブジェクトとその拡張にのみ適用されます。

    注:

    ユーザーは、マクロのカスタム アクションを使用してカスタム変数にデータを割り当てることができます。

例:
次のシナリオでは、カスタム変数 'var1' が値 'custom value' に割り当てられます。

              @Override
              public void execute(MacroCustomActionEvent e) {
                      Macro m=(Macro)arg0.getSource();
                      Vector l=  m.getRuntimeListeners();
                      MacroCustomVarEvent mac=new MacroCustomVarEvent();
              
                      mac.setCustumVarName("var1");
                      mac.setCustomVarValue("custom value");
              
                      for (int i = l.size()-1; i >= 0; i--) {
                          CustomMacroVarListener ml = CustomMacroVarListener)l.elementAt(i);
                          ml.macroCustomVarEvent(mac);
                      }
              }