グローバル変数を使用したカスタム画面認識

ZIETrans Toolkit には、次に示すように、グローバル変数を使用した画面認識オプションがいくつか用意されています。
  • グローバル変数が存在することを検証
  • グローバル変数が存在しないことを検証
  • グローバル変数の整数またはストリング値を検証
これらのオプションについて詳しくは、「**** MISSING FILE ****」を参照してください。ZIETrans グローバル変数に基づいて画面認識を実行する場合、「グローバル変数論理」パネル内のオプションが要件に合わなければ、1 つ以上のグローバル変数の値または存在に基づいて独自の論理を追加できます。このアプローチでは、Java™ クラスを作成する必要はありません。代わりに、ZIETrans が提供する GlobalVariableScreenReco クラスを使用します。<customreco> タグで比較を設定値として指定できます。フォーマットは次のいずれかになります。
  • <customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::{variable(name,option,resource, index)}COMPARE{type(name,option,resource, index)}" invertmatch="false" optional="false"/>
  • <customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco:: {variable(name,option,resource, index)}COMPARE{type(value)}" invertmatch="false" optional="false"/>

比較される 2 つの項目それぞれを含む中括弧 {} が使用されます。最初の項目は、name で名前が指定された ZIETrans グローバル変数です。option を使用して、比較で変数の値、長さ、存在を使用することを指定できます。resource および index 設定はオプションです。resource を使用すると、グローバル変数がローカル (これがデフォルトです) か共用かを示すことができます。index を使用すると、索引付きグローバル変数から使用する値を示すことができます。

2 番目の項目は次のいずれかです。
  • 同様のオプションを持つ別の ZIETrans グローバル変数。この場合は、最初のフォーマットが 使用されます。
  • 固定値。この場合は、2 番目のフォーマットが使用されます。
設定で有効な値が表 1 に表示されます。COMPARE 設定の場合、ストリングの比較に有効な値は、EQUAL と NOTEQUAL のみです。
表 1. 設定の有効値
設定 有効値
type
  • variable
  • 整数
  • boolean
  • string
COMPARE
  • EQUAL
  • NOTEQUAL
  • GREATERTHAN
  • GREATERTHANOREQUAL
  • LESS THAN
  • LESSTHANOREQUAL
オプション
  • exists (ブール値)
  • value (ストリング/整数/ブール値)
  • length (整数)
  • object (オブジェクト)
リソース (resource)
  • local
  • shared
index 任意の正の整数または 0

次の例では、2 つのローカル・グローバル変数の値を比較します。

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::
		{variable(name=gv1,option=value,resource=local)}EQUAL
		{variable(name=gv2,option=value,resource=local)}" 
		invertmatch="false" optional="false"/>

gv1gv2 の値が同じである場合、この式は true と評価されます。

次に、長さのオプションについて考えます。索引のないグローバル変数の場合、長さは変数の値の長さになります。索引付きグローバル変数の場合は、索引を指定すると、長さはグローバル変数のその索引の長さになります。索引を指定しないと、長さはグローバル変数内の索引付きエントリーの数になります。

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::
		{variable(name=gv1,option=length,resource=shared)}LESSTHANOREQUAL
		{variable(name=gv2,option=length,index=4)}" invertmatch="false" optional="false"/>

この式は、gv1 の長さと gv2 の 4 番目の索引の長さを比較します。gv1 の長さが gv2 の 4 番目の索引の長さと等しいかそれより小さい場合、この式は true と評価されます。長さは整数値を戻すので、LESSTHANOREQUAL を使用できます。

この例の gv1 に対する resource=shared の使用は、gv1 が共用グローバル変数であることを示しています。もう 1 つのオプションは、デフォルトの resource=local です。これは、グローバル変数がその他のアプリケーションと共有されないことを意味します。

あるグローバル変数を別のグローバル変数と比較する必要はありません。グローバル変数の長さは固定整数と比較できます。グローバル変数の値は別のストリングと比較できます。例:

<customreco id="com.ibm.hats.common.customlogic.GlobalVariableScreenReco::
		{variable(name=gv1,option=value)}EQUAL{string(value=mystring)}" 
		invertmatch="false" optional="false"/>

この式は、gv1 の値を mystring に含まれているストリングと比較します。このストリングは、固定されたストリング、変数の値、またはメソッド呼び出しから戻された値です。通常は、グローバル変数の長さまたは値を固定値と比較するためにカスタム論理を 使用する必要はありません。これらの比較は、「グローバル変数論理 (Global Variable Logic)」パネルを使用して追加できます。