カスタム画面認識の使用

ビジネス・ロジックを使用して、カスタム画面認識を実行できます。ZIETrans Toolkit では、画面カスタマイズに画面認識のオプションが多数用意されています。これには、画面上のフィールド数、ストリングの有無、グローバル変数の使用などがあります。これらのオプションについては、**** MISSING FILE ****で説明されています。しかし、画面カスタマイズ・エディターのオプションでは設定できないような方法で 画面を認識したい場合もあるでしょう。そのような場合は、独自のカスタム画面認識論理を追加できます。
注: ここで説明する情報は、画面カスタマイズだけでなくマクロでの 画面認識にも適用できます。

ZIETrans グローバル変数を使用してカスタム画面認識論理を作成する方法については、グローバル変数を使用したカスタム画面認識を参照してください。

既に ECLCustomRecoListener クラスを拡張してカスタム画面認識論理を作成してある場合は、その論理を ZIETrans内で使用できます。新規カスタム論理を作成する場合は、次の手順に従ってください。
  1. Java™ パースペクティブを開きます。
  2. 「ファイル」>「新規」>「クラス」とクリックします。
  3. ZIETrans プロジェクトのソース・ディレクトリーを参照します。
  4. パッケージとクラスの名前を入力します。
  5. スーパークラスの場合は、「参照」をクリックして、com.ibm.hats.common.customlogic.AbstractCustomScreenRecoListener を見つけます。
  6. 「継承された抽象メソッド」チェック・ボックスを選択します。「終了」をクリックします。これにより、指定したプロジェクトにコード・スケルトンがインポートされます。
  7. isRecognized メソッドに論理を追加します。ブール値が戻されることを確認します。

    public boolean isRecognized(String arg0, IBusinessLogicInformation arg1, ECLPS arg2, ECLScreenDesc arg3)

    このメソッドについて詳しくは、この資料セット () の ZIETrans API の資料を参照してください。

  8. メソッドの作成後、画面認識を更新してメソッドを呼び出す必要があります。「ZIETrans プロジェクト」ビューから、プロジェクトと「画面カスタマイズ」フォルダーを展開します。カスタム論理を追加する画面カスタマイズの名前をダブルクリックします。「ソース」タブをクリックして画面カスタマイズのソース・ビューを開きます。
  9. ソース・ビュー内に、 <description> タグで始まり </description> タグで終わるブロックが表示されます。このブロックには、画面の認識に使用される情報が含まれています。カスタム論理を起動するには、このブロック内に行を追加します。

    <customreco id="customer.class.package.MyReco::settings" invertmatch="false" optional="false"/>

    ここで、customer.class.package.MyReco はご使用のパッケージとクラス名です。クラスに設定値を渡す場合は、クラス名の後に 2 つのコロンで区切って設定値を追加します。設定値はオプションです。クラスは、渡された値をすべて解析する必要があります。設定値が必要ない場合は、2 つのコロンを省略します。

    説明ブロック内のどこに <customreco> タグを置くかを検討します。他のすべての基準が一致した場合だけカスタム論理を起動するには、ブロックの終わりの </description> タグの直前に <customreco> タグを置きます。画面カスタマイズで画面領域と値を比較する場合、説明ブロックには <block> タグと </block> タグで囲まれた、より小さいブロックが含まれ、画面領域と比較する値が定義されます。このブロック内には customreco タグを置かないでください。

    説明ブロックの例を次に示します。<customreco> タグは </description> タグの直前にあり、<block> タグと </block> タグの間にはないことに注意してください。
    <description>
    <oia invertmatch="false" optional="false" status="NOTINHIBITED"/>
    <numfields invertmatch="false" number="61" optional="false"/>
    <numinputfields invertmatch="false" number="16" optional="false"/>
    <block casesense="false" col="2" ecol="14" erow="21" 
    			invertmatch="false" optional="false" row="20">
    <string value="USERID ==="/>
    <string value="PASSWORD ==="/>
    </block>
    <cursor col="16" invertmatch="false" optional="false" row="20"/>
    <customreco id="customer.class.package.MyReco::settings" 
    			invertmatch="false" optional="false"/>
    </description>
  10. ZIETrans プロジェクトをビルドし直すには、ツールバーの「プロジェクト」>「クリーン」をクリックします。
  11. RCP の場合は、ご使用のローカル・テスト環境でアプリケーションを実行して、プロジェクトをテストします。詳しくは、**** MISSING FILE ****を参照してください。